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

#include <cubeWrapper.h>

+ Inheritance diagram for GusdCubeWrapper:

Public Member Functions

 GusdCubeWrapper (const UsdGeomCube &usdCube, UsdTimeCode t, GusdPurposeSet purposes)
 ~GusdCubeWrapper () override
const UsdGeomImageable getUsdPrim () const override
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 isValid () const override
 Return true if the underlying USD prim is valid. More...
bool refine (GT_Refine &refiner, const GT_RefineParms *parms=NULL) const override
- Public Member Functions inherited from GusdPrimWrapper
 GusdPrimWrapper ()
 GusdPrimWrapper (const UsdTimeCode &time, const GusdPurposeSet &purposes)
 GusdPrimWrapper (const GusdPrimWrapper &in)
 ~GusdPrimWrapper () override
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 bool redefine (const UsdStagePtr &stage, const SdfPath &path, const GusdContext &ctxt, const GT_PrimitiveHandle &sourcePrim)
 Create a new USD prim to match GT primitive. More...
virtual bool updateFromGTPrim (const GT_PrimitiveHandle &sourcePrim, const UT_Matrix4D &houXform, const GusdContext &ctxt, GusdSimpleXformCache &xformCache)
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 int getPrimitiveType () const
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
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
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
getPointAttributes () const
virtual const
getVertexAttributes () const
virtual const
getUniformAttributes () const
virtual const
getDetailAttributes () 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...

Static Public Member Functions

static GT_PrimitiveHandle defineForRead (const UsdGeomImageable &sourcePrim, UsdTimeCode time, GusdPurposeSet purposes)
- 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 GT_DataArrayHandle convertPrimvarData (const UsdGeomPrimvar &primvar, UsdTimeCode time)
static GT_DataArrayHandle convertAttributeData (const UsdAttribute &attr, const VtValue &val)
static void loadSubsets (const UsdGeomImageable &prim, GT_FaceSetMapPtr &facesets, GT_AttributeListHandle &uniform_attribs, const GT_RefineParms *parms, const int numFaces, 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 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

- Public Types inherited from GusdPrimWrapper
typedef std::function
< GT_PrimitiveHandle(const
GT_PrimitiveHandle &, const
UsdStagePtr &, const SdfPath
&, const GusdContext &)> 
typedef std::function
< GT_PrimitiveHandle(const
&, UsdTimeCode, GusdPurposeSet)> 
typedef std::function< bool(const
&, std::string &primName)> 
typedef std::function
< GT_DataArrayHandle(const
GT_DataArrayHandle &)> 
- Static Public Attributes inherited from GusdPrimWrapper
static std::map< GT_Owner,
static std::map< GT_Owner,
- Protected Types inherited from GusdPrimWrapper
typedef std::pair< GT_Owner,
typedef UT_Map
< AttrLastValueKeyType,
- Protected Member Functions inherited from GusdPrimWrapper
void updateVisibilityFromGTPrim (const GT_PrimitiveHandle &sourcePrim, UsdTimeCode time, bool forceWrite=true)
void updateActiveFromGTPrim (const GT_PrimitiveHandle &sourcePrim, UsdTimeCode time)
void updateTransformFromGTPrim (const GfMatrix4d &xform, UsdTimeCode time, bool force)
bool updateAttributeFromGTPrim (GT_Owner owner, const std::string &name, const GT_DataArrayHandle &houAttr, UsdAttribute &usdAttr, UsdTimeCode time)
bool updatePrimvarFromGTPrim (const TfToken &name, const GT_Owner &owner, const TfToken &interpolation, UsdTimeCode time, const GT_DataArrayHandle &data)
bool updatePrimvarFromGTPrim (const GT_AttributeListHandle &gtAttrs, const GusdGT_AttrFilter &primvarFilter, const TfToken &interpolation, UsdTimeCode time)
 Write primvar values from a GT attribute list to USD. More...
void clearCaches ()
- 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...
- Static Protected Member Functions inherited from GusdPrimWrapper
static GfMatrix4d computeTransform (const UsdPrim &prim, UsdTimeCode time, const UT_Matrix4D &houXform, const GusdSimpleXformCache &xformCache)
- Protected Attributes inherited from GusdPrimWrapper
UsdTimeCode m_time
GusdPurposeSet m_purposes
bool m_visible
GfMatrix4d m_xformCache
UsdTimeCode m_lastXformSet
UsdTimeCode m_lastXformCompared
AttrLastValueDict m_lastAttrValueDict

Detailed Description

Wraps a USD cube prim and refines it to a GT mesh for the viewport or conversion back to GU primitives.

Definition at line 19 of file cubeWrapper.h.

Constructor & Destructor Documentation

GusdCubeWrapper::GusdCubeWrapper ( const UsdGeomCube usdCube,
UsdTimeCode  t,
GusdPurposeSet  purposes 
GusdCubeWrapper::~GusdCubeWrapper ( )

Member Function Documentation

const char* GusdCubeWrapper::className ( ) const

Implements GT_Primitive.

static GT_PrimitiveHandle GusdCubeWrapper::defineForRead ( const UsdGeomImageable sourcePrim,
UsdTimeCode  time,
GusdPurposeSet  purposes 
GT_PrimitiveHandle GusdCubeWrapper::doSoftCopy ( ) const

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

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.

int64 GusdCubeWrapper::getMemoryUsage ( ) const

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

Implements GT_Primitive.

int GusdCubeWrapper::getMotionSegments ( ) const

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 UsdGeomImageable GusdCubeWrapper::getUsdPrim ( ) const

Implements GusdPrimWrapper.

Definition at line 27 of file cubeWrapper.h.

bool GusdCubeWrapper::isValid ( ) const

Return true if the underlying USD prim is valid.

Reimplemented from GusdPrimWrapper.

bool GusdCubeWrapper::refine ( GT_Refine refiner,
const GT_RefineParms parms = NULL 
) const

Refine the primitive.

  • refiner
    The refiner object is responsible for processing primitives, and also giving the primitive hints on how to refine itself. The method should returns true if new primitives were added to the refiner.

Reimplemented from GT_Primitive.

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