HDK
|
#include <GT_PackedUSD.h>
Public Member Functions | |
GusdGT_PackedUSD (const UT_StringHolder &fileName, const UT_StringHolder &auxFileName, const SdfPath &primPath, const SdfPath &srcPrimPath, exint index, UsdTimeCode frame, GusdPurposeSet purpose, GT_AttributeListHandle pointAttributes, GT_AttributeListHandle vertexAttributes, GT_AttributeListHandle uniformAttributes, GT_AttributeListHandle detailAttributes, const GU_PrimPacked *prim) | |
~GusdGT_PackedUSD () override | |
const char * | className () const override |
GT_PrimitiveHandle | doSoftCopy () const override |
int | getPrimitiveType () const override |
void | enlargeBounds (UT_BoundingBox boxes[], int nsegments) const override |
int | getMotionSegments () const override |
int64 | getMemoryUsage () const override |
const GT_AttributeListHandle & | getPointAttributes () const override |
const GT_AttributeListHandle & | getVertexAttributes () const override |
const GT_AttributeListHandle & | getUniformAttributes () const override |
const GT_AttributeListHandle & | getDetailAttributes () const override |
const UT_StringHolder & | getFileName () const |
const UT_StringHolder & | getAuxFileName () const |
const SdfPath & | getPrimPath () const |
const SdfPath & | getSrcPrimPath () const |
const exint & | getInstanceIndex () const |
const TfToken & | getTypeName () const |
![]() | |
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 |
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 |
![]() | |
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 int | getStaticPrimitiveType () |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
void | enlargeP (UT_BoundingBox &box, const GT_AttributeListHandle &list, int segment) const |
void | enlargeP (UT_BoundingBox &B, const GT_DataArrayHandle &P) const |
Convenience method to enlarge a bounding box given a position attribute. More... | |
void | enlargePw (UT_BoundingBox &B, const GT_DataArrayHandle &P) const |
![]() | |
SYS_FORCE_INLINE | ~UT_IntrusiveRefCounter () |
Destructor: Only derived classes can destruct this. More... | |
A GT implementation of a packed USD prim.
This is a file backed prim that holds a reference to a prim in a usd file at a particular frame. The prim can be a group of prims.
When we write USD packed prim to a USD file, we write a reference to the original file. USD has a limitation that it can only make references to root nodes.
When we write a reference into a USD file, we might want to use a different file path than we use in the Houdini session. For example, we might want to use a relative path vs. an absolute one. We might want to use a coalesced file vs per frame files. We don't want to enshrine this logic in the core so we provide a second "auxilary" file name that can be used for this. If this fileName is left empty, we just us the primary file name.
Definition at line 58 of file GT_PackedUSD.h.
GusdGT_PackedUSD::GusdGT_PackedUSD | ( | const UT_StringHolder & | fileName, |
const UT_StringHolder & | auxFileName, | ||
const SdfPath & | primPath, | ||
const SdfPath & | srcPrimPath, | ||
exint | index, | ||
UsdTimeCode | frame, | ||
GusdPurposeSet | purpose, | ||
GT_AttributeListHandle | pointAttributes, | ||
GT_AttributeListHandle | vertexAttributes, | ||
GT_AttributeListHandle | uniformAttributes, | ||
GT_AttributeListHandle | detailAttributes, | ||
const GU_PrimPacked * | prim | ||
) |
|
override |
|
overridevirtual |
Implements GT_Primitive.
|
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.
|
inline |
Definition at line 104 of file GT_PackedUSD.h.
|
overridevirtual |
Virtual methods to access the attribute data for primitives Some primitives may not implement these methods, in which case, the returned value will be an empty list.
Reimplemented from GT_Primitive.
|
inline |
Definition at line 101 of file GT_PackedUSD.h.
|
inline |
Definition at line 111 of file GT_PackedUSD.h.
|
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.
|
overridevirtual |
Virtual methods to access the attribute data for primitives Some primitives may not implement these methods, in which case, the returned value will be an empty list.
Reimplemented from GT_Primitive.
|
overridevirtual |
Return the primitive type. By default this returns GT_PRIM_UNDEFINED,
Reimplemented from GT_Primitive.
|
inline |
Definition at line 107 of file GT_PackedUSD.h.
|
inline |
Definition at line 109 of file GT_PackedUSD.h.
|
static |
|
inline |
Definition at line 113 of file GT_PackedUSD.h.
|
overridevirtual |
Virtual methods to access the attribute data for primitives Some primitives may not implement these methods, in which case, the returned value will be an empty list.
Reimplemented from GT_Primitive.
|
overridevirtual |
Virtual methods to access the attribute data for primitives Some primitives may not implement these methods, in which case, the returned value will be an empty list.
Reimplemented from GT_Primitive.