HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GusdGT_PackedUSD Class Reference

#include <GT_PackedUSD.h>

+ Inheritance diagram for GusdGT_PackedUSD:

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_AttributeListHandlegetPointAttributes () const override
 
const GT_AttributeListHandlegetVertexAttributes () const override
 
const GT_AttributeListHandlegetUniformAttributes () const override
 
const GT_AttributeListHandlegetDetailAttributes () const override
 
const UT_StringHoldergetFileName () const
 
const UT_StringHoldergetAuxFileName () const
 
const SdfPathgetPrimPath () const
 
const SdfPathgetSrcPrimPath () const
 
const exintgetInstanceIndex () const
 
const TfTokengetTypeName () 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_TransformHandlegetPrimitiveTransform () 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_AttributeListHandlegetAttributeList (GT_Owner owner) const
 
virtual const GT_DataArrayHandlegetVertexList () 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_IntrusiveRefCounteroperator= (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 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 voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 

Additional Inherited Members

- Protected Member Functions inherited from GT_Primitive
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
 
- Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_Primitive >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

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 
)
GusdGT_PackedUSD::~GusdGT_PackedUSD ( )
override

Member Function Documentation

const char* GusdGT_PackedUSD::className ( ) const
overridevirtual

Implements GT_Primitive.

GT_PrimitiveHandle GusdGT_PackedUSD::doSoftCopy ( ) const
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.

void GusdGT_PackedUSD::enlargeBounds ( UT_BoundingBox  boxes[],
int  nsegments 
) const
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.

const UT_StringHolder& GusdGT_PackedUSD::getAuxFileName ( ) const
inline

Definition at line 104 of file GT_PackedUSD.h.

const GT_AttributeListHandle& GusdGT_PackedUSD::getDetailAttributes ( ) const
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.

const UT_StringHolder& GusdGT_PackedUSD::getFileName ( ) const
inline

Definition at line 101 of file GT_PackedUSD.h.

const exint& GusdGT_PackedUSD::getInstanceIndex ( ) const
inline

Definition at line 111 of file GT_PackedUSD.h.

int64 GusdGT_PackedUSD::getMemoryUsage ( ) const
overridevirtual

Return an approximate memory usage. Since data may be shared, this will always be an over-estimation.

Implements GT_Primitive.

int GusdGT_PackedUSD::getMotionSegments ( ) const
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.

const GT_AttributeListHandle& GusdGT_PackedUSD::getPointAttributes ( ) const
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.

int GusdGT_PackedUSD::getPrimitiveType ( ) const
overridevirtual

Return the primitive type. By default this returns GT_PRIM_UNDEFINED,

Reimplemented from GT_Primitive.

const SdfPath& GusdGT_PackedUSD::getPrimPath ( ) const
inline

Definition at line 107 of file GT_PackedUSD.h.

const SdfPath& GusdGT_PackedUSD::getSrcPrimPath ( ) const
inline

Definition at line 109 of file GT_PackedUSD.h.

static int GusdGT_PackedUSD::getStaticPrimitiveType ( )
static
const TfToken& GusdGT_PackedUSD::getTypeName ( ) const
inline

Definition at line 113 of file GT_PackedUSD.h.

const GT_AttributeListHandle& GusdGT_PackedUSD::getUniformAttributes ( ) const
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.

const GT_AttributeListHandle& GusdGT_PackedUSD::getVertexAttributes ( ) const
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.


The documentation for this class was generated from the following file: