HDK
|
#include <packedUsdWrapper.h>
Public Member Functions | |
GusdPackedUsdWrapper (const UsdStagePtr &stage, const SdfPath &path, bool isOverride) | |
GusdPackedUsdWrapper (const GusdPackedUsdWrapper &other) | |
~GusdPackedUsdWrapper () override | |
const UsdGeomImageable | getUsdPrim () const override |
bool | redefine (const UsdStagePtr &stage, const SdfPath &path, const GusdContext &ctxt, const GT_PrimitiveHandle &sourcePrim) override |
Create a new USD prim to match GT primitive. More... | |
const char * | className () const override |
void | enlargeBounds (UT_BoundingBox boxes[], int nsegments) const override |
int | getMotionSegments () const override |
int64 | getMemoryUsage () const override |
GT_PrimitiveHandle | doSoftCopy () const override |
bool | updateFromGTPrim (const GT_PrimitiveHandle &sourcePrim, const UT_Matrix4D &houXform, const GusdContext &ctxt, GusdSimpleXformCache &xformCache) override |
bool | isValid () const override |
Return true if the underlying USD prim is valid. More... | |
Public Member Functions inherited from GusdPrimWrapper | |
GusdPrimWrapper () | |
GusdPrimWrapper (const UsdTimeCode &time, const GusdPurposeSet &purposes) | |
GusdPrimWrapper (const GusdPrimWrapper &in) | |
~GusdPrimWrapper () override | |
int | getPrimitiveType () const final |
virtual bool | unpack (UT_Array< GU_DetailHandle > &details, const UT_StringRef &fileName, const SdfPath &primPath, const UT_Matrix4D *xform, fpreal frame, const char *viewportLod, GusdPurposeSet purposes, const GT_RefineParms &rparms) const |
virtual void | addLeadingBookend (double curFrame, double startFrame) |
virtual void | addTrailingBookend (double curFrame) |
Add a sample at the current frame, invising this from. More... | |
void | markVisible (bool in) |
Keep track of the visibility state of the prim for book marks. More... | |
bool | isVisible () const |
virtual void | setVisibility (const TfToken &visibility, UsdTimeCode time) |
void | loadPrimvars (const UsdPrimDefinition &prim_defn, UsdTimeCode time, const GT_RefineParms *rparms, int minUniform, int minPoint, int minVertex, const std::string &primPath, GT_AttributeListHandle *vertex, GT_AttributeListHandle *point, GT_AttributeListHandle *primitive, GT_AttributeListHandle *constant, const GT_DataArrayHandle &remapIndicies=GT_DataArrayHandle()) const |
Public Member Functions inherited from GT_Primitive | |
GT_Primitive () | |
GT_Primitive (const GT_Primitive &src) | |
virtual | ~GT_Primitive () |
virtual bool | getUniqueID (int64 &id) const |
virtual void | enlargeRenderBounds (UT_BoundingBox boxes[], int nsegments) const |
virtual void | getVelocityRange (UT_Vector3 &min, UT_Vector3 &max, const UT_StringRef &attribute_name=GA_Names::v) const |
virtual bool | refine (GT_Refine &refiner, const GT_RefineParms *parms=NULL) const |
const GT_TransformHandle & | getPrimitiveTransform () const |
void | setPrimitiveTransform (const GT_TransformHandle &x) |
Set the transform for a the primitive. More... | |
GT_PrimitiveHandle | clone () const |
virtual bool | hasDataArray (const UT_StringRef &name, GT_Owner owner_scope[], int num_owners, GT_Storage *storage=NULL, GT_Size *tuple_size=NULL) const |
virtual bool | updateGeoPrim (const GU_ConstDetailHandle &dtl, const GT_RefineParms &parms) |
update any cached data for geometry and its attributes More... | |
void | setStaticGeometry (bool static_geo) |
Return true if the primitive represents geometry at frame 'fr'. More... | |
bool | isStaticGeometry () const |
bool | isFrameInfoAvailable () const |
bool | getDataIdHash (int64 &hash, int segment=0, bool cache_data_id=false) const |
virtual bool | getTopologyVersion (int64 &version) const |
Returns the topology version for the primitive. More... | |
GT_DataArrayHandle | findAttribute (const UT_StringRef &name, GT_Owner &owner, int segment) const |
void | dumpAttributeLists (const char *label, bool data_too) const |
print out all attribute lists More... | |
void | dumpPrimitive () const |
bool | saveAttributeLists (UT_JSONWriter &w) const |
virtual bool | save (UT_JSONWriter &w) const |
virtual const GT_ViewportRefineOptions & | viewportRefineOptions () const |
GT_PrimitiveHandle | harden () const |
GT_PrimitiveHandle | copyTransformed (const GT_TransformHandle &x, bool force=false) const |
void | refineCopyTransformFrom (const GT_Primitive &src) |
GT_PrimitiveHandle | attributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex_pattern, const UT_StringMMPattern *point_pattern, const UT_StringMMPattern *uniform_pattern, const UT_StringMMPattern *detail_pattern) const |
virtual GT_PrimitiveHandle | doHarden () const |
virtual GT_PrimitiveHandle | doAttributeMerge (const GT_Primitive &src, const UT_StringMMPattern *vertex, const UT_StringMMPattern *point, const UT_StringMMPattern *uniform, const UT_StringMMPattern *detail) const |
The virtual implementation of attribute merging. More... | |
bool | enlargeWidth (UT_BoundingBox boxes[], int nsegments, fpreal defwidth=-1) const |
virtual const GT_AttributeListHandle & | getPointAttributes () const |
virtual const GT_AttributeListHandle & | getVertexAttributes () const |
virtual const GT_AttributeListHandle & | getUniformAttributes () const |
virtual const GT_AttributeListHandle & | getDetailAttributes () const |
const GT_AttributeListHandle & | getAttributeList (GT_Owner owner) const |
virtual const GT_DataArrayHandle & | getVertexList () const |
virtual GT_DataArrayHandle | createPointNormals (int segment=0, const UT_StringRef &P=GA_Names::P, bool normalize=true, const fpreal32 *pntdata=NULL, GT_Storage store=GT_STORE_REAL32) const |
virtual fpreal | computePerimeter (int seg=0) const |
virtual fpreal | computeSurfaceArea (int seg=0) const |
virtual fpreal | computeVolume (const UT_Vector3 &ref_P, int seg=0) const |
Public Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive > | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter () noexcept |
Default constructor: Sets counter to 0. More... | |
SYS_FORCE_INLINE | UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept |
Copy constructor: Sets counter to 0. More... | |
UT_IntrusiveRefCounter & | operator= (const UT_IntrusiveRefCounter &) noexcept |
Assignment operator: Does not modify counter. More... | |
SYS_FORCE_INLINE uint32 | use_count () const noexcept |
Return current counter. More... | |
SYS_FORCE_INLINE bool | conditionalAddRef () noexcept |
Static Public Member Functions | |
static GT_PrimitiveHandle | defineForWrite (const GT_PrimitiveHandle &sourcePrim, const UsdStagePtr &stage, const SdfPath &path, const GusdContext &ctxt) |
Static Public Member Functions inherited from GusdPrimWrapper | |
static GT_PrimitiveHandle | defineForWrite (const GT_PrimitiveHandle &sourcePrim, const UsdStagePtr &stage, const SdfPath &path, const GusdContext &ctxt) |
Given a GT_Primitive, create a USD prim of the proper type. More... | |
static bool | getPrimName (const GT_PrimitiveHandle &sourcePrim, std::string &primName) |
static const char * | getUsdName (int gtPrimId) |
static bool | isGroupType (int gtPrimId) |
static GT_PrimitiveHandle | defineForRead (const UsdGeomImageable &sourcePrim, UsdTimeCode time, GusdPurposeSet purposes) |
Given a USD prim, create a GusdPrimWrapper of the proper type. More... | |
static bool | isPointInstancerPrim (const GT_PrimitiveHandle &prim, const GusdContext &ctxt) |
Is this gt prim a point instancer? More... | |
static bool | registerPrimDefinitionFuncForWrite (int gtPrimId, DefinitionForWriteFunction function, GetPrimNameFunction getNameFunction=NULL, bool isGroupType=false, const char *usdName=NULL) |
static bool | registerPrimDefinitionFuncForRead (const TfToken &usdTypeName, DefinitionForReadFunction function) |
Register function for creating new GusdPrimWrappers from USD prim. More... | |
static bool | isGTPrimSupported (const GT_PrimitiveHandle &prim) |
static int | getStaticPrimitiveType () |
static GT_DataArrayHandle | convertPrimvarData (const UsdGeomPrimvar &primvar, UsdTimeCode time) |
static GT_DataArrayHandle | convertAttributeData (const UsdAttribute &attr, const VtValue &val) |
static void | addReversePolygonsAttrib (GT_AttributeListHandle &attrib_list, exint num_elements) |
static void | loadSubsets (const UsdGeomImageable &prim, const UT_Optional< TfToken > &uniform_element_type, GT_ElementSetMapPtr &uniform_sets, GT_AttributeListHandle &uniform_attribs, exint num_uniform, GT_ElementSetMapPtr &point_sets, GT_AttributeListHandle &point_attribs, exint num_points, const GT_RefineParms *parms, UsdTimeCode time) |
Static Public Member Functions inherited from GT_Primitive | |
static int | createPrimitiveTypeId () |
static GT_AttributeListHandle | mergeAttributeLists (bool &changed, const GT_AttributeListHandle &src, const GT_AttributeListHandle &merge, const UT_StringMMPattern *pattern, const UT_StringMMPattern *alternate=NULL) |
static bool | computeVelocityRange (UT_Vector3 &vmin, UT_Vector3 &vmax, const GT_DataArrayHandle &v) |
static GT_PrimitiveHandle | refineDetail (const GU_ConstDetailHandle &detail, const GT_RefineParms *parms) |
static GT_PrimitiveHandle | refinePrimitive (const GT_PrimitiveHandle &primh, const GT_RefineParms *parms) |
static void * | operator new (size_t size) |
static void * | operator new (size_t size, void *p) |
static void | operator delete (void *p, size_t size) |
Definition at line 34 of file packedUsdWrapper.h.
GusdPackedUsdWrapper::GusdPackedUsdWrapper | ( | const UsdStagePtr & | stage, |
const SdfPath & | path, | ||
bool | isOverride | ||
) |
GusdPackedUsdWrapper::GusdPackedUsdWrapper | ( | const GusdPackedUsdWrapper & | other | ) |
|
override |
|
overridevirtual |
Implements GT_Primitive.
|
static |
|
overridevirtual |
Create a copy of the primitive, referencing all the source data This can return a NULL pointer, but it would be better to implement it properly.
Implements GT_Primitive.
|
overridevirtual |
An array of bounding boxes is passed in. There is a bounding box for each segement. Each bounding box should be enlarged appropriately.
Implements GT_Primitive.
|
overridevirtual |
Return an approximate memory usage. Since data may be shared, this will always be an over-estimation.
Implements GT_Primitive.
|
overridevirtual |
Return the number of motion segments defined on the geometry By default, this simply returns the number of segments on P.
Implements GT_Primitive.
|
inlineoverridevirtual |
Implements GusdPrimWrapper.
Definition at line 46 of file packedUsdWrapper.h.
|
overridevirtual |
Return true if the underlying USD prim is valid.
Reimplemented from GusdPrimWrapper.
|
overridevirtual |
Create a new USD prim to match GT primitive.
When writing per frame USD files, we need to recreate the stage and all the primitives on it each frame. However, there is some data we want to persist across frames. So we keep the GusdPrimWrappers and ask them to redefine their USD prims on each frame.
Reimplemented from GusdPrimWrapper.
|
overridevirtual |
Fill a USD prim's attribute samples for a frame from the attributes in a GT primitive.
If sourcePrim
is an instance, localXform
is the instance transform otherwise it is the primitive transform from the prim.
Reimplemented from GusdPrimWrapper.