#include <GA_Detail.h>

Classes | |
| class | GlobalCompactor |
| Compactor class to perform batch deletion of all elements. More... | |
| class | IOStatus |
| class | PointCompactor |
| class | PrimitiveCompactor |
| class | VertexCompactor |
Public Types | |
| enum | GA_DestroyPointMode { GA_LEAVE_PRIMITIVES, GA_DESTROY_DEGENERATE, GA_DESTROY_DEGENERATE_INCOMPATIBLE } |
| typedef GA_Primitive | GB_MACRO_PRIM_TYPE |
Public Member Functions | |
| GA_Detail (GA_PrimitiveFactory &factory, GA_Storage Pstorage=GA_STORE_REAL32, int Ptuplesize=4, bool full_topology=true) | |
| virtual | ~GA_Detail () |
| Destructor. | |
| int | getUniqueId () const |
| void | clear () |
| GA_Attribute * | getP () |
| Convenience method to access the P attribute. | |
| const GA_Attribute * | getP () const |
| UT_Vector2 | getPos2 (GA_Offset ptoff) const |
| SYS_FORCE_INLINE UT_Vector3 | getPos3 (GA_Offset ptoff) const |
| UT_Vector4 | getPos4 (GA_Offset ptoff) const |
| template<typename T > | |
| bool | getPos3AsArray (const GA_Range &ptrange, UT_ValArray< UT_Vector3T< T > > &positions) const |
| template<typename T > | |
| bool | setPos3FromArray (const GA_Range &ptrange, const UT_ValArray< UT_Vector3T< T > > &positions) |
| void | setPos2 (GA_Offset ptoff, const UT_Vector2 &P) |
| Set P from a UT_Vector2. | |
| SYS_FORCE_INLINE void | setPos3 (GA_Offset ptoff, const UT_Vector3 &P) |
| Set P from a UT_Vector3. | |
| SYS_FORCE_INLINE void | setPos3 (GA_Offset ptoff, fpreal x, fpreal y, fpreal z) |
| Set P given the x, y, z components. | |
| void | setPos4 (GA_Offset ptoff, const UT_Vector4 &P) |
| Set P from a UT_Vector4. | |
| void | setPos4 (GA_Offset ptoff, fpreal x, fpreal y, fpreal z, fpreal w) |
| Set P given the x, y, z, w components. | |
| fpreal | getPw (GA_Offset ptoff) const |
| Get the homogeneous coordinate for a point. | |
| void | setPw (GA_Offset ptoff, fpreal w) |
| Set the homogeneous coordinate for a point. | |
| void | translatePoint (GA_Offset ptoff, const UT_Vector3 &delta) |
| const GA_GBElement * | getGBPoint (GA_Offset ptoff) const |
| Get a backward compatible point object. | |
| GA_GBElement * | getGBPoint (GA_Offset ptoff) |
| GA_GBElementPage * | getGBPage (GA_Offset ptoff) |
| bool | hasGBPoint () const |
| virtual GA_GBElementPage * | allocGBPointPage (const GA_IndexMap &index_map, GA_Size base) const |
| GA_Offset | appendPoint () |
| Append a new point, returning its new data offset. | |
| GA_Size | getNumPoints () const |
| Return the number of points. | |
| GA_Size | getNumPointOffsets () const |
| GA_Offset | pointOffset (GA_Index index) const |
| Given a point's index (in append order), return its data offset. | |
| GA_Index | pointIndex (GA_Offset offset) const |
| Given a point's data offset, return its index. | |
| GA_Index | reorderPoint (GA_Offset ptoff, GA_Index new_order) |
| GA_Primitive * | appendPrimitive (const GA_PrimitiveTypeId &type, GA_Offset offset=GA_INVALID_OFFSET) |
| Append a primitive by GA_PrimitiveTypeId. | |
| GA_Primitive * | appendPrimitive (const char *type, GA_Offset offset=GA_INVALID_OFFSET) |
| Append a primitive by type name string. | |
| GA_Size | getNumPrimitives () const |
| Return the number of primitives. | |
| GA_Size | getNumPrimitiveOffsets () const |
| GA_Offset | primitiveOffset (GA_Index index) const |
| Given a primitive's index (in append order), return its data offset. | |
| GA_Index | primitiveIndex (GA_Offset offset) const |
| Given a primitive's data offset, return its index. | |
| GA_Index | reorderPrimitive (GA_Offset offset, GA_Index new_order) |
| bool | swapPrimitiveOrder (GA_Offset offset1, GA_Offset offset2) |
| Swap the order of the two specified primitive data offsets. | |
| GA_Offset | appendVertex () |
| Append a vertex (for the entire detail). | |
| GA_Size | getNumVertices () const |
| Return the number verticies in the entire detail. | |
| GA_Size | getNumVertexOffsets () const |
| GA_Offset | vertexOffset (GA_Index index) const |
| Given a vertex's index (in append order), return its data offset. | |
| GA_Index | vertexIndex (GA_Offset offset) const |
| Given a vertex's data offset, return its index. | |
| GA_Offset | vertexPoint (GA_Offset vertex) const |
| Given a vertex, return the point it references. | |
| GA_Offset | vertexPrimitive (GA_Offset vertex) const |
| GA_Offset | pointVertex (GA_Offset point) const |
| GA_Offset | vertexToNextVertex (GA_Offset vtx) const |
| GA_Offset | vertexToPrevVertex (GA_Offset vtx) const |
| GA_Offset | getVertexReferencingPoint (GA_Offset ptoff, GA_Offset primoff=GA_INVALID_OFFSET) const |
| GA_Size | getVerticesReferencingPoint (GA_OffsetArray &vertices, GA_Offset point_offset) const |
| Given a point offset, return a list of all vertices which reference it. | |
| GA_Size | getPrimitivesReferencingPoint (GA_OffsetArray &primitives, GA_Offset point_offset) const |
| Given a point offset, return a list of all primitives which reference it. | |
| bool | destroyPointOffset (GA_Offset ptoff, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES) |
| Destroy the given point. Requires full topology. | |
| bool | destroyPointIndex (GA_Index index, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES) |
| bool | destroyVertexOffset (GA_Offset offset) |
| Destroy the given vertex. | |
| virtual bool | destroyPrimitiveOffset (GA_Offset offset, bool and_points=false) |
| bool | destroyPrimitiveIndex (GA_Index index, bool and_points=false) |
| bool | destroyPrimitive (GA_Primitive &prim, bool and_points=false) |
| virtual GA_Size | destroyPrimitiveOffsets (const GA_Range &it, bool and_points=false) |
| GA_Size | destroyPrimitives (const GA_Range &it, bool and_points=false) |
| GA_Size | destroyDegeneratePrimitives (const GA_Range &it, bool and_points=false) |
| GA_Size | destroyDegeneratePrimitives (const GA_PrimitiveGroup *prims=0, bool and_points=false) |
| GA_Size | destroyUnusedPoints (const GA_PointGroup *ptgrp=0) |
| Destroy unused points. If ptgrp is given, then only within the group. | |
| GA_Size | destroyUnusedPoints (const GA_Range &point_range) |
| Destroy unused points in given point range. | |
| GA_Size | destroyPointOffsets (const GA_Range &range, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES) |
| GA_Size | destroyPoints (const GA_Range &range, GA_DestroyPointMode mode=GA_LEAVE_PRIMITIVES) |
| GA_Size | destroyVertexOffsets (const GA_Range &range) |
| GA_Size | destroyVertices (const GA_Range &range) |
| bool | isPointUsed (GA_Offset point) const |
| const GA_IndexMap & | getIndexMap (GA_AttributeOwner owner) const |
| GA_IndexMap & | getIndexMap (GA_AttributeOwner owner) |
| const GA_IndexMap & | getPointMap () const |
| const GA_IndexMap & | getVertexMap () const |
| const GA_IndexMap & | getPrimitiveMap () const |
| const GA_IndexMap & | getGlobalMap () const |
| const GA_PrimitiveList & | getPrimitiveList () const |
| GA_PrimitiveList & | getPrimitiveList () |
| GA_AttributeSet & | getAttributes () |
| const GA_AttributeSet & | getAttributes () const |
| GA_Topology & | getTopology () |
| const GA_Topology & | getTopology () const |
| bool | checkValidTopology () const |
| void | createTopologyAttributes () |
| void | clearTopologyAttributes () |
| GA_AttributeOwner | getAttributeOwner (const GA_AttributeDict &dict) const |
| Get access to the attributes for one element type. | |
| const GA_AttributeDict & | getAttributeDict (GA_AttributeOwner owner) const |
| bool | defragment (GA_AttributeOwner owner, const UT_Options *options=NULL) |
| Defragment index maps. | |
| bool | defragment (const UT_Options *options=NULL) |
| Defragment everything. | |
| void | sortVertexMapByPrimitiveUse () |
| bool | destroyAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name) |
| bool | destroyAttribute (GA_AttributeOwner owner, const char *name) |
| bool | renameAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *fromName, const char *toName) |
| GA_RWAttributeRef | createTupleAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *create_args, const UT_Options *attribute_options) |
| GA_RWAttributeRef | createTupleAttribute (GA_AttributeOwner owner, const char *name, GA_Storage storage, int tuple_size, const GA_Defaults &defaults, const UT_Options *create_args, const UT_Options *attribute_options) |
| GA_RWAttributeRef | createStringAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name, const UT_Options *create_args=NULL, const UT_Options *attribute_options=NULL) |
| GA_RWAttributeRef | createStringAttribute (GA_AttributeOwner owner, const char *name, const UT_Options *create_args=NULL, const UT_Options *attribute_options=NULL) |
| GA_ROAttributeRef | findAttribute (GA_AttributeScope scope, const char *name, const GA_AttributeOwner search_order[], int search_size) const |
| GA_ROAttributeRef | findAttribute (const char *name, const GA_AttributeOwner search_order[], int search_size) const |
| GA_ROAttributeRef | findAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name) const |
| GA_ROAttributeRef | findAttribute (GA_AttributeOwner owner, const char *name) const |
| GA_ROAttributeRef | findPointAttribute (GA_AttributeScope s, const char *name) const |
| GA_ROAttributeRef | findPointAttribute (const char *name) const |
| GA_ROAttributeRef | findVertexAttribute (GA_AttributeScope s, const char *name) const |
| GA_ROAttributeRef | findVertexAttribute (const char *name) const |
| GA_ROAttributeRef | findPrimitiveAttribute (GA_AttributeScope s, const char *name) const |
| GA_ROAttributeRef | findPrimitiveAttribute (const char *name) const |
| GA_ROAttributeRef | findGlobalAttribute (GA_AttributeScope s, const char *name) const |
| GA_ROAttributeRef | findGlobalAttribute (const char *name) const |
| GA_RWAttributeRef | findAttribute (GA_AttributeScope scope, const char *name, const GA_AttributeOwner search_order[], int search_size) |
| GA_RWAttributeRef | findAttribute (const char *name, const GA_AttributeOwner search_order[], int search_size) |
| GA_RWAttributeRef | findAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name) |
| GA_RWAttributeRef | findAttribute (GA_AttributeOwner owner, const char *name) |
| GA_RWAttributeRef | findPointAttribute (GA_AttributeScope s, const char *name) |
| GA_RWAttributeRef | findPointAttribute (const char *name) |
| GA_RWAttributeRef | findVertexAttribute (GA_AttributeScope s, const char *name) |
| GA_RWAttributeRef | findVertexAttribute (const char *name) |
| GA_RWAttributeRef | findPrimitiveAttribute (GA_AttributeScope s, const char *name) |
| GA_RWAttributeRef | findPrimitiveAttribute (const char *name) |
| GA_RWAttributeRef | findGlobalAttribute (GA_AttributeScope s, const char *name) |
| GA_RWAttributeRef | findGlobalAttribute (const char *name) |
| GA_ElementGroup * | createElementGroup (GA_AttributeOwner owner, const char *name, bool ordered=false) |
| GA_ElementGroup * | createInternalElementGroup (GA_AttributeOwner owner, bool ordered=false) |
| GA_ElementGroup * | findElementGroup (GA_AttributeOwner owner, const char *name) const |
| template<GA_AttributeOwner OWNER> | |
| GA_ElementGroupTableT< OWNER > ::GROUP_TYPE * | createElementGroup (const char *name, bool ordered=false) |
| template<GA_AttributeOwner OWNER> | |
| GA_ElementGroupTableT< OWNER > ::GROUP_TYPE * | createInternalElementGroup (bool ordered=false) |
| template<GA_AttributeOwner OWNER> | |
| GA_ElementGroupTableT< OWNER > ::GROUP_TYPE * | findElementGroup (const char *name) |
| template<GA_AttributeOwner OWNER> | |
| const GA_ElementGroupTableT < OWNER >::GROUP_TYPE * | findElementGroup (const char *name) const |
| void | getElementGroupList (GA_AttributeOwner owner, UT_PtrArray< const GA_ElementGroup * > &list) const |
| void | getElementGroupList (GA_AttributeOwner owner, UT_PtrArray< GA_ElementGroup * > &list) |
| bool | destroyElementGroup (GA_AttributeOwner owner, const char *name) |
| bool | destroyElementGroup (GA_ElementGroup *group) |
| bool | destroyGroup (GA_Group *group) |
| const GA_PointGroup * | findPointGroup (const char *name) const |
| const GA_VertexGroup * | findVertexGroup (const char *name) const |
| const GA_PrimitiveGroup * | findPrimitiveGroup (const char *name) const |
| GA_PointGroup * | findPointGroup (const char *name) |
| GA_VertexGroup * | findVertexGroup (const char *name) |
| GA_PrimitiveGroup * | findPrimitiveGroup (const char *name) |
| GA_EdgeGroup * | createEdgeGroup (const char *name) |
| GA_EdgeGroup * | createInternalEdgeGroup () |
| const GA_EdgeGroup * | findEdgeGroup (const char *name) const |
| GA_EdgeGroup * | findEdgeGroup (const char *name) |
| void | getEdgeGroupList (UT_PtrArray< const GA_EdgeGroup * > &list) const |
| void | getEdgeGroupList (UT_PtrArray< GA_EdgeGroup * > &list) |
| bool | destroyEdgeGroup (const char *name) |
| GA_Size | destroyEmptyGroups (GA_AttributeOwner owner) |
| GA_Size | destroyAllEmptyGroups () |
| const GA_IntrinsicManager & | getIntrinsicManager () const |
| GA_Range | getPointRange (const GA_PointGroup *group=0) const |
| Get a range of all points in the detail. | |
| GA_Range | getPrimitiveRange (const GA_PrimitiveGroup *group=0) const |
| Get a range of all primitives in the detail. | |
| GA_Range | getPointRangeSlice (GA_Index begin_ptnum, GA_Index end_ptnum=GA_INVALID_INDEX) const |
| Get ordered point range from base_ptnum to end_ptnum, or the end. | |
| GA_Range | getPrimitiveRangeSlice (GA_Index begin_prim, GA_Index end_prim=GA_INVALID_INDEX) const |
| Get ordered primitive range from base_prim to end_prim, or the end. | |
| GA_Range | getVertexRange (const GA_VertexGroup *group=0) const |
| Get a range of all vertices in the detail. | |
| GA_Range | getGlobalRange () const |
| Get a range representing the global (detail) data. | |
| virtual int64 | getMemoryUsage () const |
| Compute memory usage. | |
| bool | enlargeBoundingBox (UT_BoundingRect &box, const GA_Range &range) const |
| bool | enlargeBoundingBox (UT_BoundingRect &box, const GA_Range &range, const GA_ROAttributeRef &P) const |
| bool | enlargeBoundingBox (UT_BoundingBox &box, const GA_Range &range) const |
| bool | enlargeBoundingBox (UT_BoundingBox &box, const GA_Range &range, const GA_ROAttributeRef &P) const |
| void | computeQuickBounds (UT_BoundingBox &box) const |
| void | computeQuickBounds (UT_BoundingBox &box, GA_Size counts[], GA_Size count_buf_size) const |
| virtual GA_Detail * | cloneEmptyDetail (bool clone_attributes) const =0 |
| void | baseMerge (const GA_Detail &src) |
| Merge the source detail into this detail (using default options). | |
| void | baseMerge (const GA_Detail &src, GA_MergeOptions &options) |
| Merge the source detail into this detail with options. | |
| void | mergeGlobalAttributes (const GA_Detail &src) |
| Merge global attributes (using default options). | |
| void | mergeGlobalAttributes (const GA_Detail &src, GA_MergeOptions &options) |
| Merge source global attributes using options. | |
| void | cloneMissingAttributes (const GA_Detail &src, GA_AttributeOwner owner, const GA_AttributeFilter &filter) |
| bool | registerIO (GA_IO *io) const |
| Register an IO file format. | |
| const GA_IO * | findIO (const char *name=NULL) const |
| void | getIONames (UT_StringArray &names) const |
| IOStatus | save (const char *filename, const UT_Options *options, UT_StringArray *errors=0) const |
| IOStatus | save (ostream &os, bool binary, const UT_Options *options, UT_StringArray *errors=0) const |
| IOStatus | save (UT_JSONWriter &w, const UT_Options *opts=0) const |
| IOStatus | load (const char *filename, const UT_Options *opts=0, UT_StringArray *errors=0) |
| IOStatus | load (UT_IStream &is, const UT_Options *opts=0, UT_StringArray *errors=0) |
| Load a geometry file given a UT_IStream. | |
| IOStatus | load (UT_JSONParser &p, const UT_Options *opts=0, UT_StringArray *errors=0) |
| IOStatus | statFile (const char *filename, GA_Stat &stat, uint level=0xffff, const UT_Options *opts=NULL) const |
| bool | stat (GA_Stat &stat, uint level=0xffff) const |
| void | statAttributes (GA_Stat &stat, uint level=0xffff) const |
| Fill out only the attribute information on the stat. | |
| void | statGroups (GA_Stat &stat, uint level=0xffff) const |
| Fill out only the group information on the stat. | |
| virtual void | statVolumes (GA_Stat &stat, uint level=0xffff) const |
| Fill out only the volume information. | |
| const GA_ElementGroupTable & | getElementGroupTable (GA_AttributeOwner owner) const |
| GA_ElementGroupTable & | getElementGroupTable (GA_AttributeOwner owner) |
| const GA_PrimitiveFactory & | getPrimitiveFactory () const |
| void | refreshCachedHandles () |
| void | constructTailInitializers (GA_AttributeOwner owner, GA_Offset start, GA_Size size=1) |
| GA_RWAttributeRef | createAttribute (GA_AttributeOwner owner, GA_AttributeScope scope, const char *name, const UT_Options *create_args, const UT_Options *attribute_options, const char *style) |
| GA_RWAttributeRef | createAttribute (GA_AttributeOwner owner, const char *name, const UT_Options *create_args, const UT_Options *attribute_options, const char *style) |
| template<typename T > | |
| bool | getPointAttributeAsArray (const GA_Attribute *atr, const GA_Range &ptrange, UT_ValArray< T > &result) const |
| Get/set all the point attribute data from/to a contiguous array. | |
| template<typename T > | |
| bool | setPointAttributeFromArray (GA_Attribute *atr, const GA_Range &ptrange, const UT_ValArray< T > &src) |
| GA_LocalIntrinsic | findIntrinsic (const char *nm) const |
| GA_LocalIntrinsic | findIntrinsic (GA_GlobalIntrinsic h) const |
| GA_GlobalIntrinsic | findGlobalIntrinsic (GA_LocalIntrinsic h) const |
| const char * | getIntrinsicName (GA_LocalIntrinsic h) const |
| int | getIntrinsicTupleSize (GA_LocalIntrinsic h) const |
| GA_StorageClass | getIntrinsicStorage (GA_LocalIntrinsic h) const |
| bool | getIntrinsicReadOnly (GA_LocalIntrinsic h) const |
| const UT_Options * | getIntrinsicOptions (GA_LocalIntrinsic h) const |
| int | getIntrinsic (GA_LocalIntrinsic h, UT_String &val) const |
| int | getIntrinsic (GA_LocalIntrinsic h, UT_StringArray &val) const |
| int | getIntrinsic (GA_LocalIntrinsic h, int64 *v, GA_Size size) const |
| int | getIntrinsic (GA_LocalIntrinsic h, fpreal *v, GA_Size sz) const |
| int | setIntrinsic (GA_LocalIntrinsic h, const char *value) |
| int | setIntrinsic (GA_LocalIntrinsic h, const UT_StringArray &value) |
| int | setIntrinsic (GA_LocalIntrinsic h, const char **val, GA_Size s) |
| int | setIntrinsic (GA_LocalIntrinsic h, const int64 val) |
| int | setIntrinsic (GA_LocalIntrinsic h, const fpreal val) |
| int | setIntrinsic (GA_LocalIntrinsic h, const int64 *val, GA_Size sz) |
| int | setIntrinsic (GA_LocalIntrinsic h, const fpreal *v, GA_Size sz) |
| IOStatus | saveClassic (const char *, const UT_Options *) const |
| IOStatus | saveClassic (ostream &os, bool, const UT_Options *) const |
| void | addTailInitializer (GA_Attribute *attrib) |
| bool | removeTailInitializer (GA_Attribute *attrib) |
Static Public Member Functions | |
| static GA_IntrinsicManager::Registrar | registerIntrinsics (GA_PrimitiveFactory &factory) |
| static int64 | printMemory (UT_WorkBuffer &buffer, bool include_total=true, int indent=3, const char *title="Geometry Memory Tracking") |
| Debugging output of detail. | |
| template<typename T > | |
| static const T::GB_MACRO_PRIM_TYPE * | GB_MACRO_CAST (const T *, const GA_Primitive *prim) |
| template<typename T > | |
| static T::GB_MACRO_PRIM_TYPE * | GB_MACRO_CAST (const T *, GA_Primitive *prim) |
| template<typename T > | |
| static const T::GB_MACRO_POINT_TYPE * | GB_MACRO_CAST (const T *, const GA_GBElement *pt) |
| template<typename T > | |
| static T::GB_MACRO_POINT_TYPE * | GB_MACRO_CAST (const T *, GA_GBElement *pt) |
Protected Member Functions | |
| void | doConstructTailInitializers (GA_AttributeOwner owner, GA_Offset start, GA_Size size) |
| bool | loadPrimitivesH9 (UT_IStream &is, int count, const GA_FileFormatH9::PrimTypeXlate &type_map, const UT_RefArray< GA_AttribLoadDataH9 > &prim_attribs, const UT_RefArray< GA_AttribLoadDataH9 > &vtx_attribs) |
| bool | savePrimitivesH9 (ostream &os, int binary, const UT_PtrArray< const GA_Primitive * > &list, const GA_FileFormatH9::PrimTypeXlate &type_map, const UT_RefArray< GA_AttribSaveDataH9 > &prim_attribs, const UT_RefArray< GA_AttribSaveDataH9 > &vx_attribs) const |
| void | cloneCopyGroupsAndAttributes (const GA_Detail &src) |
| GA_Primitive * | unstashPrimitive (const GA_PrimitiveDefinition *type, GA_Offset offset) |
| virtual GA_Primitive * | unstashPrimitiveImpl (const GA_PrimitiveDefinition *type, GA_Offset offset) |
| void | setStashFlag (bool val) |
| GA_PointGroupTable & | getPointGroupTable () |
| const GA_PointGroupTable & | getPointGroupTable () const |
| GA_PrimitiveGroupTable & | getPrimitiveGroupTable () |
| const GA_PrimitiveGroupTable & | getPrimitiveGroupTable () const |
| GA_VertexGroupTable & | getVertexGroupTable () |
| const GA_VertexGroupTable & | getVertexGroupTable () const |
| GA_EdgeGroupTable & | getEdgeGroupTable () |
| const GA_EdgeGroupTable & | getEdgeGroupTable () const |
| virtual int | localIntrinsicTupleSize (GA_IntrinsicEval &eval) const |
| virtual int | localGetIntrinsicS (GA_IntrinsicEval &eval, UT_String &value) const |
| virtual int | localGetIntrinsicSA (GA_IntrinsicEval &eval, UT_StringArray &value) const |
| virtual int | localGetIntrinsicI (GA_IntrinsicEval &eval, int64 *value, GA_Size size) const |
| virtual int | localGetIntrinsicF (GA_IntrinsicEval &eval, fpreal *value, GA_Size size) const |
| virtual int | localSetIntrinsicS (GA_IntrinsicEval &eval, const char *value) |
| virtual int | localSetIntrinsicSA (GA_IntrinsicEval &eval, const UT_StringArray &value) |
| virtual int | localSetIntrinsicSS (GA_IntrinsicEval &eval, const char **value, GA_Size size) |
| virtual int | localSetIntrinsicI (GA_IntrinsicEval &eval, const int64 *value, GA_Size size) |
| virtual int | localSetIntrinsicF (GA_IntrinsicEval &eval, const fpreal *value, GA_Size size) |
Static Protected Member Functions | |
| static void | finishLoadH9 (const UT_RefArray< GA_AttribLoadDataH9 > &attribs) |
Friends | |
| class | GA_IO |
| class | GA_Primitive |
| GA_Primitive * | GA_PrimitiveDefinition::getStashedPrimitive (GA_Detail &, GA_Offset) const |
| bool | saveVertexPointReferenceH9 (ostream &os, int binary, GA_Offset vertex_offset) const |
| bool | loadVertexH9 (UT_IStream &is, GA_Offset vertex_offset, const UT_RefArray< GA_AttribLoadDataH9 > &vtx_l) |
| bool | saveVertexH9 (ostream &os, int binary, GA_Offset vertex_offset, const UT_RefArray< GA_AttribSaveDataH9 > &vtx_l) const |
| static bool | loadAttribDataH9 (UT_IStream &is, GA_Offset offset, const UT_RefArray< GA_AttribLoadDataH9 > &l) |
| static bool | saveAttribDataH9 (ostream &os, int binary, GA_Offset offset, const UT_RefArray< GA_AttribSaveDataH9 > &l, char delim_ch= '(') |
All Houdini geometry is stored in a GA_Detail class. The detail stores lists of attributes (GA_Attribute) which are maintained in GA_AttributeSet collections. The attribute set contains 4 separate classes of attribute based on the GA_AttributeOwner enum.
Definition at line 77 of file GA_Detail.h.
When destroying points, there are three different modes when dealing with primitives that reference the points. These modes cause different behaviours when notifying primitives about point deletion. The behaviour is determined by the result of primitive->dereferencePoint() or primitive->dereferencePoints().
Definition at line 425 of file GA_Detail.h.
| GA_Detail::GA_Detail | ( | GA_PrimitiveFactory & | factory, | |
| GA_Storage | Pstorage = GA_STORE_REAL32, |
|||
| int | Ptuplesize = 4, |
|||
| bool | full_topology = true | |||
| ) |
| Pstorage | determines the precision of the P attribute. | |
| Ptuplesize | determines the tuple size of the P attribute. This should either be 3 or 4 depending on the dimension of the geometry The P attribute stores homogeneous coordinates | |
| full_topology | indicates whether the detail should maintain additional attributes which make it easy to lookup
|
| virtual GA_Detail::~GA_Detail | ( | ) | [virtual] |
Destructor.
| void GA_Detail::addTailInitializer | ( | GA_Attribute * | attrib | ) |
Add/Remove an attribute to the tail-initialization list.
When attributes grow in size, they usually initialize their values to the default value. However, some attributes may not adhere to this rule, or due to space optimizations, may have the values set to non-default values. In this case, they should be added to the tail-initialization list. When new elements are appended to the detail, they will be told to re-initialize the new element. Otherwise, the detail will assume that the element values are at their default value.
When removing, the method will return true if the attribute was a tail initializer.
DO NOT CALL THESE: Use the GA_Attribute::setTailInitialization instead.
| virtual GA_GBElementPage* GA_Detail::allocGBPointPage | ( | const GA_IndexMap & | index_map, | |
| GA_Size | base | |||
| ) | const [virtual] |
Derived classes that need to manage objects derived from GA_GBPoint need to override this method.
Reimplemented in GD_Detail, and GEO_Detail.
| GA_Offset GA_Detail::appendPoint | ( | ) | [inline] |
Append a new point, returning its new data offset.
Reimplemented in GD_Detail, and GEO_Detail.
Definition at line 266 of file GA_Detail.h.
| GA_Primitive* GA_Detail::appendPrimitive | ( | const char * | type, | |
| GA_Offset | offset = GA_INVALID_OFFSET | |||
| ) |
Append a primitive by type name string.
| GA_Primitive* GA_Detail::appendPrimitive | ( | const GA_PrimitiveTypeId & | type, | |
| GA_Offset | offset = GA_INVALID_OFFSET | |||
| ) |
Append a primitive by GA_PrimitiveTypeId.
| GA_Offset GA_Detail::appendVertex | ( | ) | [inline] |
| void GA_Detail::baseMerge | ( | const GA_Detail & | src, | |
| GA_MergeOptions & | options | |||
| ) |
Merge the source detail into this detail with options.
| void GA_Detail::baseMerge | ( | const GA_Detail & | src | ) |
Merge the source detail into this detail (using default options).
| bool GA_Detail::checkValidTopology | ( | ) | const |
| void GA_Detail::clear | ( | void | ) | [inline] |
Re-initialize:
Definition at line 146 of file GA_Detail.h.
| void GA_Detail::clearTopologyAttributes | ( | ) |
| void GA_Detail::cloneCopyGroupsAndAttributes | ( | const GA_Detail & | src | ) | [protected] |
Copy groups and attribute definitions from the source detail.
The caller should ensure that all attributes are cleared before calling this method (i.e. call clear())
| virtual GA_Detail* GA_Detail::cloneEmptyDetail | ( | bool | clone_attributes | ) | const [pure virtual] |
Create a new detail that has all the same attributes, groups, etc. but has no elements. Subclasses should look at: cloneCopyGroupsAndAttributes()
Implemented in GEO_Profiles, and GU_Detail.
| void GA_Detail::cloneMissingAttributes | ( | const GA_Detail & | src, | |
| GA_AttributeOwner | owner, | |||
| const GA_AttributeFilter & | filter | |||
| ) |
Clone any missing attributes from the source detail, skipping P, any topology, and any group attributes.
| void GA_Detail::computeQuickBounds | ( | UT_BoundingBox & | box, | |
| GA_Size | counts[], | |||
| GA_Size | count_buf_size | |||
| ) | const |
Compute the bounding box quickly by:
counts buffer will be filled with the count of each primitive type in the detail. The count_buf_size should be set to getPrimitiveFactory().getPrimTypeCount(); | void GA_Detail::computeQuickBounds | ( | UT_BoundingBox & | box | ) | const |
Compute the bounding box quickly by:
| void GA_Detail::constructTailInitializers | ( | GA_AttributeOwner | owner, | |
| GA_Offset | start, | |||
| GA_Size | size = 1 | |||
| ) | [inline] |
Tell all tail initialization attributes to initialize the given offset
Definition at line 1353 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::createAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name, | |||
| const UT_Options * | create_args, | |||
| const UT_Options * | attribute_options, | |||
| const char * | style | |||
| ) | [inline] |
createAttribute is very general purpose method, requiring some knowledge about ATIs, etc. Unless you are creating your own user-defined attributes, it would likely be better to use something at the GEO_Detail level, like addFloatTuple.
Definition at line 551 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::createAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name, | |||
| const UT_Options * | create_args, | |||
| const UT_Options * | attribute_options, | |||
| const char * | style | |||
| ) | [inline] |
createAttribute is very general purpose method, requiring some knowledge about ATIs, etc. Unless you are creating your own user-defined attributes, it would likely be better to use something at the GEO_Detail level, like addFloatTuple.
Definition at line 539 of file GA_Detail.h.
| GA_EdgeGroup* GA_Detail::createEdgeGroup | ( | const char * | name | ) |
| GA_ElementGroupTableT<OWNER>::GROUP_TYPE* GA_Detail::createElementGroup | ( | const char * | name, | |
| bool | ordered = false | |||
| ) | [inline] |
Definition at line 774 of file GA_Detail.h.
| GA_ElementGroup* GA_Detail::createElementGroup | ( | GA_AttributeOwner | owner, | |
| const char * | name, | |||
| bool | ordered = false | |||
| ) |
| GA_EdgeGroup* GA_Detail::createInternalEdgeGroup | ( | ) |
| GA_ElementGroupTableT<OWNER>::GROUP_TYPE* GA_Detail::createInternalElementGroup | ( | bool | ordered = false |
) | [inline] |
Definition at line 783 of file GA_Detail.h.
| GA_ElementGroup* GA_Detail::createInternalElementGroup | ( | GA_AttributeOwner | owner, | |
| bool | ordered = false | |||
| ) |
| GA_RWAttributeRef GA_Detail::createStringAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name, | |||
| const UT_Options * | create_args = NULL, |
|||
| const UT_Options * | attribute_options = NULL | |||
| ) | [inline] |
Definition at line 628 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::createStringAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name, | |||
| const UT_Options * | create_args = NULL, |
|||
| const UT_Options * | attribute_options = NULL | |||
| ) | [inline] |
Definition at line 616 of file GA_Detail.h.
| void GA_Detail::createTopologyAttributes | ( | ) |
| GA_RWAttributeRef GA_Detail::createTupleAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name, | |||
| GA_Storage | storage, | |||
| int | tuple_size, | |||
| const GA_Defaults & | defaults, | |||
| const UT_Options * | create_args, | |||
| const UT_Options * | attribute_options | |||
| ) | [inline] |
Definition at line 601 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::createTupleAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name, | |||
| GA_Storage | storage, | |||
| int | tuple_size, | |||
| const GA_Defaults & | defaults, | |||
| const UT_Options * | create_args, | |||
| const UT_Options * | attribute_options | |||
| ) | [inline] |
Definition at line 585 of file GA_Detail.h.
| bool GA_Detail::defragment | ( | const UT_Options * | options = NULL |
) |
Defragment everything.
| bool GA_Detail::defragment | ( | GA_AttributeOwner | owner, | |
| const UT_Options * | options = NULL | |||
| ) |
Defragment index maps.
| GA_Size GA_Detail::destroyAllEmptyGroups | ( | ) |
| bool GA_Detail::destroyAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 571 of file GA_Detail.h.
| bool GA_Detail::destroyAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name | |||
| ) | [inline] |
Definition at line 564 of file GA_Detail.h.
| GA_Size GA_Detail::destroyDegeneratePrimitives | ( | const GA_PrimitiveGroup * | prims = 0, |
|
| bool | and_points = false | |||
| ) |
| bool GA_Detail::destroyEdgeGroup | ( | const char * | name | ) | [inline] |
Definition at line 840 of file GA_Detail.h.
| bool GA_Detail::destroyElementGroup | ( | GA_ElementGroup * | group | ) |
| bool GA_Detail::destroyElementGroup | ( | GA_AttributeOwner | owner, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 808 of file GA_Detail.h.
| GA_Size GA_Detail::destroyEmptyGroups | ( | GA_AttributeOwner | owner | ) |
| bool GA_Detail::destroyGroup | ( | GA_Group * | group | ) |
| bool GA_Detail::destroyPointIndex | ( | GA_Index | index, | |
| GA_DestroyPointMode | mode = GA_LEAVE_PRIMITIVES | |||
| ) |
| bool GA_Detail::destroyPointOffset | ( | GA_Offset | ptoff, | |
| GA_DestroyPointMode | mode = GA_LEAVE_PRIMITIVES | |||
| ) |
Destroy the given point. Requires full topology.
| GA_Size GA_Detail::destroyPointOffsets | ( | const GA_Range & | range, | |
| GA_DestroyPointMode | mode = GA_LEAVE_PRIMITIVES | |||
| ) | [inline] |
Definition at line 469 of file GA_Detail.h.
| GA_Size GA_Detail::destroyPoints | ( | const GA_Range & | range, | |
| GA_DestroyPointMode | mode = GA_LEAVE_PRIMITIVES | |||
| ) | [inline] |
Definition at line 474 of file GA_Detail.h.
| bool GA_Detail::destroyPrimitive | ( | GA_Primitive & | prim, | |
| bool | and_points = false | |||
| ) |
| bool GA_Detail::destroyPrimitiveIndex | ( | GA_Index | index, | |
| bool | and_points = false | |||
| ) |
| virtual bool GA_Detail::destroyPrimitiveOffset | ( | GA_Offset | offset, | |
| bool | and_points = false | |||
| ) | [virtual] |
Destroy the given primitive. Optionally destroy any referenced points that will no longer be in use after this operation. Note that this option requires full topology.
Reimplemented in GD_Detail, and GEO_Detail.
| virtual GA_Size GA_Detail::destroyPrimitiveOffsets | ( | const GA_Range & | it, | |
| bool | and_points = false | |||
| ) | [virtual] |
Destroy the given primitives. Optionally destroy any referenced points that will no longer be in use after this operation. Note that this option requires full topology.
Reimplemented in GD_Detail, and GEO_Detail.
Definition at line 454 of file GA_Detail.h.
Destroy unused points in given point range.
| GA_Size GA_Detail::destroyUnusedPoints | ( | const GA_PointGroup * | ptgrp = 0 |
) | [inline] |
Destroy unused points. If ptgrp is given, then only within the group.
Definition at line 463 of file GA_Detail.h.
| bool GA_Detail::destroyVertexOffset | ( | GA_Offset | offset | ) |
Destroy the given vertex.
Definition at line 481 of file GA_Detail.h.
Definition at line 483 of file GA_Detail.h.
| void GA_Detail::doConstructTailInitializers | ( | GA_AttributeOwner | owner, | |
| GA_Offset | start, | |||
| GA_Size | size | |||
| ) | [protected] |
| bool GA_Detail::enlargeBoundingBox | ( | UT_BoundingBox & | box, | |
| const GA_Range & | range, | |||
| const GA_ROAttributeRef & | P | |||
| ) | const |
| bool GA_Detail::enlargeBoundingBox | ( | UT_BoundingBox & | box, | |
| const GA_Range & | range | |||
| ) | const |
| bool GA_Detail::enlargeBoundingBox | ( | UT_BoundingRect & | box, | |
| const GA_Range & | range, | |||
| const GA_ROAttributeRef & | P | |||
| ) | const |
| bool GA_Detail::enlargeBoundingBox | ( | UT_BoundingRect & | box, | |
| const GA_Range & | range | |||
| ) | const |
| GA_RWAttributeRef GA_Detail::findAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 711 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name | |||
| ) | [inline] |
Definition at line 707 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findAttribute | ( | const char * | name, | |
| const GA_AttributeOwner | search_order[], | |||
| int | search_size | |||
| ) | [inline] |
Definition at line 699 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findAttribute | ( | GA_AttributeScope | scope, | |
| const char * | name, | |||
| const GA_AttributeOwner | search_order[], | |||
| int | search_size | |||
| ) | [inline] |
Find an existing attribute, returning a read-write reference.
Definition at line 689 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findAttribute | ( | GA_AttributeOwner | owner, | |
| const char * | name | |||
| ) | const [inline] |
Definition at line 663 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | name | |||
| ) | const [inline] |
Definition at line 659 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findAttribute | ( | const char * | name, | |
| const GA_AttributeOwner | search_order[], | |||
| int | search_size | |||
| ) | const [inline] |
Definition at line 651 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findAttribute | ( | GA_AttributeScope | scope, | |
| const char * | name, | |||
| const GA_AttributeOwner | search_order[], | |||
| int | search_size | |||
| ) | const [inline] |
Find an existing attribute, returning a read-only reference.
Definition at line 641 of file GA_Detail.h.
| GA_EdgeGroup* GA_Detail::findEdgeGroup | ( | const char * | name | ) |
| const GA_EdgeGroup* GA_Detail::findEdgeGroup | ( | const char * | name | ) | const |
| const GA_ElementGroupTableT<OWNER>::GROUP_TYPE* GA_Detail::findElementGroup | ( | const char * | name | ) | const [inline] |
Definition at line 798 of file GA_Detail.h.
| GA_ElementGroupTableT<OWNER>::GROUP_TYPE* GA_Detail::findElementGroup | ( | const char * | name | ) | [inline] |
Definition at line 791 of file GA_Detail.h.
| GA_ElementGroup* GA_Detail::findElementGroup | ( | GA_AttributeOwner | owner, | |
| const char * | name | |||
| ) | const |
| GA_RWAttributeRef GA_Detail::findGlobalAttribute | ( | const char * | name | ) | [inline] |
Definition at line 732 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findGlobalAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 729 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findGlobalAttribute | ( | const char * | name | ) | const [inline] |
Definition at line 684 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findGlobalAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | const [inline] |
Definition at line 681 of file GA_Detail.h.
| GA_GlobalIntrinsic GA_Detail::findGlobalIntrinsic | ( | GA_LocalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 880 of file GA_Detail.h.
| GA_LocalIntrinsic GA_Detail::findIntrinsic | ( | GA_GlobalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 878 of file GA_Detail.h.
| GA_LocalIntrinsic GA_Detail::findIntrinsic | ( | const char * | nm | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 876 of file GA_Detail.h.
| const GA_IO* GA_Detail::findIO | ( | const char * | name = NULL |
) | const [inline] |
Find an IO class. If no name is specified, the "default" IO class will be returned (the one specified by HOUDINI_GEOMETRY_FORMAT).
Definition at line 1021 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findPointAttribute | ( | const char * | name | ) | [inline] |
Definition at line 717 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findPointAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 714 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findPointAttribute | ( | const char * | name | ) | const [inline] |
Definition at line 669 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findPointAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | const [inline] |
Definition at line 666 of file GA_Detail.h.
| GA_PointGroup* GA_Detail::findPointGroup | ( | const char * | name | ) | [inline] |
Definition at line 824 of file GA_Detail.h.
| const GA_PointGroup* GA_Detail::findPointGroup | ( | const char * | name | ) | const [inline] |
Definition at line 816 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findPrimitiveAttribute | ( | const char * | name | ) | [inline] |
Definition at line 727 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findPrimitiveAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 724 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findPrimitiveAttribute | ( | const char * | name | ) | const [inline] |
Definition at line 679 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findPrimitiveAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | const [inline] |
Definition at line 676 of file GA_Detail.h.
| GA_PrimitiveGroup* GA_Detail::findPrimitiveGroup | ( | const char * | name | ) | [inline] |
Definition at line 828 of file GA_Detail.h.
| const GA_PrimitiveGroup* GA_Detail::findPrimitiveGroup | ( | const char * | name | ) | const [inline] |
Definition at line 820 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findVertexAttribute | ( | const char * | name | ) | [inline] |
Definition at line 722 of file GA_Detail.h.
| GA_RWAttributeRef GA_Detail::findVertexAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | [inline] |
Definition at line 719 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findVertexAttribute | ( | const char * | name | ) | const [inline] |
Definition at line 674 of file GA_Detail.h.
| GA_ROAttributeRef GA_Detail::findVertexAttribute | ( | GA_AttributeScope | s, | |
| const char * | name | |||
| ) | const [inline] |
Definition at line 671 of file GA_Detail.h.
| GA_VertexGroup* GA_Detail::findVertexGroup | ( | const char * | name | ) | [inline] |
Definition at line 826 of file GA_Detail.h.
| const GA_VertexGroup* GA_Detail::findVertexGroup | ( | const char * | name | ) | const [inline] |
Definition at line 818 of file GA_Detail.h.
| static void GA_Detail::finishLoadH9 | ( | const UT_RefArray< GA_AttribLoadDataH9 > & | attribs | ) | [static, protected] |
| static T::GB_MACRO_POINT_TYPE* GA_Detail::GB_MACRO_CAST | ( | const T * | , | |
| GA_GBElement * | pt | |||
| ) | [inline, static] |
Utility casting functions used by GA_GBMacros.h to maintain (source code) type compatibility with the old implementations that used the derived GD/GEO_PointList and GD/GEO_PrimList objects.
The first argument is used solely to infer the templatized type. Derived classes (GD_Detail/GEO_Detail) should contain embedded GB_MACRO_PRIM_TYPE and GB_MACRO_POINT_TYPE typedefs to specify the proper derived types to use for the cast.
Definition at line 1277 of file GA_Detail.h.
| static const T::GB_MACRO_POINT_TYPE* GA_Detail::GB_MACRO_CAST | ( | const T * | , | |
| const GA_GBElement * | pt | |||
| ) | [inline, static] |
Utility casting functions used by GA_GBMacros.h to maintain (source code) type compatibility with the old implementations that used the derived GD/GEO_PointList and GD/GEO_PrimList objects.
The first argument is used solely to infer the templatized type. Derived classes (GD_Detail/GEO_Detail) should contain embedded GB_MACRO_PRIM_TYPE and GB_MACRO_POINT_TYPE typedefs to specify the proper derived types to use for the cast.
Definition at line 1274 of file GA_Detail.h.
| static T::GB_MACRO_PRIM_TYPE* GA_Detail::GB_MACRO_CAST | ( | const T * | , | |
| GA_Primitive * | prim | |||
| ) | [inline, static] |
Utility casting functions used by GA_GBMacros.h to maintain (source code) type compatibility with the old implementations that used the derived GD/GEO_PointList and GD/GEO_PrimList objects.
The first argument is used solely to infer the templatized type. Derived classes (GD_Detail/GEO_Detail) should contain embedded GB_MACRO_PRIM_TYPE and GB_MACRO_POINT_TYPE typedefs to specify the proper derived types to use for the cast.
Definition at line 1270 of file GA_Detail.h.
| static const T::GB_MACRO_PRIM_TYPE* GA_Detail::GB_MACRO_CAST | ( | const T * | , | |
| const GA_Primitive * | prim | |||
| ) | [inline, static] |
Utility casting functions used by GA_GBMacros.h to maintain (source code) type compatibility with the old implementations that used the derived GD/GEO_PointList and GD/GEO_PrimList objects.
The first argument is used solely to infer the templatized type. Derived classes (GD_Detail/GEO_Detail) should contain embedded GB_MACRO_PRIM_TYPE and GB_MACRO_POINT_TYPE typedefs to specify the proper derived types to use for the cast.
Definition at line 1267 of file GA_Detail.h.
| const GA_AttributeDict& GA_Detail::getAttributeDict | ( | GA_AttributeOwner | owner | ) | const [inline] |
Definition at line 517 of file GA_Detail.h.
| GA_AttributeOwner GA_Detail::getAttributeOwner | ( | const GA_AttributeDict & | dict | ) | const |
Get access to the attributes for one element type.
| const GA_AttributeSet& GA_Detail::getAttributes | ( | ) | const [inline] |
Definition at line 508 of file GA_Detail.h.
| GA_AttributeSet& GA_Detail::getAttributes | ( | ) | [inline] |
| void GA_Detail::getEdgeGroupList | ( | UT_PtrArray< GA_EdgeGroup * > & | list | ) |
| void GA_Detail::getEdgeGroupList | ( | UT_PtrArray< const GA_EdgeGroup * > & | list | ) | const |
| const GA_EdgeGroupTable& GA_Detail::getEdgeGroupTable | ( | ) | const [inline, protected] |
Definition at line 1444 of file GA_Detail.h.
| GA_EdgeGroupTable& GA_Detail::getEdgeGroupTable | ( | ) | [inline, protected] |
Definition at line 1442 of file GA_Detail.h.
| void GA_Detail::getElementGroupList | ( | GA_AttributeOwner | owner, | |
| UT_PtrArray< GA_ElementGroup * > & | list | |||
| ) |
| void GA_Detail::getElementGroupList | ( | GA_AttributeOwner | owner, | |
| UT_PtrArray< const GA_ElementGroup * > & | list | |||
| ) | const |
| GA_ElementGroupTable& GA_Detail::getElementGroupTable | ( | GA_AttributeOwner | owner | ) | [inline] |
Definition at line 1288 of file GA_Detail.h.
| const GA_ElementGroupTable& GA_Detail::getElementGroupTable | ( | GA_AttributeOwner | owner | ) | const |
| GA_GBElementPage* GA_Detail::getGBPage | ( | GA_Offset | ptoff | ) | [inline] |
Definition at line 248 of file GA_Detail.h.
| GA_GBElement* GA_Detail::getGBPoint | ( | GA_Offset | ptoff | ) |
| const GA_GBElement* GA_Detail::getGBPoint | ( | GA_Offset | ptoff | ) | const |
Get a backward compatible point object.
| const GA_IndexMap& GA_Detail::getGlobalMap | ( | ) | const [inline] |
Definition at line 501 of file GA_Detail.h.
| GA_Range GA_Detail::getGlobalRange | ( | ) | const [inline] |
| GA_IndexMap& GA_Detail::getIndexMap | ( | GA_AttributeOwner | owner | ) | [inline] |
Definition at line 492 of file GA_Detail.h.
| const GA_IndexMap& GA_Detail::getIndexMap | ( | GA_AttributeOwner | owner | ) | const |
| int GA_Detail::getIntrinsic | ( | GA_LocalIntrinsic | h, | |
| fpreal * | v, | |||
| GA_Size | sz | |||
| ) | const |
Get the value of a global/detail intrinsic attribute. These methods return the number of items retrieved.
| int GA_Detail::getIntrinsic | ( | GA_LocalIntrinsic | h, | |
| int64 * | v, | |||
| GA_Size | size | |||
| ) | const |
Get the value of a global/detail intrinsic attribute. These methods return the number of items retrieved.
| int GA_Detail::getIntrinsic | ( | GA_LocalIntrinsic | h, | |
| UT_StringArray & | val | |||
| ) | const |
Get the value of a global/detail intrinsic attribute. These methods return the number of items retrieved.
| int GA_Detail::getIntrinsic | ( | GA_LocalIntrinsic | h, | |
| UT_String & | val | |||
| ) | const |
Get the value of a global/detail intrinsic attribute. These methods return the number of items retrieved.
| const GA_IntrinsicManager& GA_Detail::getIntrinsicManager | ( | ) | const [inline] |
Get the intrinsic attribute manager for global/detail attributes.
At the current time, these include:
Definition at line 869 of file GA_Detail.h.
| const char* GA_Detail::getIntrinsicName | ( | GA_LocalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 883 of file GA_Detail.h.
| const UT_Options* GA_Detail::getIntrinsicOptions | ( | GA_LocalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 890 of file GA_Detail.h.
| bool GA_Detail::getIntrinsicReadOnly | ( | GA_LocalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 888 of file GA_Detail.h.
| GA_StorageClass GA_Detail::getIntrinsicStorage | ( | GA_LocalIntrinsic | h | ) | const [inline] |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
Definition at line 886 of file GA_Detail.h.
| int GA_Detail::getIntrinsicTupleSize | ( | GA_LocalIntrinsic | h | ) | const |
Query properties of the global/detail intrinsic attribute Note that the tuple size calls the virtual method since the tuple size may be dynamic (i.e. basis knot vector)
| void GA_Detail::getIONames | ( | UT_StringArray & | names | ) | const [inline] |
Get a list of all the IO names registered. Returns the number of names in the array.
Definition at line 1026 of file GA_Detail.h.
| virtual int64 GA_Detail::getMemoryUsage | ( | ) | const [virtual] |
| GA_Size GA_Detail::getNumPointOffsets | ( | ) | const [inline] |
Return maximum occupied offset of getPointMap(). This will be an upper bound when iterating over offsets.
Definition at line 274 of file GA_Detail.h.
| GA_Size GA_Detail::getNumPoints | ( | ) | const [inline] |
| GA_Size GA_Detail::getNumPrimitiveOffsets | ( | ) | const [inline] |
Return maximum occupied offset of getPrimitiveMap(). This will be an upper bound when iterating over offsets.
Definition at line 300 of file GA_Detail.h.
| GA_Size GA_Detail::getNumPrimitives | ( | ) | const [inline] |
| GA_Size GA_Detail::getNumVertexOffsets | ( | ) | const [inline] |
Return maximum occupied offset of getVertexMap(). This will be an upper bound when iterating over offsets.
Definition at line 325 of file GA_Detail.h.
| GA_Size GA_Detail::getNumVertices | ( | ) | const [inline] |
| const GA_Attribute* GA_Detail::getP | ( | ) | const [inline] |
Definition at line 151 of file GA_Detail.h.
| GA_Attribute* GA_Detail::getP | ( | ) | [inline] |
| bool GA_Detail::getPointAttributeAsArray | ( | const GA_Attribute * | atr, | |
| const GA_Range & | ptrange, | |||
| UT_ValArray< T > & | result | |||
| ) | const [inline] |
Get/set all the point attribute data from/to a contiguous array.
Valid types for T are: int32, int64, fpreal32, fpreal64, UT_Vector2T<S>, UT_Vector3T<S>, UT_Vector4T<S>, UT_QuaternionT<S>, UT_Matrix3T<S>, UT_Matrix4T<S> where S is one of: fpreal, fpreal32, fpreal64, For the UT_Vector classes, S can also be one of: int, int32, int64
| const GA_PointGroupTable& GA_Detail::getPointGroupTable | ( | ) | const [inline, protected] |
Definition at line 1432 of file GA_Detail.h.
| GA_PointGroupTable& GA_Detail::getPointGroupTable | ( | ) | [inline, protected] |
Definition at line 1430 of file GA_Detail.h.
| const GA_IndexMap& GA_Detail::getPointMap | ( | ) | const [inline] |
Definition at line 498 of file GA_Detail.h.
| GA_Range GA_Detail::getPointRange | ( | const GA_PointGroup * | group = 0 |
) | const [inline] |
| GA_Range GA_Detail::getPointRangeSlice | ( | GA_Index | begin_ptnum, | |
| GA_Index | end_ptnum = GA_INVALID_INDEX | |||
| ) | const [inline] |
Get ordered point range from base_ptnum to end_ptnum, or the end.
Definition at line 924 of file GA_Detail.h.
| UT_Vector2 GA_Detail::getPos2 | ( | GA_Offset | ptoff | ) | const [inline] |
The ptoff passed to getPos2(), getPos3() and getPos() is the point offset.
Definition at line 155 of file GA_Detail.h.
| SYS_FORCE_INLINE UT_Vector3 GA_Detail::getPos3 | ( | GA_Offset | ptoff | ) | const [inline] |
The ptoff passed to getPos2(), getPos3() and getPos() is the point offset.
Definition at line 162 of file GA_Detail.h.
| bool GA_Detail::getPos3AsArray | ( | const GA_Range & | ptrange, | |
| UT_ValArray< UT_Vector3T< T > > & | positions | |||
| ) | const [inline] |
Get an array of all positions from the given point range. The template parameter T is must be one of: fpreal, fpreal32, or fpreal64.
Definition at line 180 of file GA_Detail.h.
| UT_Vector4 GA_Detail::getPos4 | ( | GA_Offset | ptoff | ) | const [inline] |
The ptoff passed to getPos2(), getPos3() and getPos() is the point offset.
Definition at line 171 of file GA_Detail.h.
| const GA_PrimitiveFactory& GA_Detail::getPrimitiveFactory | ( | ) | const [inline] |
Provide access to the factory. This allows users to query information about factories.
Definition at line 1322 of file GA_Detail.h.
| const GA_PrimitiveGroupTable& GA_Detail::getPrimitiveGroupTable | ( | ) | const [inline, protected] |
Definition at line 1436 of file GA_Detail.h.
| GA_PrimitiveGroupTable& GA_Detail::getPrimitiveGroupTable | ( | ) | [inline, protected] |
Definition at line 1434 of file GA_Detail.h.
| GA_PrimitiveList& GA_Detail::getPrimitiveList | ( | ) | [inline] |
Definition at line 505 of file GA_Detail.h.
| const GA_PrimitiveList& GA_Detail::getPrimitiveList | ( | ) | const [inline] |
Definition at line 503 of file GA_Detail.h.
| const GA_IndexMap& GA_Detail::getPrimitiveMap | ( | ) | const [inline] |
| GA_Range GA_Detail::getPrimitiveRange | ( | const GA_PrimitiveGroup * | group = 0 |
) | const [inline] |
| GA_Range GA_Detail::getPrimitiveRangeSlice | ( | GA_Index | begin_prim, | |
| GA_Index | end_prim = GA_INVALID_INDEX | |||
| ) | const [inline] |
Get ordered primitive range from base_prim to end_prim, or the end.
Definition at line 935 of file GA_Detail.h.
| GA_Size GA_Detail::getPrimitivesReferencingPoint | ( | GA_OffsetArray & | primitives, | |
| GA_Offset | point_offset | |||
| ) | const |
Given a point offset, return a list of all primitives which reference it.
| const GA_Topology& GA_Detail::getTopology | ( | ) | const [inline] |
Definition at line 510 of file GA_Detail.h.
| GA_Topology& GA_Detail::getTopology | ( | ) | [inline] |
Definition at line 509 of file GA_Detail.h.
| int GA_Detail::getUniqueId | ( | ) | const [inline] |
Definition at line 140 of file GA_Detail.h.
| const GA_VertexGroupTable& GA_Detail::getVertexGroupTable | ( | ) | const [inline, protected] |
Definition at line 1440 of file GA_Detail.h.
| GA_VertexGroupTable& GA_Detail::getVertexGroupTable | ( | ) | [inline, protected] |
Definition at line 1438 of file GA_Detail.h.
| const GA_IndexMap& GA_Detail::getVertexMap | ( | ) | const [inline] |
Definition at line 499 of file GA_Detail.h.
| GA_Range GA_Detail::getVertexRange | ( | const GA_VertexGroup * | group = 0 |
) | const [inline] |
| GA_Offset GA_Detail::getVertexReferencingPoint | ( | GA_Offset | ptoff, | |
| GA_Offset | primoff = GA_INVALID_OFFSET | |||
| ) | const |
Given a point and primitive, find the corresponding vertex. Note that this is O(N) on the number of vertices which share the point. If the primitive offset is -1, then the "first" vertex which references the point will be returned. The order of the "first" vertex is arbitrary, though it will likely be the same for each call.
Returns -1 if no topology attributes exist.
| GA_Size GA_Detail::getVerticesReferencingPoint | ( | GA_OffsetArray & | vertices, | |
| GA_Offset | point_offset | |||
| ) | const |
Given a point offset, return a list of all vertices which reference it.
| bool GA_Detail::hasGBPoint | ( | ) | const [inline] |
Definition at line 254 of file GA_Detail.h.
| bool GA_Detail::isPointUsed | ( | GA_Offset | point | ) | const |
Returns whether a point is referenced by any vertices This may be a slow operation if there is no topology allocated
| IOStatus GA_Detail::load | ( | UT_JSONParser & | p, | |
| const UT_Options * | opts = 0, |
|||
| UT_StringArray * | errors = 0 | |||
| ) |
Load geometry from a JSON stream.
findIO(GA_IOTable::getJSONToken()) and uses a dynamic cast to GA_IOJSON to actually do the loading. | IOStatus GA_Detail::load | ( | UT_IStream & | is, | |
| const UT_Options * | opts = 0, |
|||
| UT_StringArray * | errors = 0 | |||
| ) |
Load a geometry file given a UT_IStream.
| IOStatus GA_Detail::load | ( | const char * | filename, | |
| const UT_Options * | opts = 0, |
|||
| UT_StringArray * | errors = 0 | |||
| ) |
Load a geometry file The .gz extension is used to enable zlib decompression
| static bool GA_Detail::loadAttribDataH9 | ( | UT_IStream & | is, | |
| GA_Offset | offset, | |||
| const UT_RefArray< GA_AttribLoadDataH9 > & | l | |||
| ) | [static] |
Convenience methods for saving/loading both a vertex's point reference and its attribute values in a Houdini9 compatible style. Note that the load wires the vertex to the loaded point.
| bool GA_Detail::loadPrimitivesH9 | ( | UT_IStream & | is, | |
| int | count, | |||
| const GA_FileFormatH9::PrimTypeXlate & | type_map, | |||
| const UT_RefArray< GA_AttribLoadDataH9 > & | prim_attribs, | |||
| const UT_RefArray< GA_AttribLoadDataH9 > & | vtx_attribs | |||
| ) | [protected] |
| bool GA_Detail::loadVertexH9 | ( | UT_IStream & | is, | |
| GA_Offset | vertex_offset, | |||
| const UT_RefArray< GA_AttribLoadDataH9 > & | vtx_l | |||
| ) |
Convenience methods for saving/loading both a vertex's point reference and its attribute values in a Houdini9 compatible style. Note that the load wires the vertex to the loaded point.
| virtual int GA_Detail::localGetIntrinsicF | ( | GA_IntrinsicEval & | eval, | |
| fpreal * | value, | |||
| GA_Size | size | |||
| ) | const [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localGetIntrinsicI | ( | GA_IntrinsicEval & | eval, | |
| int64 * | value, | |||
| GA_Size | size | |||
| ) | const [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localGetIntrinsicS | ( | GA_IntrinsicEval & | eval, | |
| UT_String & | value | |||
| ) | const [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localGetIntrinsicSA | ( | GA_IntrinsicEval & | eval, | |
| UT_StringArray & | value | |||
| ) | const [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localIntrinsicTupleSize | ( | GA_IntrinsicEval & | eval | ) | const [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localSetIntrinsicF | ( | GA_IntrinsicEval & | eval, | |
| const fpreal * | value, | |||
| GA_Size | size | |||
| ) | [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localSetIntrinsicI | ( | GA_IntrinsicEval & | eval, | |
| const int64 * | value, | |||
| GA_Size | size | |||
| ) | [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localSetIntrinsicS | ( | GA_IntrinsicEval & | eval, | |
| const char * | value | |||
| ) | [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localSetIntrinsicSA | ( | GA_IntrinsicEval & | eval, | |
| const UT_StringArray & | value | |||
| ) | [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| virtual int GA_Detail::localSetIntrinsicSS | ( | GA_IntrinsicEval & | eval, | |
| const char ** | value, | |||
| GA_Size | size | |||
| ) | [protected, virtual] |
Virtual implementation of intrinsic attributes. See GA_IntrinsicEval for further details.
| void GA_Detail::mergeGlobalAttributes | ( | const GA_Detail & | src, | |
| GA_MergeOptions & | options | |||
| ) |
Merge source global attributes using options.
| void GA_Detail::mergeGlobalAttributes | ( | const GA_Detail & | src | ) |
Merge global attributes (using default options).
Given a point's data offset, return its index.
Definition at line 280 of file GA_Detail.h.
Given a point's index (in append order), return its data offset.
Definition at line 277 of file GA_Detail.h.
Given a point, returns *a* vertex that it references. More than one vertex may refer to a single point, and it is quite possible that no vertices refer to the point. GA_INVALID_OFFSET is returned if no vertices match. See getVerticesReferencingPoint() for methods to get all the points.
Definition at line 360 of file GA_Detail.h.
Given a primitive's index (in append order), return its data offset.
Definition at line 303 of file GA_Detail.h.
| static int64 GA_Detail::printMemory | ( | UT_WorkBuffer & | buffer, | |
| bool | include_total = true, |
|||
| int | indent = 3, |
|||
| const char * | title = "Geometry Memory Tracking" | |||
| ) | [static] |
Debugging output of detail.
| void GA_Detail::refreshCachedHandles | ( | ) |
Refreshes handles cached in the detail. This method must be called after changing the storage of the P attribute.
| static GA_IntrinsicManager::Registrar GA_Detail::registerIntrinsics | ( | GA_PrimitiveFactory & | factory | ) | [static] |
Register global intrinsic attributes. Each subclass should have registration which looks like:
SubClass::registerIntrinsics(GA_PrimitiveFactory &factory) { GA_LocalIntrinsicMap map(factory.getDetailIntrinsics()); BaseClass::registerIntrinsics(factory); map.addAttribute(...); map.addAttribute(...); }
Reimplemented in GEO_Detail, and GU_Detail.
| bool GA_Detail::registerIO | ( | GA_IO * | io | ) | const [inline] |
| bool GA_Detail::removeTailInitializer | ( | GA_Attribute * | attrib | ) |
Add/Remove an attribute to the tail-initialization list.
When attributes grow in size, they usually initialize their values to the default value. However, some attributes may not adhere to this rule, or due to space optimizations, may have the values set to non-default values. In this case, they should be added to the tail-initialization list. When new elements are appended to the detail, they will be told to re-initialize the new element. Otherwise, the detail will assume that the element values are at their default value.
When removing, the method will return true if the attribute was a tail initializer.
DO NOT CALL THESE: Use the GA_Attribute::setTailInitialization instead.
| bool GA_Detail::renameAttribute | ( | GA_AttributeOwner | owner, | |
| GA_AttributeScope | scope, | |||
| const char * | fromName, | |||
| const char * | toName | |||
| ) | [inline] |
Definition at line 576 of file GA_Detail.h.
Reorder a point. The index of the point at the given data offset will be changed to the new order (provided that the ordered position is in a valid range).
Reorder a primitive. The index of the primitive at the given data offset will be changed to the new order (provided that the ordered position is in a valid range).
| IOStatus GA_Detail::save | ( | UT_JSONWriter & | w, | |
| const UT_Options * | opts = 0 | |||
| ) | const |
{
"name" : "GA_Detail-Header",
"description" : "Storage for an entire geometry object",
"type" : "orderedmap",
"properties": {
// Header section
"file_version": {
"type" : "string",
"description" : "File Version",
"optional" : true,
},
"info": {
"type" : "object",
"description" :
"Optional tags including:
'software' : Software used to create geometry,
'artist' : Artist name,
'hostname' : Computer name,
'comment' : Arbitrary comment
etc.",
"optional" : true,
}
"pointcount": {
"type" : "integer",
"description" : "The number of points in the geometry",
},
"vertexcount": {
"type" : "integer",
"description" : "The number of vertices in the geometry",
},
"primitivecount": {
"type" : "integer",
"description" : "The number of primitives in the geometry",
},
// Topology section
"topology" : {
"type" : "orderedmap",
"description" : "Topological information",
"properties" : {
"pointref" : {
"type" : [{ "$ref" : "GA_ATITopology" }],
"description" :
"An list of points referenced by each
vertex. The array of 'vertexcount' items
must contain integer values in the range of
(0,pointcount-1)"
}
}
},
// Attributes section
"attributes": {
"type" : { "$ref" : "GA_AttributeSet" } ,
"description" : "Vertex attributes",
}
// Primitives section
"primitives": {
"type" : { "$ref" : "GA_PrimitiveList" } ,
"description" : "An array of primitives",
}
// Groups section
"pointgroups": {
"type" : { "$ref" : "GA_GroupTable" },
"description" : "The list of point groups",
"optional" : true,
},
"primitivegroups": {
"type" : { "$ref" : "GA_GroupTable" },
"description" : "The list of primitive groups",
"optional" : true,
},
"vertexgroups": {
"type" : { "$ref" : "GA_GroupTable" },
"description" : "The list of vertex groups",
"optional" : true,
},
"edgegroups": {
"type" : { "$ref" : "GA_GroupTable" },
"description" : "The list of edge groups",
"optional" : true,
},
},
}
findIO(GA_IOTable::getJSONToken()) and uses a dynamic cast to GA_IOJSON to actually do the writing. | IOStatus GA_Detail::save | ( | ostream & | os, | |
| bool | binary, | |||
| const UT_Options * | options, | |||
| UT_StringArray * | errors = 0 | |||
| ) | const |
Save to an existing ostream. JSON format will check the options for:
| IOStatus GA_Detail::save | ( | const char * | filename, | |
| const UT_Options * | options, | |||
| UT_StringArray * | errors = 0 | |||
| ) | const |
Save to a given filename. An extension of .gz will enable zlib compression (for JSON format only) Options include:
| static bool GA_Detail::saveAttribDataH9 | ( | ostream & | os, | |
| int | binary, | |||
| GA_Offset | offset, | |||
| const UT_RefArray< GA_AttribSaveDataH9 > & | l, | |||
| char | delim_ch = '(' | |||
| ) | [static] |
Convenience methods for saving/loading both a vertex's point reference and its attribute values in a Houdini9 compatible style. Note that the load wires the vertex to the loaded point.
| IOStatus GA_Detail::saveClassic | ( | ostream & | os, | |
| bool | , | |||
| const UT_Options * | ||||
| ) | const |
Save in "hclassic" format.
| IOStatus GA_Detail::saveClassic | ( | const char * | , | |
| const UT_Options * | ||||
| ) | const |
Save in "hclassic" format.
| bool GA_Detail::savePrimitivesH9 | ( | ostream & | os, | |
| int | binary, | |||
| const UT_PtrArray< const GA_Primitive * > & | list, | |||
| const GA_FileFormatH9::PrimTypeXlate & | type_map, | |||
| const UT_RefArray< GA_AttribSaveDataH9 > & | prim_attribs, | |||
| const UT_RefArray< GA_AttribSaveDataH9 > & | vx_attribs | |||
| ) | const [protected] |
| bool GA_Detail::saveVertexH9 | ( | ostream & | os, | |
| int | binary, | |||
| GA_Offset | vertex_offset, | |||
| const UT_RefArray< GA_AttribSaveDataH9 > & | vtx_l | |||
| ) | const |
Convenience methods for saving/loading both a vertex's point reference and its attribute values in a Houdini9 compatible style. Note that the load wires the vertex to the loaded point.
| bool GA_Detail::saveVertexPointReferenceH9 | ( | ostream & | os, | |
| int | binary, | |||
| GA_Offset | vertex_offset | |||
| ) | const |
Convenience methods for saving/loading both a vertex's point reference and its attribute values in a Houdini9 compatible style. Note that the load wires the vertex to the loaded point.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const fpreal * | v, | |||
| GA_Size | sz | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const int64 * | val, | |||
| GA_Size | sz | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const fpreal | val | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const int64 | val | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const char ** | val, | |||
| GA_Size | s | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const UT_StringArray & | value | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| int GA_Detail::setIntrinsic | ( | GA_LocalIntrinsic | h, | |
| const char * | value | |||
| ) |
Set intrinsic attributes. This will fail if the attribute is read-only. These methods return the number of items set.
| bool GA_Detail::setPointAttributeFromArray | ( | GA_Attribute * | atr, | |
| const GA_Range & | ptrange, | |||
| const UT_ValArray< T > & | src | |||
| ) | [inline] |
Valid types for T are: int32, int64, fpreal32, fpreal64, UT_Vector2T<S>, UT_Vector3T<S>, UT_Vector4T<S>, UT_QuaternionT<S>, UT_Matrix3T<S>, UT_Matrix4T<S> where S is one of: fpreal, fpreal32, fpreal64, For the UT_Vector classes, S can also be one of: int, int32, int64
| void GA_Detail::setPos2 | ( | GA_Offset | ptoff, | |
| const UT_Vector2 & | P | |||
| ) | [inline] |
| SYS_FORCE_INLINE void GA_Detail::setPos3 | ( | GA_Offset | ptoff, | |
| const UT_Vector3 & | P | |||
| ) | [inline] |
| bool GA_Detail::setPos3FromArray | ( | const GA_Range & | ptrange, | |
| const UT_ValArray< UT_Vector3T< T > > & | positions | |||
| ) | [inline] |
Get an array of all positions from the given point range. The template parameter T is must be one of: fpreal, fpreal32, or fpreal64.
Definition at line 191 of file GA_Detail.h.
| void GA_Detail::setPos4 | ( | GA_Offset | ptoff, | |
| const UT_Vector4 & | P | |||
| ) | [inline] |
| void GA_Detail::setStashFlag | ( | bool | val | ) | [inline, protected] |
A flag set by derived classes to indicate whether or not we have a primitive stash available.
Definition at line 1428 of file GA_Detail.h.
| void GA_Detail::sortVertexMapByPrimitiveUse | ( | ) |
Optimized layout of vertex index map. This sorts the vertex index map by the primitive order use. The map will be defragmented after this function is called.
Get information about the detail.
| stat | - Information about detail | |
| level | - Mask of information to retrieve (see GA_STAT_LEVEL) |
Fill out only the attribute information on the stat.
| IOStatus GA_Detail::statFile | ( | const char * | filename, | |
| GA_Stat & | stat, | |||
| uint | level = 0xffff, |
|||
| const UT_Options * | opts = NULL | |||
| ) | const |
Stat a disk file rather than loading the entire geometry. (see GA_STAT_LEVEL) The method cannot be static since the primitive factory is required. The primitive factory stores the IO table for the geometry.
Fill out only the group information on the stat.
Swap the order of the two specified primitive data offsets.
| void GA_Detail::translatePoint | ( | GA_Offset | ptoff, | |
| const UT_Vector3 & | delta | |||
| ) | [inline] |
Apply a translation to the specified point index.
Definition at line 241 of file GA_Detail.h.
| GA_Primitive* GA_Detail::unstashPrimitive | ( | const GA_PrimitiveDefinition * | type, | |
| GA_Offset | offset | |||
| ) | [inline, protected] |
Method needed by GA_PrimitiveDefinition to support reusing "stashed" primitives. This is a wrapper around a virtual implementation used to avoid the cost of a virtual call when we have no stash.
Definition at line 1412 of file GA_Detail.h.
| virtual GA_Primitive* GA_Detail::unstashPrimitiveImpl | ( | const GA_PrimitiveDefinition * | type, | |
| GA_Offset | offset | |||
| ) | [inline, protected, virtual] |
Implementation of the guts of unstashPrimitive(). Does nothing at this level.
Reimplemented in GEO_Detail, and GU_Detail.
Definition at line 1422 of file GA_Detail.h.
Given a vertex's index (in append order), return its data offset.
Definition at line 328 of file GA_Detail.h.
Given a vertex, return the point it references.
Definition at line 340 of file GA_Detail.h.
Given a vertex, return primitive it references Returns -1 if no topology attributes exist.
Definition at line 347 of file GA_Detail.h.
Given a vertex, returns the next one that shares the same point as this vertex. GA_INVALID_OFFSET if no further vertices match
Definition at line 371 of file GA_Detail.h.
Given a vertex, returns the previous one that shares the same point as this vertex. GA_INVALID_OFFSET if no further vertices match
Definition at line 382 of file GA_Detail.h.
friend class GA_IO [friend] |
Definition at line 1503 of file GA_Detail.h.
friend class GA_Primitive [friend] |
Definition at line 1504 of file GA_Detail.h.
| GA_Primitive* GA_PrimitiveDefinition::getStashedPrimitive | ( | GA_Detail & | , | |
| GA_Offset | ||||
| ) | const [friend] |
1.5.9