FnUsdAbstractionLib 0.6.0
|
Public Member Functions | |
LightPrim () | |
Default ctor builds an empty (invalid) prim. | |
LightPrim (const Prim &) | |
Does not test if castable to LightPrim! | |
bool | validate () override |
ShaderDesc * | createShaderDesc (const fdk::TimeValue &time=fdk::defaultTimeValue()) const |
Attribute | createColorAttr (const Value &defaultValue=Value()) |
Attribute | getColorAttr () const |
void | setColor (const fdk::Vec3f &value, fdk::TimeValue time=fdk::defaultTimeValue()) |
fdk::Vec3f | getColor (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createColorTemperatureAttr (const Value &defaultValue=Value()) |
Attribute | getColorTemperatureAttr () const |
void | setColorTemperature (float value, fdk::TimeValue time=fdk::defaultTimeValue()) |
float | getColorTemperature (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createDiffuseAttr (const Value &defaultValue=Value()) |
Attribute | getDiffuseAttr () const |
void | setDiffuse (float value, fdk::TimeValue time=fdk::defaultTimeValue()) |
float | getDiffuse (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createEnableColorTemperatureAttr (const Value &defaultValue=Value()) |
Attribute | getEnableColorTemperatureAttr () const |
void | setEnableColorTemperature (bool value, fdk::TimeValue time=fdk::defaultTimeValue()) |
bool | getEnableColorTemperature (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createExposureAttr (const Value &defaultValue=Value()) |
Attribute | getExposureAttr () const |
void | setExposure (float value, fdk::TimeValue time=fdk::defaultTimeValue()) |
float | getExposure (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createIntensityAttr (const Value &defaultValue=Value()) |
Attribute | getIntensityAttr () const |
void | setIntensity (float value, fdk::TimeValue time=fdk::defaultTimeValue()) |
float | getIntensity (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createNormalizeAttr (const Value &defaultValue=Value()) |
Attribute | getNormalizeAttr () const |
void | setNormalize (bool value, fdk::TimeValue time=fdk::defaultTimeValue()) |
bool | getNormalize (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Attribute | createSpecularAttr (const Value &defaultValue=Value()) |
Attribute | getSpecularAttr () const |
void | setSpecular (float value, fdk::TimeValue time=fdk::defaultTimeValue()) |
float | getSpecular (fdk::TimeValue time=fdk::defaultTimeValue()) const |
Relationship | createFiltersRel () |
Relationship | getFiltersRel () const |
void | setFilters (const PathArray &value) |
PathArray | getFilters () const |
![]() | |
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) |
Returns true if prim is a LightPrim subclass. | |
![]() | |
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 |
Call this after construction to validate this Prim as a LightPrim type, returning true if it's still valid. If not the Prim::Impl will be invalidated and isValid() will then return false.
Reimplemented from usg::ImageablePrim.
ShaderDesc * usg::LightPrim::createShaderDesc | ( | const fdk::TimeValue & | time = fdk::defaultTimeValue() | ) | const |
Create a ShaderDesc instance from this ShaderPrim, sampled at an optional time, filling in any overrides or connections present. The parent_material prim is used to create a relative path for the resulting ShaderDesc inside the material group.
Uses the schema name for the registry id, then converts each property override and connection.
Enabling debug will print shader creation debug info to terminal (cout).
Calling code takes ownership of ShaderDesc allocation.
©2025 The Foundry Visionmongers, Ltd. All Rights Reserved. |