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

Geometry Embedded procedural. More...

#include <GU_PackedGeometry.h>

+ Inheritance diagram for GU_PackedGeometry:

Public Member Functions

 GU_PackedGeometry ()
 
 GU_PackedGeometry (const GU_PackedGeometry &src)
 
virtual ~GU_PackedGeometry ()
 
const GU_ConstDetailHandledetailPtr () const
 
void setDetailPtr (const GU_DetailHandle &d)
 
void setDetailPtr (const GU_ConstDetailHandle &d)
 
virtual GU_PackedFactorygetFactory () const
 
virtual GU_PackedImplcopy () const
 
virtual bool isValid () const
 
virtual void clearData ()
 
virtual bool load (GU_PrimPacked *prim, const UT_Options &options, const GA_LoadMap &map)
 
virtual bool supportsJSONLoad () const
 
virtual bool loadFromJSON (GU_PrimPacked *prim, const UT_JSONValueMap &options, const GA_LoadMap &map)
 
virtual void update (GU_PrimPacked *prim, const UT_Options &options)
 
virtual bool save (UT_Options &options, const GA_SaveMap &map) const
 
virtual bool getBounds (UT_BoundingBox &box) const
 
virtual bool getRenderingBounds (UT_BoundingBox &box) const
 
virtual void getVelocityRange (UT_Vector3 &min, UT_Vector3 &max) const
 
virtual void getWidthRange (fpreal &min, fpreal &max) const
 
virtual bool unpackWithContext (GU_Detail &destgdp, GU_PackedContext &context) const
 
virtual bool unpack (GU_Detail &destgdp) const
 
virtual void forceLoad () const
 
virtual bool isLoaded () const
 
virtual GU_ConstDetailHandle getPackedDetail (GU_PackedContext *context=0) const
 
virtual bool loadSharedData (int dtype, const GA_SharedLoadData *it)
 
virtual bool saveSharedData (UT_JSONWriter &w, GA_SaveMap &map, GA_GeometryIndex *geometryIndex) const
 
virtual int64 getMemoryUsage (bool inclusive) const
 Report memory usage (includes all shared memory) More...
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) const
 
virtual bool saveCachedBBox () const
 
exint geometryId () const
 
exint intrinsicGeometryId (const GU_PrimPacked *prim) const
 
- Public Member Functions inherited from GU_PackedImpl
 GU_PackedImpl ()
 
 GU_PackedImpl (const GU_PackedImpl &src)
 
virtual ~GU_PackedImpl ()
 
virtual bool loadUnknownToken (const char *token, UT_JSONParser &p, const GA_LoadMap &map)
 
virtual void getPrimitiveName (const GU_PrimPacked *prim, UT_WorkBuffer &wbuf) const
 
virtual bool getLocalTransform (UT_Matrix4D &m) const
 
virtual bool unpackWithStyler (GU_Detail &destgdp, STY_StylerGroup &prim_styler_group, const STY_Styler &parent_styler) const
 
virtual bool unpackUsingPolygons (GU_Detail &destgdp) const
 
bool pointInstanceTransform () const
 
bool intrinsicPointInstanceTransform (const GU_PrimPacked *prim) const
 
void setPointInstanceTransform (GU_PrimPacked *prim, bool b)
 Set whether point instancing should be used. More...
 
void topologyDirty ()
 Indicate that topology and attributes are dirty. More...
 
GU_PrimPackedgetPrim ()
 
const GU_PrimPackedgetPrim () const
 
int64 intrinsic3Tuple (const GU_PrimPacked *prim) const
 
int64 intrinsic6Tuple (const GU_PrimPacked *prim) const
 
int64 intrinsic9Tuple (const GU_PrimPacked *prim) const
 
int64 intrinsic16Tuple (const GU_PrimPacked *prim) const
 
std::string intrinsicPrimitiveName (const GU_PrimPacked *prim) const
 
const char * intrinsicFactoryName (const GU_PrimPacked *prim) const
 
const char * intrinsicFactoryLabel (const GU_PrimPacked *prim) const
 
void intrinsicPackedBox (const GU_PrimPacked *prim, fpreal64 *vals, exint sz) const
 
void intrinsicPackedRenderBox (const GU_PrimPacked *prim, fpreal64 *vals, exint sz) const
 
void intrinsicPivot (const GU_PrimPacked *prim, fpreal64 *vals, exint sz) const
 
void intrinsicSetPivot (GU_PrimPacked *prim, const fpreal64 *vals, exint sz)
 
void intrinsicPrimTransform (const GU_PrimPacked *prim, fpreal64 *vals, exint sz) const
 
void intrinsicSetPrimTransform (GU_PrimPacked *prim, const fpreal64 *v, exint sz)
 
void intrinsicPackedTransform (const GU_PrimPacked *prim, fpreal64 *v, exint sz) const
 
void intrinsicFullTransform (const GU_PrimPacked *prim, fpreal64 *v, exint sz) const
 
const char * intrinsicViewportLOD (const GU_PrimPacked *prim) const
 
void intrinsicSetViewportLOD (GU_PrimPacked *prim, const char *lod)
 

Static Public Member Functions

static GU_PrimPackedpackGeometry (GU_Detail &dest, const GU_ConstDetailHandle &gdh)
 
static GU_PrimPackedpackGeometry (GU_Detail &dest, const GU_ConstDetailHandle &gdh, const UT_BoundingBox &bbox)
 
static void install (GA_PrimitiveFactory *prim)
 Install the procedural. More...
 
static GA_PrimitiveTypeId typeId ()
 Get the type ID for the GU_PackedGeometry primitive type. More...
 
- Static Public Member Functions inherited from GU_PackedImpl
static bool computeVelocityRange (const GU_Detail *gdp, UT_Vector3 &vmin, UT_Vector3 &vmax)
 
static bool computeWidthRange (const GU_Detail *gdp, fpreal &wmin, fpreal &wmax)
 

Protected Member Functions

template<typename T >
bool loadFrom (const T &options, const GA_LoadMap &map)
 
bool loadPackedGeometry (GU_PackedContext *context=0) const
 
bool statPackedGeometry () const
 
- Protected Member Functions inherited from GU_PackedImpl
void copyPrimitiveGroups (GU_Detail &dest, bool force=false) const
 
bool unpackToDetail (GU_Detail &destgdp, GU_Detail *src, bool do_transform=true) const
 
bool unpackToDetail (GU_Detail &destgdp, const GU_Detail *src, bool do_transform=true) const
 
bool unpackToDetail (GU_Detail &destgdp, const GU_ConstDetailHandle &gdh, bool do_transform=true) const
 Unpack the source detail handle. More...
 
virtual UT_Vector3 getBaryCenter () const
 Optional method to compute centroid (default uses bounding box) More...
 
virtual fpreal computeVolume (const UT_Vector3 &refpt) const
 Optional method to calculate volume (default uses bounding box) More...
 
virtual fpreal computeArea () const
 Optional method to calculate surface area (default uses bounding box) More...
 
virtual fpreal computePerimeter () const
 Optional method to calculate perimeter (default uses bounding box) More...
 
void setBoxCache (const UT_BoundingBox &box) const
 Set the bounding box cache for the primitive. More...
 

Protected Attributes

GU_ConstDetailHandle myDetail
 
UT_BoundingBox myStatBounds
 
GA_SharedDataHandlePtr mySharedData
 
UT_Lock mySharedDataLock
 

Static Protected Attributes

static GA_PrimitiveTypeId theTypeId
 

Additional Inherited Members

- Public Types inherited from GU_PackedImpl
typedef fpreal(GU_PackedImpl::* FloatGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* FloatSetter )(const GU_PrimPacked *, fpreal)
 
typedef GA_Size(GU_PackedImpl::* IntGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* IntSetter )(GU_PrimPacked *, GA_Size)
 
typedef bool(GU_PackedImpl::* BoolGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* BoolSetter )(GU_PrimPacked *, bool)
 
typedef const char
*(GU_PackedImpl::* 
StringGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* StringSetter )(GU_PrimPacked *, const char *)
 
typedef std::string(GU_PackedImpl::* StdStringGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* StdStringSetter )(GU_PrimPacked *, const std::string &)
 
typedef UT_StringHolder(GU_PackedImpl::* StringHolderGetter )(const GU_PrimPacked *) const
 
typedef void(GU_PackedImpl::* StringHolderSetter )(GU_PrimPacked *, const UT_StringHolder &)
 
typedef fpreal(GU_PackedImpl::* FloatTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* FloatTupleSetter )(GU_PrimPacked *, exint, fpreal)
 
typedef GA_Size(GU_PackedImpl::* IntTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* IntTupleSetter )(GU_PrimPacked *, exint, GA_Size)
 
typedef bool(GU_PackedImpl::* BoolTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* BoolTupleSetter )(GU_PrimPacked *, exint, bool)
 
typedef const char
*(GU_PackedImpl::* 
StringTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* StringTupleSetter )(GU_PrimPacked *, exint, const char *)
 
typedef std::string(GU_PackedImpl::* StdStringTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* StdStringTupleSetter )(GU_PrimPacked *, exint, const std::string &)
 
typedef UT_StringHolder(GU_PackedImpl::* StringHolderTupleGetter )(const GU_PrimPacked *, exint) const
 
typedef void(GU_PackedImpl::* StringHolderTupleSetter )(GU_PrimPacked *, exint, const UT_StringHolder &)
 
typedef void(GU_PackedImpl::* F32VectorGetter )(const GU_PrimPacked *, fpreal32 *, exint) const
 
typedef void(GU_PackedImpl::* F32VectorSetter )(GU_PrimPacked *, const fpreal32 *, exint)
 
typedef void(GU_PackedImpl::* F64VectorGetter )(const GU_PrimPacked *, fpreal64 *, exint) const
 
typedef void(GU_PackedImpl::* F64VectorSetter )(GU_PrimPacked *, const fpreal64 *, exint)
 
typedef void(GU_PackedImpl::* I32VectorGetter )(const GU_PrimPacked *, int32 *, exint) const
 
typedef void(GU_PackedImpl::* I32VectorSetter )(GU_PrimPacked *, const int32 *, exint)
 
typedef void(GU_PackedImpl::* I64VectorGetter )(const GU_PrimPacked *, int64 *, exint) const
 
typedef void(GU_PackedImpl::* I64VectorSetter )(GU_PrimPacked *, const int64 *, exint)
 
typedef void(GU_PackedImpl::* BVectorGetter )(const GU_PrimPacked *, bool *, exint) const
 
typedef void(GU_PackedImpl::* BVectorSetter )(GU_PrimPacked *, const bool *, exint)
 
typedef void(GU_PackedImpl::* StringArrayGetter )(const GU_PrimPacked *, UT_StringArray &) const
 
typedef void(GU_PackedImpl::* StringArraySetter )(GU_PrimPacked *, const UT_StringArray &)
 
- Static Protected Member Functions inherited from GU_PackedImpl
template<typename T >
static bool import (const UT_JSONValueMap &options, const UT_StringRef &key, T &value)
 
template<typename T >
static bool import (const UT_Options &options, const UT_StringRef &key, T &value)
 

Detailed Description

Geometry Embedded procedural.

Definition at line 21 of file GU_PackedGeometry.h.

Constructor & Destructor Documentation

GU_PackedGeometry::GU_PackedGeometry ( )
GU_PackedGeometry::GU_PackedGeometry ( const GU_PackedGeometry src)
virtual GU_PackedGeometry::~GU_PackedGeometry ( )
virtual

Member Function Documentation

virtual void GU_PackedGeometry::clearData ( )
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual GU_PackedImpl* GU_PackedGeometry::copy ( ) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual void GU_PackedGeometry::countMemory ( UT_MemoryCounter counter,
bool  inclusive 
) const
virtual

Count memory usage using a UT_MemoryCounter in order to count shared memory correctly.

Implements GU_PackedImpl.

const GU_ConstDetailHandle& GU_PackedGeometry::detailPtr ( ) const
virtual void GU_PackedGeometry::forceLoad ( ) const
virtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

exint GU_PackedGeometry::geometryId ( ) const
inline

Member data accessors for intrinsics

Definition at line 101 of file GU_PackedGeometry.h.

virtual bool GU_PackedGeometry::getBounds ( UT_BoundingBox box) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual GU_PackedFactory* GU_PackedGeometry::getFactory ( ) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual int64 GU_PackedGeometry::getMemoryUsage ( bool  inclusive) const
virtual

Report memory usage (includes all shared memory)

Implements GU_PackedImpl.

virtual GU_ConstDetailHandle GU_PackedGeometry::getPackedDetail ( GU_PackedContext context = 0) const
virtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

virtual bool GU_PackedGeometry::getRenderingBounds ( UT_BoundingBox box) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual void GU_PackedGeometry::getVelocityRange ( UT_Vector3 min,
UT_Vector3 max 
) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual void GU_PackedGeometry::getWidthRange ( fpreal min,
fpreal max 
) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

static void GU_PackedGeometry::install ( GA_PrimitiveFactory prim)
static

Install the procedural.

exint GU_PackedGeometry::intrinsicGeometryId ( const GU_PrimPacked prim) const
inline

Member data accessors for intrinsics

Definition at line 107 of file GU_PackedGeometry.h.

virtual bool GU_PackedGeometry::isLoaded ( ) const
virtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

virtual bool GU_PackedGeometry::isValid ( ) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual bool GU_PackedGeometry::load ( GU_PrimPacked prim,
const UT_Options options,
const GA_LoadMap map 
)
inlinevirtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

Definition at line 64 of file GU_PackedGeometry.h.

template<typename T >
bool GU_PackedGeometry::loadFrom ( const T options,
const GA_LoadMap map 
)
protected
virtual bool GU_PackedGeometry::loadFromJSON ( GU_PrimPacked prim,
const UT_JSONValueMap options,
const GA_LoadMap map 
)
inlinevirtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

Definition at line 67 of file GU_PackedGeometry.h.

bool GU_PackedGeometry::loadPackedGeometry ( GU_PackedContext context = 0) const
protected
virtual bool GU_PackedGeometry::loadSharedData ( int  dtype,
const GA_SharedLoadData it 
)
inlinevirtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

Definition at line 81 of file GU_PackedGeometry.h.

static GU_PrimPacked* GU_PackedGeometry::packGeometry ( GU_Detail dest,
const GU_ConstDetailHandle gdh 
)
static

Convenience method to create a packed primitive in the destination detail which embeds the source detail. The source detail will be copied into the embedded detail. The source detail's bounding box will be computed. (But then cached in the source detail, so multple packs should only compute the first time)

Returns a NULL pointer if the process fails.

static GU_PrimPacked* GU_PackedGeometry::packGeometry ( GU_Detail dest,
const GU_ConstDetailHandle gdh,
const UT_BoundingBox bbox 
)
static

Provide a bounding box of the gdh, compatible with gdh.getBBox() useful if you already had to compute it while building gdh. An invalid bounding box will generate a recompute later, so can be used if you must delay computation, but this is not recommended as many readers may demand it simultanesously leading to performance problems.

virtual bool GU_PackedGeometry::save ( UT_Options options,
const GA_SaveMap map 
) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual bool GU_PackedGeometry::saveCachedBBox ( ) const
inlinevirtual

We will be saving the contents in the same file so we don't have to worry about them changing. This avoids having to seek & stat to restore as bbox.

Reimplemented from GU_PackedImpl.

Definition at line 95 of file GU_PackedGeometry.h.

virtual bool GU_PackedGeometry::saveSharedData ( UT_JSONWriter w,
GA_SaveMap map,
GA_GeometryIndex geometryIndex 
) const
virtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

void GU_PackedGeometry::setDetailPtr ( const GU_DetailHandle d)
void GU_PackedGeometry::setDetailPtr ( const GU_ConstDetailHandle d)
bool GU_PackedGeometry::statPackedGeometry ( ) const
protected
virtual bool GU_PackedGeometry::supportsJSONLoad ( ) const
inlinevirtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

Definition at line 66 of file GU_PackedGeometry.h.

static GA_PrimitiveTypeId GU_PackedGeometry::typeId ( )
inlinestatic

Get the type ID for the GU_PackedGeometry primitive type.

Definition at line 52 of file GU_PackedGeometry.h.

virtual bool GU_PackedGeometry::unpack ( GU_Detail destgdp) const
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

virtual bool GU_PackedGeometry::unpackWithContext ( GU_Detail destgdp,
GU_PackedContext context 
) const
virtual

Implementation of GU_PackedImpl interface

Reimplemented from GU_PackedImpl.

virtual void GU_PackedGeometry::update ( GU_PrimPacked prim,
const UT_Options options 
)
virtual

Implementation of GU_PackedImpl interface

Implements GU_PackedImpl.

Member Data Documentation

GU_ConstDetailHandle GU_PackedGeometry::myDetail
protected

Definition at line 125 of file GU_PackedGeometry.h.

GA_SharedDataHandlePtr GU_PackedGeometry::mySharedData
mutableprotected

Definition at line 127 of file GU_PackedGeometry.h.

UT_Lock GU_PackedGeometry::mySharedDataLock
mutableprotected

Definition at line 128 of file GU_PackedGeometry.h.

UT_BoundingBox GU_PackedGeometry::myStatBounds
mutableprotected

Definition at line 126 of file GU_PackedGeometry.h.

GA_PrimitiveTypeId GU_PackedGeometry::theTypeId
staticprotected

Definition at line 130 of file GU_PackedGeometry.h.


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