All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdGeomImageable Class Reference

Base class for all prims that may require rendering or visualization of some sort. More...

+ Inheritance diagram for UsdGeomImageable:

Public Member Functions

 UsdGeomImageable (const UsdPrim &prim=UsdPrim())
 Construct a UsdGeomImageable on UsdPrim prim . More...
 
 UsdGeomImageable (const UsdSchemaBase &schemaObj)
 Construct a UsdGeomImageable on the prim held by schemaObj . More...
 
virtual USDGEOM_API ~UsdGeomImageable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetVisibilityAttr () const
 Visibility is meant to be the simplest form of "pruning" visibility that is supported by most DCC apps. More...
 
USDGEOM_API UsdAttribute CreateVisibilityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetVisibilityAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API UsdAttribute GetPurposeAttr () const
 Purpose is a concept we have found useful in our pipeline for classifying geometry into categories that can each be independently included or excluded from traversals of prims on a stage, such as rendering or bounding-box computation traversals. More...
 
USDGEOM_API UsdAttribute CreatePurposeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetPurposeAttr(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
USDGEOM_API UsdRelationship GetProxyPrimRel () const
 The proxyPrim relationship allows us to link a prim whose purpose is "render" to its (single target) purpose="proxy" prim. More...
 
USDGEOM_API UsdRelationship CreateProxyPrimRel () const
 See GetProxyPrimRel(), and also Create vs Get Property Methods for when to use Get vs Create. More...
 
Visibility Authoring Helpers

Convenience API for making an imageable visible or invisible.

USDGEOM_API void MakeVisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 Make the imageable visible if it is invisible at the given time. More...
 
USDGEOM_API void MakeInvisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 Makes the imageable invisible if it is visible at the given time. More...
 
Computed Attribute Helpers

Visbility, Purpose, Bounds (World, Local, and Untransformed), and Transform (LocalToWorld and ParentToWorld) are all qualities of a prim's location in namespace that require non-local data and computation. Computing these efficiently requires a stage-level cache, but when performance is not a concern, it is convenient to query these quantities directly on a prim, so we provide convenience API here for doing so.

USDGEOM_API TfToken ComputeVisibility (UsdTimeCode const &time=UsdTimeCode::Default()) const
 Calculate the effective visibility of this prim, as defined by its most ancestral authored "invisible" opinion, if any. More...
 
USDGEOM_API TfToken ComputeVisibility (const TfToken &parentVisibility, UsdTimeCode const &time=UsdTimeCode::Default()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective visibility of this prim, given the computed visibility of its parent prim at the given time. More...
 
USDGEOM_API TfToken ComputePurpose () const
 Calculate the effective purpose of this prim, as defined by its most ancestral authored non-"default" opinion, if any. More...
 
USDGEOM_API TfToken ComputePurpose (const TfToken &parentPurpose) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective purpose of this prim, given the computed purpose of its parent prim. More...
 
USDGEOM_API UsdPrim ComputeProxyPrim (UsdPrim *renderPrim=NULL) const
 Find the prim whose purpose is proxy that serves as the proxy for this prim, as established by the GetProxyPrimRel(), or an invalid UsdPrim if this prim has no proxy. More...
 
USDGEOM_API bool SetProxyPrim (const UsdPrim &proxy) const
 Convenience function for authoring the renderProxy rel on this prim to target the given proxy prim. More...
 
USDGEOM_API bool SetProxyPrim (const UsdSchemaBase &proxy) const
 
USDGEOM_API GfBBox3d ComputeWorldBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 Compute the bound of this prim in world space, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfBBox3d ComputeLocalBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 Compute the bound of this prim in local space, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfBBox3d ComputeUntransformedBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 Compute the untransformed bound of this prim, at the specified time, and for the specified purposes. More...
 
USDGEOM_API GfMatrix4d ComputeLocalToWorldTransform (UsdTimeCode const &time) const
 Compute the transformation matrix for this prim at the given time, including the transform authored on the Prim itself, if present. More...
 
USDGEOM_API GfMatrix4d ComputeParentToWorldTransform (UsdTimeCode const &time) const
 Compute the transformation matrix for this prim at the given time, NOT including the transform authored on the prim itself. More...
 
- Public Member Functions inherited from UsdTyped
 UsdTyped (const UsdPrim &prim=UsdPrim())
 Construct a UsdTyped on UsdPrim prim . More...
 
 UsdTyped (const UsdSchemaBase &schemaObj)
 Construct a UsdTyped on the prim wrapped by schemaObj . More...
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 Returns whether or not this class corresponds to a concrete instantiable prim type in scene description. More...
 
bool IsTyped () const
 Returns whether or not this class inherits from UsdTyped. More...
 
bool IsAPISchema () const
 Returns whether this is an API schema or not. More...
 
bool IsAppliedAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
bool IsMultipleApplyAPISchema () const
 Returns whether this is an applied API schema or not. More...
 
UsdSchemaType GetSchemaType () const
 
USD_API UsdSchemaBase (const UsdPrim &prim=UsdPrim())
 Construct and store prim as the held prim. More...
 
USD_API UsdSchemaBase (const UsdSchemaBase &otherSchema)
 Construct and store for the same prim held by otherSchema. More...
 
virtual USD_API ~UsdSchemaBase ()
 Destructor. More...
 
USD_API operator bool () const
 Return true if this schema object is compatible with its held prim, false otherwise. More...
 
UsdPrim GetPrim () const
 Return this schema object's held prim. More...
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath(). More...
 
USD_API SdfPrimSpecHandle GetSchemaClassPrimDefinition () const
 Return the prim definition associated with this schema instance if one exists, otherwise return null. More...
 

Static Public Member Functions

static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USDGEOM_API UsdGeomImageable Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdGeomImageable holding the prim adhering to this schema at path on stage. More...
 
- Static Public Member Functions inherited from UsdTyped
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static USD_API UsdTyped Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdTyped holding the prim adhering to this schema at path on stage. More...
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaType schemaType = UsdSchemaType::AbstractTyped
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdTyped
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaType schemaType = UsdSchemaType::AbstractBase
 Compile time constant representing what kind of schema this class is. More...
 

Protected Member Functions

USDGEOM_API UsdSchemaType _GetSchemaType () const override
 Returns the type of schema this class belongs to. More...
 
- Protected Member Functions inherited from UsdTyped
USD_API bool _IsCompatible () const override
 Subclasses may override _IsCompatible to do specific compatibility checking with the given prim, such as type compatibility or value compatibility. More...
 
- Protected Member Functions inherited from UsdSchemaBase
const TfType_GetType () const
 
USD_API UsdAttribute _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const
 

Friends

class UsdSchemaRegistry
 

Primvar Creation and Introspection

USDGEOM_API UsdGeomPrimvar CreatePrimvar (const TfToken &attrName, const SdfValueTypeName &typeName, const TfToken &interpolation=TfToken(), int elementSize=-1) const
 
USDGEOM_API UsdGeomPrimvar GetPrimvar (const TfToken &name) const
 
USDGEOM_API std::vector
< UsdGeomPrimvar
GetPrimvars () const
 
USDGEOM_API std::vector
< UsdGeomPrimvar
GetAuthoredPrimvars () const
 
USDGEOM_API bool HasPrimvar (const TfToken &name) const
 
static USDGEOM_API const
TfTokenVector
GetOrderedPurposeTokens ()
 Returns an ordered list of allowed values of the purpose attribute. More...
 

Detailed Description

Base class for all prims that may require rendering or visualization of some sort.

The primary attributes of Imageable are visibility and purpose, which each provide instructions for what geometry should be included for processing by rendering and other computations.

Deprecated:
Imageable also provides API for accessing primvars, which has been moved to the UsdGeomPrimvarsAPI schema, because primvars can now be applied on non-Imageable prim types. This API is planned to be removed, UsdGeomPrimvarsAPI should be used directly instead.

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdGeomTokens. So to set an attribute to the value "rightHanded", use UsdGeomTokens->rightHanded as the value.

Definition at line 74 of file imageable.h.

Constructor & Destructor Documentation

UsdGeomImageable ( const UsdPrim prim = UsdPrim())
inlineexplicit

Construct a UsdGeomImageable on UsdPrim prim .

Equivalent to UsdGeomImageable::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 86 of file imageable.h.

UsdGeomImageable ( const UsdSchemaBase schemaObj)
inlineexplicit

Construct a UsdGeomImageable on the prim held by schemaObj .

Should be preferred over UsdGeomImageable(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 94 of file imageable.h.

virtual USDGEOM_API ~UsdGeomImageable ( )
virtual

Destructor.

Member Function Documentation

USDGEOM_API GfBBox3d ComputeLocalBound ( UsdTimeCode const &  time,
TfToken const &  purpose1 = TfToken(),
TfToken const &  purpose2 = TfToken(),
TfToken const &  purpose3 = TfToken(),
TfToken const &  purpose4 = TfToken() 
) const

Compute the bound of this prim in local space, at the specified time, and for the specified purposes.

The bound of the prim is computed, including the transform (if any) authored on the node itself.

It is an error to not specify any purposes, which will result in the return of an empty box.

If you need to compute bounds for multiple prims on a stage, it will be much, much more efficient to instantiate a UsdGeomBBoxCache and query it directly; doing so will reuse sub-computations shared by the prims.

USDGEOM_API GfMatrix4d ComputeLocalToWorldTransform ( UsdTimeCode const &  time) const

Compute the transformation matrix for this prim at the given time, including the transform authored on the Prim itself, if present.

If you need to compute the transform for multiple prims on a stage, it will be much, much more efficient to instantiate a UsdGeomXformCache and query it directly; doing so will reuse sub-computations shared by the prims.

USDGEOM_API GfMatrix4d ComputeParentToWorldTransform ( UsdTimeCode const &  time) const

Compute the transformation matrix for this prim at the given time, NOT including the transform authored on the prim itself.

If you need to compute the transform for multiple prims on a stage, it will be much, much more efficient to instantiate a UsdGeomXformCache and query it directly; doing so will reuse sub-computations shared by the prims.

USDGEOM_API UsdPrim ComputeProxyPrim ( UsdPrim renderPrim = NULL) const

Find the prim whose purpose is proxy that serves as the proxy for this prim, as established by the GetProxyPrimRel(), or an invalid UsdPrim if this prim has no proxy.

This method will find the proxy for any prim whose computed purpose (see ComputePurpose()) is render. If provided and a proxy was found, we will set *renderPrim to the root of the render subtree upon which the renderProxy relationship was authored.

If the renderProxy relationship has more than one target, we will issue a warning and return an invalid UsdPrim. If the targeted prim does not have a resolved purpose of proxy, we will warn and return an invalid prim.

This function should be considered a reference implementation for correctness. If called on each prim in the context of a traversal we will perform massive overcomputation, because sibling prims share sub-problems in the query that can be efficiently cached, but are not (cannot be) by this simple implementation. If you have control of your traversal, it will be far more efficient to compute proxy-prims on a stack as you traverse.

Note
Currently the returned prim will not contain any instancing context if it is inside a master - its path will be relative to the master's root. Once UsdPrim is instancing-aware in the core, we can change this method to return a context-aware result.
See Also
SetProxyPrim(), GetProxyPrimRel()
USDGEOM_API TfToken ComputePurpose ( ) const

Calculate the effective purpose of this prim, as defined by its most ancestral authored non-"default" opinion, if any.

If no opinion for purpose is authored on prim or any of its ancestors, its computed purpose is UsdGeomTokens->default_ . Otherwise, its computed purpose is that of its highest ancestor with an authored purpose of something other than UsdGeomTokens->default_

In other words, all of a stage's root prims inherit the purpose UsdGeomTokens->default_ from the pseudoroot, and that value will be inherited by all of their descendants, until a descendant </Some/path/to/nonDefault> contains some other, authored value of purpose . The computed purpose of that prim and all of its descendants will be that prim's authored value, regardless of what putpose opinions its own descendant prims may express.

This function should be considered a reference implementation for correctness. If called on each prim in the context of a traversal we will perform massive overcomputation, because sibling prims share sub-problems in the query that can be efficiently cached, but are not (cannot be) by this simple implementation. If you have control of your traversal, it will be far more efficient to manage purpose, along with visibility, on a stack as you traverse.

See Also
GetPurposeAttr()
USDGEOM_API TfToken ComputePurpose ( const TfToken parentPurpose) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective purpose of this prim, given the computed purpose of its parent prim.

See Also
GetPurposeAttr()
USDGEOM_API GfBBox3d ComputeUntransformedBound ( UsdTimeCode const &  time,
TfToken const &  purpose1 = TfToken(),
TfToken const &  purpose2 = TfToken(),
TfToken const &  purpose3 = TfToken(),
TfToken const &  purpose4 = TfToken() 
) const

Compute the untransformed bound of this prim, at the specified time, and for the specified purposes.

The bound of the prim is computed in its object space, ignoring any transforms authored on or above the prim.

It is an error to not specify any purposes, which will result in the return of an empty box.

If you need to compute bounds for multiple prims on a stage, it will be much, much more efficient to instantiate a UsdGeomBBoxCache and query it directly; doing so will reuse sub-computations shared by the prims.

USDGEOM_API TfToken ComputeVisibility ( UsdTimeCode const &  time = UsdTimeCode::Default()) const

Calculate the effective visibility of this prim, as defined by its most ancestral authored "invisible" opinion, if any.

A prim is considered visible at the current time if none of its Imageable ancestors express an authored "invisible" opinion, which is what leads to the "simple pruning" behavior described in GetVisibilityAttr().

This function should be considered a reference implementation for correctness. If called on each prim in the context of a traversal we will perform massive overcomputation, because sibling prims share sub-problems in the query that can be efficiently cached, but are not (cannot be) by this simple implementation. If you have control of your traversal, it will be far more efficient to manage visibility on a stack as you traverse.

See Also
GetVisibilityAttr()
USDGEOM_API TfToken ComputeVisibility ( const TfToken parentVisibility,
UsdTimeCode const &  time = UsdTimeCode::Default() 
) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Calculates the effective visibility of this prim, given the computed visibility of its parent prim at the given time.

See Also
GetVisibilityAttr()
USDGEOM_API GfBBox3d ComputeWorldBound ( UsdTimeCode const &  time,
TfToken const &  purpose1 = TfToken(),
TfToken const &  purpose2 = TfToken(),
TfToken const &  purpose3 = TfToken(),
TfToken const &  purpose4 = TfToken() 
) const

Compute the bound of this prim in world space, at the specified time, and for the specified purposes.

The bound of the prim is computed, including the transform (if any) authored on the node itself, and then transformed to world space.

It is an error to not specify any purposes, which will result in the return of an empty box.

If you need to compute bounds for multiple prims on a stage, it will be much, much more efficient to instantiate a UsdGeomBBoxCache and query it directly; doing so will reuse sub-computations shared by the prims.

USDGEOM_API UsdGeomPrimvar CreatePrimvar ( const TfToken attrName,
const SdfValueTypeName typeName,
const TfToken interpolation = TfToken(),
int  elementSize = -1 
) const
USDGEOM_API UsdRelationship CreateProxyPrimRel ( ) const

See GetProxyPrimRel(), and also Create vs Get Property Methods for when to use Get vs Create.

USDGEOM_API UsdAttribute CreatePurposeAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetPurposeAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDGEOM_API UsdAttribute CreateVisibilityAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetVisibilityAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

static USDGEOM_API UsdGeomImageable Get ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Return a UsdGeomImageable holding the prim adhering to this schema at path on stage.

If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

* UsdGeomImageable(stage->GetPrimAtPath(path));
*
USDGEOM_API std::vector<UsdGeomPrimvar> GetAuthoredPrimvars ( ) const
static USDGEOM_API const TfTokenVector& GetOrderedPurposeTokens ( )
static

Returns an ordered list of allowed values of the purpose attribute.

The ordering is important because it defines the protocol between UsdGeomModelAPI and UsdGeomBBoxCache for caching and retrieving extents hints by purpose.

The order is: [default, render, proxy, guide]

See

See Also
UsdGeomModelAPI::GetExtentsHint().
GetOrderedPurposeTokens()
USDGEOM_API UsdGeomPrimvar GetPrimvar ( const TfToken name) const
USDGEOM_API std::vector<UsdGeomPrimvar> GetPrimvars ( ) const
USDGEOM_API UsdRelationship GetProxyPrimRel ( ) const

The proxyPrim relationship allows us to link a prim whose purpose is "render" to its (single target) purpose="proxy" prim.

This is entirely optional, but can be useful in several scenarios:

  • In a pipeline that does pruning (for complexity management) by deactivating prims composed from asset references, when we deactivate a purpose="render" prim, we will be able to discover and additionally deactivate its associated purpose="proxy" prim, so that preview renders reflect the pruning accurately.
  • DCC importers may be able to make more aggressive optimizations for interactive processing and display if they can discover the proxy for a given render prim.
  • With a little more work, a Hydra-based application will be able to map a picked proxy prim back to its render geometry for selection.
Note
It is only valid to author the proxyPrim relationship on prims whose purpose is "render".
USDGEOM_API UsdAttribute GetPurposeAttr ( ) const

Purpose is a concept we have found useful in our pipeline for classifying geometry into categories that can each be independently included or excluded from traversals of prims on a stage, such as rendering or bounding-box computation traversals.

The fallback purpose, default indicates that a prim has "no special purpose" and should generally be included in all traversals. Subtrees rooted at a prim with purpose render should generally only be included when performing a "final quality" render. Subtrees rooted at a prim with purpose proxy should generally only be included when performing a lightweight proxy render (such as openGL). Finally, subtrees rooted at a prim with purpose guide should generally only be included when an interactive application has been explicitly asked to "show guides".

In the previous paragraph, when we say "subtrees rooted at a prim", we mean the most ancestral or tallest subtree that has an authored, non-default opinion. If the purpose of </RootPrim> is set to "render", then the effective purpose of </RootPrim/ChildPrim> will be "render" even if that prim has a different authored value for purpose. See ComputePurpose() for details of how purpose inherits down namespace.

As demonstrated in UsdGeomBBoxCache, a traverser should be ready to accept combinations of included purposes as an input.

Purpose render can be useful in creating "light blocker" geometry for raytracing interior scenes. Purposes render and proxy can be used together to partition a complicated model into a lightweight proxy representation for interactive use, and a fully realized, potentially quite heavy, representation for rendering. One can use UsdVariantSets to create proxy representations, but doing so requires that we recompose parts of the UsdStage in order to change to a different runtime level of detail, and that does not interact well with the needs of multithreaded rendering. Purpose provides us with a better tool for dynamic, interactive complexity management.


C++ Type: TfToken
Usd Type: SdfValueTypeNames->Token
Variability: SdfVariabilityUniform
Fallback Value: default
Allowed Values: [default, render, proxy, guide]

static USDGEOM_API const TfTokenVector& GetSchemaAttributeNames ( bool  includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

USDGEOM_API UsdAttribute GetVisibilityAttr ( ) const

Visibility is meant to be the simplest form of "pruning" visibility that is supported by most DCC apps.

Visibility is animatable, allowing a sub-tree of geometry to be present for some segment of a shot, and absent from others; unlike the action of deactivating geometry prims, invisible geometry is still available for inspection, for positioning, for defining volumes, etc.


C++ Type: TfToken
Usd Type: SdfValueTypeNames->Token
Variability: SdfVariabilityVarying
Fallback Value: inherited
Allowed Values: [inherited, invisible]

USDGEOM_API bool HasPrimvar ( const TfToken name) const
USDGEOM_API void MakeInvisible ( const UsdTimeCode time = UsdTimeCode::Default()) const

Makes the imageable invisible if it is visible at the given time.

Note
When visibility is animated, this only works when it is invoked sequentially at increasing time samples. If visibility is already authored and animated in the scene, calling MakeVisible() at an arbitrary (in-between) frame isn't guaranteed to work.
Be sure to set the edit target to the layer containing the strongest visibility opinion or to a stronger layer.
See Also
MakeVisible()
ComputeVisibility()
USDGEOM_API void MakeVisible ( const UsdTimeCode time = UsdTimeCode::Default()) const

Make the imageable visible if it is invisible at the given time.

Since visibility is pruning, this may need to override some ancestor's visibility and all-but-one of the ancestor's children's visibility, for all the ancestors of this prim up to the highest ancestor that is explicitly invisible, to preserve the visibility state.

If MakeVisible() (or MakeInvisible()) is going to be applied to all the prims on a stage, ancestors must be processed prior to descendants to get the correct behavior.

Note
When visibility is animated, this only works when it is invoked sequentially at increasing time samples. If visibility is already authored and animated in the scene, calling MakeVisible() at an arbitrary (in-between) frame isn't guaranteed to work.
This will only work properly if all ancestor prims of the imageable are defined, as the imageable schema is only valid on defined prims.
Be sure to set the edit target to the layer containing the strongest visibility opinion or to a stronger layer.
See Also
MakeInvisible()
ComputeVisibility()
USDGEOM_API bool SetProxyPrim ( const UsdPrim proxy) const

Convenience function for authoring the renderProxy rel on this prim to target the given proxy prim.

To facilitate authoring on sparse or unloaded stages, we do not perform any validation of this prim's purpose or the type or purpoes of the specified prim.

See Also
ComputeProxyPrim(), GetProxyPrimRel()
USDGEOM_API bool SetProxyPrim ( const UsdSchemaBase proxy) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Member Data Documentation

const UsdSchemaType schemaType = UsdSchemaType::AbstractTyped
static

Compile time constant representing what kind of schema this class is.

See Also
UsdSchemaType

Definition at line 80 of file imageable.h.


The documentation for this class was generated from the following file: