FnUsdAbstractionLib 0.6.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
usg::CurvesPrim Class Reference
Inheritance diagram for usg::CurvesPrim:
usg::PointBasedPrim usg::GprimPrim usg::BoundablePrim usg::XformablePrim usg::ImageablePrim usg::Prim usg::BasisCurvesPrim usg::HermiteCurvesPrim usg::NurbsCurvesPrim

Public Member Functions

 CurvesPrim (const Prim &prim)
 
bool validate ()
 
Attribute createCurveVertexCountsAttr (const Value &defaultValue=Value())
 
Attribute getCurveVertexCountsAttr () const
 
void setCurveVertexCounts (const IntArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
IntArray getCurveVertexCounts (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createWidthsAttr (const Value &defaultValue=Value())
 
Attribute getWidthsAttr () const
 
void setWidths (const FloatArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
FloatArray getWidths (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
- Public Member Functions inherited from usg::PointBasedPrim
 PointBasedPrim (const Prim &prim)
 
bool validate ()
 
Attribute createAccelerationsAttr (const Value &defaultValue=Value())
 
Attribute getAccelerationsAttr () const
 
void setAccelerations (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getAccelerations (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createNormalsAttr (const Value &defaultValue=Value())
 
Attribute getNormalsAttr () const
 
void setNormals (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getNormals (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createPointsAttr (const Value &defaultValue=Value())
 
Attribute getPointsAttr () const
 
void setPoints (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getPoints (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createVelocitiesAttr (const Value &defaultValue=Value())
 
Attribute getVelocitiesAttr () const
 
void setVelocities (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getVelocities (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
size_t getPointsArray (Vec3fArray &points, const fdk::TimeValue &time=fdk::defaultTimeValue()) const
 Retrieves the points property value.
 
virtual Attribute setNormalsAttr (const Vec3fArray &normals, const Token &interpolation, const fdk::TimeValue &time=fdk::defaultTimeValue())
 Set the primvars:st attribute and interpolation.
 
virtual Attribute setStAttr (const Vec2fArray &st, const Token &interpolation, const fdk::TimeValue &time=fdk::defaultTimeValue())
 Set the primvars:st attribute and interpolation.
 
virtual Attribute getStAttr () const
 Retrieve the primvars:st property. If it doesn't exist the returned Attribute will be invalid(not bound.)
 
- Public Member Functions inherited from usg::GprimPrim
 GprimPrim (const Prim &prim)
 
bool validate ()
 
Attribute createDoubleSidedAttr (const Value &defaultValue=Value())
 
Attribute getDoubleSidedAttr () const
 
void setDoubleSided (bool value, fdk::TimeValue time=fdk::defaultTimeValue())
 
bool getDoubleSided (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createOrientationAttr (const Value &defaultValue=Value())
 
Attribute getOrientationAttr () const
 
void setOrientation (const Token &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Token getOrientation (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createDisplayColorAttr (const Value &defaultValue=Value())
 
Attribute getDisplayColorAttr () const
 
void setDisplayColor (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getDisplayColor (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
Attribute createDisplayOpacityAttr (const Value &defaultValue=Value())
 
Attribute getDisplayOpacityAttr () const
 
void setDisplayOpacity (const FloatArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
FloatArray getDisplayOpacity (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
- Public Member Functions inherited from usg::BoundablePrim
 BoundablePrim (const Prim &prim)
 
bool validate ()
 
Attribute createExtentAttr (const Value &defaultValue=Value())
 
Attribute getExtentAttr () const
 
void setExtent (const Vec3fArray &value, fdk::TimeValue time=fdk::defaultTimeValue())
 
Vec3fArray getExtent (fdk::TimeValue time=fdk::defaultTimeValue()) const
 
virtual bool setBoundsAttr (const fdk::Box3f &point_bbox, const fdk::TimeValue &time=fdk::defaultTimeValue())
 
virtual bool setBoundsAttr (const usg::Vec3fArray &points, const fdk::TimeValue &time=fdk::defaultTimeValue())
 
virtual Attribute getBoundsAttr () const
 Retrieve the 'extent'(bounds) property.
 
virtual fdk::Box3f getBoundsBox (const fdk::TimeValue &time=fdk::defaultTimeValue(), bool build_from_points_fallback=false) const
 Retrieve the bounds property value as a Box3f. If there's no attribute optionally build from point locations.
 
- Public Member Functions inherited from usg::XformablePrim
 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 &times) 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)
 
- Public Member Functions inherited from usg::ImageablePrim
 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
 
- Public Member Functions inherited from usg::Prim
 Prim ()
 Abstraction handle for casting to UsdPrim.
 
 Prim (const Prim &)
 
Primoperator= (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< TokengetAuthoredMetadata () 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< TokengetAttributes () const
 Returns the list of attributes.
 
std::vector< TokengetAuthoredAttributes () const
 Returns the list of authored attributes.
 
std::vector< TokengetAuthoredRelationships () const
 Returns the list of authored relationships.
 
std::vector< TokengetAuthoredProperties () 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 CurvesPrim overrideInLayer (const LayerRef &layer, const Prim &prim)
 
static CurvesPrim getInStage (const StageRef &stage, const Path &path)
 
- Static Public Member Functions inherited from usg::PointBasedPrim
static bool isValidPrim (const Prim &prim)
 
static PointBasedPrim overrideInLayer (const LayerRef &layer, const Prim &prim)
 
static PointBasedPrim getInStage (const StageRef &stage, const Path &path)
 
- Static Public Member Functions inherited from usg::GprimPrim
static bool isValidPrim (const Prim &prim)
 
static GprimPrim overrideInLayer (const LayerRef &layer, const Prim &prim)
 
static GprimPrim getInStage (const StageRef &stage, const Path &path)
 
- Static Public Member Functions inherited from usg::BoundablePrim
static bool isValidPrim (const Prim &prim)
 
static BoundablePrim overrideInLayer (const LayerRef &layer, const Prim &prim)
 
static BoundablePrim getInStage (const StageRef &stage, const Path &path)
 
- Static Public Member Functions inherited from usg::XformablePrim
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 &times)
 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 &times, 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 Public Member Functions inherited from usg::ImageablePrim
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 Public Member Functions inherited from usg::Prim
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

- Public Types inherited from usg::Prim
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 Public Attributes inherited from usg::Prim
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().
 
- Protected Member Functions inherited from usg::Prim
void initialize (const Prim &prim)
 
- Protected Attributes inherited from usg::Prim
std::unique_ptr< Prim::Impl, void(*)(Prim::Impl *)> _pImpl
 

Member Function Documentation

◆ validate()

bool usg::CurvesPrim::validate ( )
virtual

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::BoundablePrim.

Reimplemented in usg::HermiteCurvesPrim, and usg::NurbsCurvesPrim.



©2025 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk