Message 1 of 2
Get camera matrix from an existing camera

Not applicable
01-31-2008
09:00 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I am trying to get the camera1.matrix attribute from an existing camera in a scene.
I thought this would do it (although it seems like a ridiculous amount of code to get that), but it just keeps giving me back an identity matrix (I'm assuming the default return?). Anything blatantly wrong here?
MFnDagNode dagNodCam;
args.get(1,strCamera);
MObject CamObjectParent, CamObjectChild;
MSelectionList activeListCam;
activeListCam.add(strCamera);
MFnCamera fnCamera;
MItSelectionList iterCam(activeListCam);
iterCam.getDependNode(CamObjectParent);
dagNodCam.setObject(CamObjectParent);
CamObjectChild = dagNodCam.child(0);
MDagPath pathToCamera;
MDagPath::getAPathTo(CamObjectChild, pathToCamera);
fnCamera.setObject(pathToCamera);
MMatrix CameraMatrix = fnCamera.transformationMatrix();
MObject MatrixObject = fnCamera.attribute( "matrix" );
MFnMatrixData worldMatrixData(MatrixObject);
MMatrix worldMatrix = worldMatrixData.matrix();
fout_Info << worldMatrix << endl;
Thanks!
David
I thought this would do it (although it seems like a ridiculous amount of code to get that), but it just keeps giving me back an identity matrix (I'm assuming the default return?). Anything blatantly wrong here?
MFnDagNode dagNodCam;
args.get(1,strCamera);
MObject CamObjectParent, CamObjectChild;
MSelectionList activeListCam;
activeListCam.add(strCamera);
MFnCamera fnCamera;
MItSelectionList iterCam(activeListCam);
iterCam.getDependNode(CamObjectParent);
dagNodCam.setObject(CamObjectParent);
CamObjectChild = dagNodCam.child(0);
MDagPath pathToCamera;
MDagPath::getAPathTo(CamObjectChild, pathToCamera);
fnCamera.setObject(pathToCamera);
MMatrix CameraMatrix = fnCamera.transformationMatrix();
MObject MatrixObject = fnCamera.attribute( "matrix" );
MFnMatrixData worldMatrixData(MatrixObject);
MMatrix worldMatrix = worldMatrixData.matrix();
fout_Info << worldMatrix << endl;
Thanks!
David