本文整理汇总了C++中UsdStagePtr::GetPrimAtPath方法的典型用法代码示例。如果您正苦于以下问题:C++ UsdStagePtr::GetPrimAtPath方法的具体用法?C++ UsdStagePtr::GetPrimAtPath怎么用?C++ UsdStagePtr::GetPrimAtPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UsdStagePtr
的用法示例。
在下文中一共展示了UsdStagePtr::GetPrimAtPath方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bool
bool GusdXformWrapper::
initUsdPrim(const UsdStagePtr& stage,
const SdfPath& path,
bool asOverride)
{
bool newPrim = true;
if( asOverride ) {
UsdPrim existing = stage->GetPrimAtPath( path );
if( existing ) {
// Note that we are creating a Xformable rather than a Xform.
// If we are writing an overlay and the ROP sees a geometry packed prim,
// we want to write just the xform. In that case we can use a xform
// wrapper to write the xform on any prim type.
m_usdXformForWrite = UsdGeomXformable(stage->OverridePrim( path ));
newPrim = false;
}
else {
m_usdXformForWrite = UsdGeomXform::Define( stage, path );
// Make sure our ancestors have proper types.
UsdPrim p = m_usdXformForWrite.GetPrim().GetParent();
while( p && p.GetTypeName().IsEmpty() ) {
UsdGeomXform::Define( stage, p.GetPath() );
p = p.GetParent();
}
}
}
else {
m_usdXformForWrite = UsdGeomXform::Define( stage, path );
}
if( !m_usdXformForWrite || !m_usdXformForWrite.GetPrim().IsValid() ) {
TF_WARN( "Unable to create %s xform '%s'.", newPrim ? "new" : "override", path.GetText() );
}
return bool(m_usdXformForWrite);
}
示例2: bool
bool GusdScopeWrapper::
initUsdPrim(const UsdStagePtr& stage,
const SdfPath& path,
bool asOverride)
{
bool newPrim = true;
if( asOverride ) {
UsdPrim existing = stage->GetPrimAtPath( path );
if( existing ) {
// Note that we are creating a Xformable rather than a Xform.
// If we are writing an overlay and the ROP sees a geometry packed prim,
// we want to write just the xform. In that case we can use a xform
// wrapper to write the xform on any prim type.
m_usdScopeForWrite = UsdGeomScope(stage->OverridePrim( path ));
newPrim = false;
}
else {
m_usdScopeForWrite = UsdGeomScope::Define( stage, path );
}
}
else {
m_usdScopeForWrite = UsdGeomScope::Define( stage, path );
}
if( !m_usdScopeForWrite || !m_usdScopeForWrite.GetPrim().IsValid() ) {
TF_WARN( "Unable to create %s scope '%s'.", newPrim ? "new" : "override", path.GetText() );
}
return bool(m_usdScopeForWrite);
}
示例3: UsdSchemaExamplesSimple
/* static */
UsdSchemaExamplesSimple
UsdSchemaExamplesSimple::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (not stage) {
TF_CODING_ERROR("Invalid stage");
return UsdSchemaExamplesSimple();
}
return UsdSchemaExamplesSimple(stage->GetPrimAtPath(path));
}
示例4: UsdContrivedDerived
/* static */
UsdContrivedDerived
UsdContrivedDerived::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdContrivedDerived();
}
return UsdContrivedDerived(stage->GetPrimAtPath(path));
}
示例5: UsdSkelRoot
/* static */
UsdSkelRoot
UsdSkelRoot::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdSkelRoot();
}
return UsdSkelRoot(stage->GetPrimAtPath(path));
}
示例6: UsdShadeShader
/* static */
UsdShadeShader
UsdShadeShader::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdShadeShader();
}
return UsdShadeShader(stage->GetPrimAtPath(path));
}
示例7: UsdRiLightPortalAPI
/* static */
UsdRiLightPortalAPI
UsdRiLightPortalAPI::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdRiLightPortalAPI();
}
return UsdRiLightPortalAPI(stage->GetPrimAtPath(path));
}
示例8: UsdGeomXformable
/* static */
UsdGeomXformable
UsdGeomXformable::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (not stage) {
TF_CODING_ERROR("Invalid stage");
return UsdGeomXformable();
}
return UsdGeomXformable(stage->GetPrimAtPath(path));
}
示例9: UsdGeomPointBased
/* static */
UsdGeomPointBased
UsdGeomPointBased::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (not stage) {
TF_CODING_ERROR("Invalid stage");
return UsdGeomPointBased();
}
return UsdGeomPointBased(stage->GetPrimAtPath(path));
}
示例10: UsdContrivedEmptyMultipleApplyAPI
/* static */
UsdContrivedEmptyMultipleApplyAPI
UsdContrivedEmptyMultipleApplyAPI::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdContrivedEmptyMultipleApplyAPI();
}
return UsdContrivedEmptyMultipleApplyAPI(stage->GetPrimAtPath(path));
}
示例11: UsdGeomSphere
/* static */
UsdGeomSphere
UsdGeomSphere::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdGeomSphere();
}
return UsdGeomSphere(stage->GetPrimAtPath(path));
}
示例12: UsdGeomNurbsCurves
/* static */
UsdGeomNurbsCurves
UsdGeomNurbsCurves::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdGeomNurbsCurves();
}
return UsdGeomNurbsCurves(stage->GetPrimAtPath(path));
}
示例13: UsdHydraPrimvar
/* static */
UsdHydraPrimvar
UsdHydraPrimvar::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (not stage) {
TF_CODING_ERROR("Invalid stage");
return UsdHydraPrimvar();
}
return UsdHydraPrimvar(stage->GetPrimAtPath(path));
}
示例14: UsdUISceneGraphPrimAPI
/* static */
UsdUISceneGraphPrimAPI
UsdUISceneGraphPrimAPI::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdUISceneGraphPrimAPI();
}
return UsdUISceneGraphPrimAPI(stage->GetPrimAtPath(path));
}
示例15: UsdGeomXformCommonAPI
/* static */
UsdGeomXformCommonAPI
UsdGeomXformCommonAPI::Get(const UsdStagePtr &stage, const SdfPath &path)
{
if (!stage) {
TF_CODING_ERROR("Invalid stage");
return UsdGeomXformCommonAPI();
}
UsdGeomXformable xformable(stage->GetPrimAtPath(path));
return UsdGeomXformCommonAPI(xformable);
}