/* static */ bool UsdMayaTranslatorCamera::ReadToCamera( const UsdGeomCamera& usdCamera, MFnCamera& cameraObject) { UsdMayaJobImportArgs defaultJobArgs = UsdMayaJobImportArgs::CreateFromDictionary( UsdMayaJobImportArgs::GetDefaultDictionary()); UsdMayaPrimReaderArgs args(usdCamera.GetPrim(), defaultJobArgs); return _ReadToCamera(usdCamera, cameraObject, args, nullptr); }
/* static */ bool UsdMayaTranslatorCamera::Read( const UsdGeomCamera& usdCamera, MObject parentNode, const UsdMayaPrimReaderArgs& args, UsdMayaPrimReaderContext* context) { if (!usdCamera) { return false; } const UsdPrim& prim = usdCamera.GetPrim(); const SdfPath primPath = prim.GetPath(); MStatus status; // Create the transform node for the camera. MObject transformObj; if (!UsdMayaTranslatorUtil::CreateTransformNode(prim, parentNode, args, context, &status, &transformObj)) { return false; } // Create the camera shape node. MDagModifier dagMod; MObject cameraObj = dagMod.createNode(_tokens->MayaCameraTypeName.GetText(), transformObj, &status); CHECK_MSTATUS_AND_RETURN(status, false); status = dagMod.doIt(); CHECK_MSTATUS_AND_RETURN(status, false); TF_VERIFY(!cameraObj.isNull()); MFnCamera cameraFn(cameraObj, &status); CHECK_MSTATUS_AND_RETURN(status, false); const std::string cameraShapeName = prim.GetName().GetString() + _tokens->MayaCameraShapeNameSuffix.GetString(); cameraFn.setName(cameraShapeName.c_str(), &status); CHECK_MSTATUS_AND_RETURN(status, false); if (context) { const SdfPath shapePrimPath = primPath.AppendChild(TfToken(cameraShapeName)); context->RegisterNewMayaNode(shapePrimPath.GetString(), cameraObj); } return _ReadToCamera(usdCamera, cameraFn, args, context); }
/* virtual */ UsdPrim MayaCameraWriter::write(const UsdTimeCode &usdTime) { // == Write UsdGeomCamera primSchema = UsdGeomCamera::Define(getUsdStage(), getUsdPath()); TF_AXIOM(primSchema); UsdPrim prim = primSchema.GetPrim(); TF_AXIOM(prim); // Write parent class attrs writeTransformAttrs(usdTime, primSchema); // Write the attrs writeCameraAttrs(usdTime, primSchema); return prim; }
/* static */ bool PxrUsdMayaTranslatorCamera::ReadToCamera( const UsdGeomCamera& usdCamera, MFnCamera& cameraObject) { JobImportArgs defaultJobArgs; PxrUsdMayaPrimReaderArgs args( usdCamera.GetPrim(), defaultJobArgs.shadingMode, defaultJobArgs.defaultMeshScheme, defaultJobArgs.readAnimData, defaultJobArgs.useCustomFrameRange, defaultJobArgs.startTime, defaultJobArgs.endTime); return _ReadToCamera(usdCamera, cameraObject, args, NULL); }