FnUsdAbstractionLib 0.6.0
|
Public Member Functions | |
XformablePrim (const Prim &prim) | |
bool | validate () override |
Attribute | createXformOpOrderAttr (const Value &defaultValue=Value()) |
Attribute | getXformOpOrderAttr () const |
void | setXformOpOrder (const TokenArray &value, fdk::TimeValue time=fdk::defaultTimeValue()) |
TokenArray | getXformOpOrder (fdk::TimeValue time=fdk::defaultTimeValue()) const |
fdk::Mat4d | getLocalXform (const fdk::TimeValue &time=fdk::defaultTimeValue()) const |
Retrieves the local transform of this Prim. | |
fdk::Mat4d | getConcatenatedXform (const fdk::TimeValue &time=fdk::defaultTimeValue()) const |
Retrieves the concatenated transform at this Prim (includes parents.) | |
bool | getTimeSamples (fdk::TimeValueList ×) const |
Retrieve the union of the time samples for all assigned XformOps. | |
void | setXformTo (const std::string &opSuffix, const fdk::Mat4d &xform, const fdk::TimeValue &time=fdk::defaultTimeValue()) |
Attribute | setXformTo (const std::string &opSuffix, const XformOp::Type &opType) |
void | addXformOp (const std::string &opSuffix, const fdk::Mat4d &xform, const fdk::TimeValue &time, bool prepend=false) |
Attribute | addXformOp (const std::string &opSuffix, const XformOp::Type &opType, bool prepend=false) |
void | clearAllXformOps () |
Removes all xform ops in this prim. | |
fdk::StringList | getOrderedXformOps () const |
Retrieves the name of the ordered xformOps. | |
void | copyXformOps (const XformablePrim &xformable, fdk::TimeValue time) |
Copies the xformOps from the other xformable prim. | |
bool | setResetXformStack (const bool resetXformStack) |
![]() | |
ImageablePrim (const Prim &prim) | |
bool | validate () override |
Relationship | createProxyPrimRel () |
Relationship | getProxyPrimRel () const |
void | setProxyPrim (const PathArray &value) |
PathArray | getProxyPrim () const |
Attribute | createPurposeAttr (const Value &defaultValue=Value()) |
Attribute | getPurposeAttr () const |
void | setPurpose (const Token &value, fdk::TimeValue time=fdk::defaultTimeValue()) |
Token | getPurpose (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createVisibilityAttr (const Value &defaultValue=Value()) |
Attribute | getVisibilityAttr () const |
void | setVisibility (const Token &value, fdk::TimeValue time=fdk::defaultTimeValue()) |
Token | getVisibility (fdk::TimeValue time=fdk::defaultTimeValue()) const |
fdk::Box3d | computeLocalBound (const fdk::TimeValue &time) const |
fdk::Box3d | computeWorldBound (const fdk::TimeValue &time) const |
![]() | |
Prim () | |
Abstraction handle for casting to UsdPrim. | |
Prim (const Prim &) | |
Prim & | operator= (const Prim &) |
bool | operator== (const Prim &b) const |
Equality - are the two Prims the same object or not? Compares the underlying Prim::Impls. | |
bool | operator!= (const Prim &b) const |
bool | operator< (const Prim &b) const |
bool | isValid () const |
Returns true if Prim::Impl is valid (has a valid object binding.) | |
operator bool () const | |
bool | isSdfPrim () const |
bool | isUsdPrim () const |
virtual bool | validate () |
class Prim::SpecPrimHandle * | getSdfPrimSpec (int usd_version) |
const class Prim::SpecPrimHandle * | getSdfPrimSpec (int usd_version) const |
class Prim::UsdPrimHandle * | getUsdPrim (int usd_version) |
const class Prim::UsdPrimHandle * | getUsdPrim (int usd_version) const |
const std::string & | getName () const |
Returns the name of the prim. | |
Token | getNameToken () const |
Returns the name of the prim as a token. | |
Path | getPath () const |
Returns the path of the prim. | |
Token | getTypeName () const |
Returns the name of the type of the prim. | |
Prim | getParent () const |
Return this prim's parent prim. Returns an invalid prim if this is a root prim. | |
bool | isA (const Token &typeName) const |
Returns true if the prim is an instance of the given type. | |
bool | isA (const Type &type) const |
Returns true if the prim is an instance of the given type. This is faster than the isA method which takes a Token as it avoids a type name lookup. | |
template<class T > | |
bool | isA () const |
Returns true if the prim is an instance of a schema. | |
bool | hasApi (const Token &typeName) const |
Returns true if the prim has the given API. | |
bool | hasApi (const Token &typeName, const Token &instanceName) const |
Returns true if the prim has the given multiple-apply schema API. | |
void | setActive (bool active) |
bool | isActive () const |
bool | clearActive () |
bool | clearTypeName () |
bool | isDefined () const |
bool | isModel () const |
bool | isGroup () const |
bool | isAbstract () const |
bool | hasDefiningSpecifier () const |
bool | hasOverSpecifier () const |
bool | hasClassSpecifier () const |
bool | hasArcs () const |
bool | isPseudoRoot () const |
Returns true if the prim is the pseudo root - ie '/'. | |
void | setKind (const Token &kind) |
Token | getKind () const |
void | setInstanceable (bool instanceable) |
bool | getInstanceable () const |
bool | isInstanceable () const |
bool | isInstance () const |
bool | isInstanceProxy () const |
bool | isPrototype () const |
bool | isInPrototype () const |
bool | hasPayload () const |
bool | isLoaded () const |
void | load (bool loadWithDescendants=true) const |
void | unload () const |
void | setVisibility (bool active, fdk::TimeValue time=fdk::defaultTimeValue()) |
bool | visibility (fdk::TimeValue time=fdk::defaultTimeValue()) const |
void | setVisible (bool active, fdk::TimeValue time=fdk::defaultTimeValue()) |
bool | isVisible (fdk::TimeValue time=fdk::defaultTimeValue()) const |
bool | addAppliedSchema (const Token &schemaName, ListPosition position=ListPosition::PrependBack) |
bool | removeAppliedSchema (const Token &schemaName) |
void | setCreator (const Token &creator) |
Sets the name of the app that created this prim. | |
Token | creatorApp () const |
Gets the name of the app that created this prim. | |
bool | isCreator (const Token &creator) const |
True if creator is the prim's creator app. | |
void | setMetadata (const std::string &key, const Value &value) |
Sets the metadata (or field for sdfPrim) value of given key. | |
bool | setMetadataByDictKey (const Token &key, const Token &keyPath, const Value &value) |
Sets the dictionary metadata (or field for sdfPrim) value of given key.and keyPath. | |
bool | getMetadataByDictKey (const Token &key, const Token &keyPath, Value &value) const |
Gets the dictionary metadata (or field for sdfPrim) value of given key.and keyPath. | |
void | setCustomData (const std::string &key, const Value &value) |
Sets the custom data value of given key. | |
bool | getCustomData (const std::string &key, Value &value) const |
Retrieves the custom data value for the key. Returns true if it exists. | |
Value | getCustomData (const std::string &key) const |
Returns a valid value if the custom data exists for the key. | |
CustomDataRef | getCustomData () const |
Returns the prim's custom data. | |
bool | hasCustomData (const std::string &key) const |
Checks whether the prim has custom data for the key. | |
void | removeCustomData (const std::string &key) |
Erases the custom data for the key. | |
bool | getMetadata (const Token &key, Value &value) const |
Return this prim's metadata given a key token. | |
TokenArray | getMetadataFieldNames () const |
Returns the list field names of the prim's metadata. | |
std::vector< Token > | getAuthoredMetadata () const |
Attribute | createIntrinsicAttr (const Token &name, Value::Type type, TimeVariability variability_hint=TimeVariability::Uniform) |
Attribute | createCustomAttr (const Token &name, Value::Type type, TimeVariability variability_hint=TimeVariability::Uniform) |
Attribute | createAttr (const Token &name, Value::Type type, bool is_custom=false, TimeVariability variability_hint=TimeVariability::Varying, const Value &defaultValue=Value()) |
template<typename T > | |
Attribute | setAttr (const Token &name, const T &v, const fdk::TimeValue &time=fdk::defaultTimeValue()) |
Attribute | getAttr (const Token &name) const |
If the named attribute exists on the Prim returns it otherwise return an empty (invalid) Attribute object. | |
bool | getAttr (const Token &name, Attribute &attr) const |
Value | getValueAt (const Token &attributeName, const fdk::TimeValue &time=fdk::earliestTimeValue()) const |
std::vector< Token > | getAttributes () const |
Returns the list of attributes. | |
std::vector< Token > | getAuthoredAttributes () const |
Returns the list of authored attributes. | |
std::vector< Token > | getAuthoredRelationships () const |
Returns the list of authored relationships. | |
std::vector< Token > | getAuthoredProperties () const |
Returns the list of authored properties. This includes attributes and relationships. | |
void | removeProperty (const Token &propertyName) |
Removes a property if this prim is an SDF representation. | |
Attribute | copyAttr (const Prim &fromPrim, const Token &name, fdk::TimeValue time) |
Copy the attribute from another prim at the given time. | |
Relationship | createRelationship (const Token &name, bool custom=false) |
Creates and returns an empty relationship. | |
Relationship | getRelationship (const Token &name) const |
bool | getRelationship (const Token &name, Relationship &rel) const |
size_t | getRelationships (std::vector< const char * > &relationships) const |
Fills in the list of relationship names, returning the number of relationship. | |
void | addInherit (const Path &path, ListPosition position=ListPosition::PrependBack) |
Adds a inherit path to the prim's inherits list. | |
PathArray | getInherits () |
Return the prim's inherits list. | |
void | removeInherit (const Path &path) |
Removes a inherit path to the prim's inherits list. | |
void | setInherits (const PathArray &paths) |
Sets inherits to the prim's inherits list. If empty list is given, clears the inherits list. | |
void | addReference (const std::string &identifier, const Path &path, ListPosition position=ListPosition::PrependBack, double offset=0.0, double scale=1.0) |
Adds a reference to the prim's reference list. | |
void | removeReference (const std::string &identifier, const Path &path, double offset=0.0, double scale=1.0) |
Removes a reference to the prim's reference list. | |
void | setReferences (const std::vector< std::pair< std::string, Path > > &identifierAndPaths, double offset=0.0, double scale=1.0) |
Sets references to the prim's reference list. If empty list is given, clears the reference list. | |
void | addPayload (const std::string &identifier, const Path &path, ListPosition position=ListPosition::PrependBack, double offset=0.0, double scale=1.0) |
Adds a payload to the prim's payload list. | |
void | removePayload (const std::string &identifier, const Path &path, double offset=0.0, double scale=1.0) |
Removes a payload to the prim's payload list. | |
void | setPayloads (const std::vector< std::pair< std::string, Path > > &identifierAndPaths, double offset=0.0, double scale=1.0) |
Sets payloads to the prim's payload list. If empty list is given, clears the payload list. | |
void | addSpecialize (const Path &path, ListPosition position=ListPosition::PrependBack) |
Adds a specialize path to the prim's specializes list. | |
void | removeSpecialize (const Path &path) |
Removes a specialize path to the prim's specializes list. | |
void | setSpecializes (const PathArray &paths) |
Sets specializes to the prim's specializes list. If empty list is given, clears the specializes list. | |
void | addVariantSet (const std::string &variantSetName, ListPosition position=ListPosition::PrependBack) |
Adds a variant set to the prim. | |
void | addVariant (const std::string &variantSetName, const std::string &variantName) |
Adds a variant to a variant set. | |
void | setVariantSelection (const std::string &variantSetName, const std::string &selection) |
Sets the variant selection for a variant set. | |
std::vector< std::string > | getVariantSets () const |
Returns the list of variant sets authored on the prim. | |
std::vector< std::string > | getVariants (const std::string &variantSetName) const |
Returns the list of variants for a variant set on this prim. | |
std::string | getVariantSelection (const std::string &variantSetName) const |
Returns the variant selection for a given variant set. | |
size_t | getChildren (std::vector< Prim > &children, bool activeOnly=true, bool includeClasses=false, bool includeOverrides=true) const |
LayerRef | getDefiningLayer () const |
Returns a possible layer which defined this prim. This returns the layer containing the first "def" for the prim. | |
virtual void | print (const char *prefix, std::ostream &o, bool printAttribContents=false) const |
Debugging - prints some key info about the prim to a stream. | |
Prim (const Prim::Impl &) | |
Prim::Impl * | impl () |
const Prim::Impl * | impl () const |
void | invalidate () |
Remove the binding making the Prim invalid. For internal use only! | |
virtual bool | applyAttributeOverrides (const ShaderDesc &, bool v=true) |
Static Public Member Functions | |
static bool | isValidPrim (const Prim &prim) |
static XformablePrim | overrideInLayer (const LayerRef &layer, const Prim &prim) |
static XformablePrim | getInStage (const StageRef &stage, const Path &path) |
static std::string | getXformOpAttrName (const std::string &opSuffix, const XformOp::Type &opType=XformOp::Type::Transform) |
static bool | canConcatenateTransform (const Prim &prim) |
Return true if prim can concatenate its transform (valid XformablePrim or ScopePrim.) | |
static size_t | getConcatenatedXformOpTimeSamples (const Prim &prim, fdk::TimeValueSet ×) |
Find the total first-last keyframe range for the prim and all its concatenable parents. | |
static fdk::Mat4d | getLocalMatrixAtPrim (const Prim &prim, const fdk::TimeValue &time) |
Return the local transform matrix for the prim, if valid, otherwise the identity. | |
static fdk::Mat4d | getConcatenatedMatrixAtPrim (const Prim &prim, const fdk::TimeValue &time) |
Return the concatenated world transform matrix for the prim, if valid, otherwise the identity. | |
static void | getConcatenatedMatricesAtPrim (const Prim &prim, const fdk::TimeValueList ×, usg::Mat4dArray &matrices) |
Return the concatenated world transform matrices for the prim at specific times, if valid, otherwise the array is empty. | |
static fdk::Mat4d | getConcatenatedParentMatrixAtPrim (const Prim &prim, const fdk::TimeValue &time) |
Return the concatenated world transform matrices beginning at the parent of the prim, if valid, otherwise the identity. | |
![]() | |
static bool | isValidPrim (const Prim &prim) |
static ImageablePrim | overrideInLayer (const LayerRef &layer, const Prim &prim) |
static ImageablePrim | getInStage (const StageRef &stage, const Path &path) |
![]() | |
static Prim | defineInLayer (const LayerRef &layer, const Path &path, const Token &typeName) |
static Prim | overrideInLayer (const LayerRef &layer, const Path &path, const Token &typeName) |
static void | createMissingParents (const StageRef &referenceStage, const LayerRef &layer, const Path &path, const Token &parentPrimType=GeomTokens.types.Scope) |
Additional Inherited Members | |
![]() | |
enum | { ActiveFlag = 0 , LoadedFlag , ModelFlag , GroupFlag , AbstractFlag , DefinedFlag , HasDefiningSpecifierFlag , InstanceFlag , PayloadFlag , ClipsFlag , DeadFlag , PrototypeFlag , InstanceProxyFlag , PseudoRootFlag , NumFlags } |
using | FlagMask = uint32_t |
using | FlagsPredicate = FlagsSet |
![]() | |
static constexpr FlagMask | IsActiveMask = 0x0001 |
static constexpr FlagMask | IsLoadedMask = 0x0002 |
static constexpr FlagMask | IsModelMask = 0x0004 |
static constexpr FlagMask | IsGroupMask = 0x0008 |
static constexpr FlagMask | IsAbstractMask = 0x0010 |
static constexpr FlagMask | IsDefinedMask = 0x0020 |
static constexpr FlagMask | HasDefiningSpecifierMask = 0x0040 |
static constexpr FlagMask | IsInstanceMask = 0x0080 |
static constexpr FlagMask | PayloadMask = 0x0100 |
static constexpr FlagMask | ClipsMask = 0x0200 |
static constexpr FlagMask | DeadMask = 0x0400 |
static constexpr FlagMask | PrototypeMask = 0x0800 |
static constexpr FlagMask | InstanceProxyMask = 0x1000 |
static constexpr FlagMask | PseudoRootMask = 0x2000 |
static const FlagsPredicate | IsActive |
static const FlagsPredicate | IsLoaded |
static const FlagsPredicate | IsModel |
static const FlagsPredicate | IsGroup |
static const FlagsPredicate | IsAbstract |
static const FlagsPredicate | IsDefined |
static const FlagsPredicate | HasDefiningSpecifier |
static const FlagsPredicate | IsInstance |
static const FlagsPredicate | IncludeInstanceProxies |
static const FlagsPredicate | DefaultPredicate |
Default filtering mask. Same as (IsActive && IsDefined && IsLoaded && -IsAbstract) | |
static const FlagsPredicate | AllPrimsPredicate |
No filtering mask (no flags enabled.) Same as FlagsSet(). | |
![]() | |
void | initialize (const Prim &prim) |
![]() | |
std::unique_ptr< Prim::Impl, void(*)(Prim::Impl *)> | _pImpl |
|
overridevirtual |
Returns true if we're holding a valid type of prim for our class. If not, returns false and invalidates this prim so that furutre.calls to isValid will return false;
Reimplemented from usg::ImageablePrim.
Reimplemented in usg::XformPrim.
|
static |
void usg::XformablePrim::setXformTo | ( | const std::string & | opSuffix, |
const fdk::Mat4d & | xform, | ||
const fdk::TimeValue & | time = fdk::defaultTimeValue() |
||
) |
Sets the transform stack of this prim to a single matrix xform op, replacing any existing xform ops. If opSuffix is not empty it will be appended to the end of the XformOp attribute name so it can be made unique.
Attribute usg::XformablePrim::setXformTo | ( | const std::string & | opSuffix, |
const XformOp::Type & | opType | ||
) |
void usg::XformablePrim::addXformOp | ( | const std::string & | opSuffix, |
const fdk::Mat4d & | xform, | ||
const fdk::TimeValue & | time, | ||
bool | prepend = false |
||
) |
Adds a matrix transform op to this prim's transform stack. If opSuffix is not empty it will be appended to the end of the XformOp attribute name so it can be made unique.
If an existing XformOp attribute with the same already exists this will replace or add to its value, depending on the time value.
If prepend is true, the transform op will be added at the start.
Attribute usg::XformablePrim::addXformOp | ( | const std::string & | opSuffix, |
const XformOp::Type & | opType, | ||
bool | prepend = false |
||
) |
Adds the specified type xform op to this prim's transform stack without settings any value and returns the xform op as Attribute. If opSuffix is not empty it will be appended to the end of the XformOp attribute name so it can be made unique.
If an existing XformOp attribute with the same already exists this will replace or add to its value, depending on the time value.
If prepend is true, the transform op will be added at the start.
bool usg::XformablePrim::setResetXformStack | ( | const bool | resetXformStack | ) |
Specifies whether this prim's transform should reset the transformation stack inherited from its parent prim.
©2025 The Foundry Visionmongers, Ltd. All Rights Reserved. |