HDK
|
Walk an Alembic tree to create Houdini geometry. More...
#include <GABC_GEOWalker.h>
Classes | |
class | TransformState |
Static Public Member Functions | |
static void | test () |
Protected Member Functions | |
bool | filterObject (const GABC_IObject &obj) const |
Verify the object matches filters before generating geometry. More... | |
Walk an Alembic tree to create Houdini geometry.
To convert an Alembic file to Houdini geometry, the code would look something like this:
Definition at line 59 of file GABC_GEOWalker.h.
Definition at line 63 of file GABC_GEOWalker.h.
using GABC_NAMESPACE::GABC_GEOWalker::M44d = Alembic::Abc::M44d |
Definition at line 62 of file GABC_GEOWalker.h.
Whether to build polysoup primitives when it's possible.
Enumerator | |
---|---|
ABC_POLYSOUP_NONE | |
ABC_POLYSOUP_POLYMESH | |
ABC_POLYSOUP_SUBD |
Definition at line 144 of file GABC_GEOWalker.h.
How Alembic delayed load primitives are attached to GA points.
Enumerator | |
---|---|
ABCPRIM_SHARED_POINT | |
ABCPRIM_UNIQUE_POINT | |
ABCPRIM_CENTROID_POINT |
Definition at line 136 of file GABC_GEOWalker.h.
Animating object filter.
Enumerator | |
---|---|
ABC_AFILTER_STATIC | |
ABC_AFILTER_DEFORMING | |
ABC_AFILTER_TRANSFORMING | |
ABC_AFILTER_ANIMATING | |
ABC_AFILTER_ALL |
Definition at line 111 of file GABC_GEOWalker.h.
Enumerator | |
---|---|
BOX_CULL_IGNORE | |
BOX_CULL_ANY_INSIDE | |
BOX_CULL_INSIDE | |
BOX_CULL_ANY_OUTSIDE | |
BOX_CULL_OUTSIDE |
Definition at line 78 of file GABC_GEOWalker.h.
Geometry type filter.
Enumerator | |
---|---|
ABC_GFILTER_POLYMESH | |
ABC_GFILTER_CURVES | |
ABC_GFILTER_NUPATCH | |
ABC_GFILTER_POINTS | |
ABC_GFILTER_SUBD | |
ABC_GFILTER_ALL |
Definition at line 121 of file GABC_GEOWalker.h.
Enumerator | |
---|---|
ABC_GROUP_NONE | |
ABC_GROUP_SHAPE_NODE | |
ABC_GROUP_XFORM_NODE | |
ABC_GROUP_SHAPE_BASENAME | |
ABC_GROUP_XFORM_BASENAME |
Definition at line 69 of file GABC_GEOWalker.h.
Enumerator | |
---|---|
LOAD_ABC_PRIMITIVES | |
LOAD_ABC_UNPACKED | |
LOAD_HOUDINI_PRIMITIVES | |
LOAD_HOUDINI_POINTS | |
LOAD_HOUDINI_BOXES |
Definition at line 101 of file GABC_GEOWalker.h.
How to load user properties.
Enumerator | |
---|---|
UP_LOAD_NONE | |
UP_LOAD_DATA | |
UP_LOAD_ALL |
Definition at line 152 of file GABC_GEOWalker.h.
Enumerator | |
---|---|
SIZE_COMPARE_LESSTHAN | |
SIZE_COMPARE_GREATERTHAN |
Definition at line 95 of file GABC_GEOWalker.h.
Enumerator | |
---|---|
SIZE_CULL_IGNORE | |
SIZE_CULL_AREA | |
SIZE_CULL_RADIUS | |
SIZE_CULL_VOLUME |
Definition at line 87 of file GABC_GEOWalker.h.
GABC_NAMESPACE::GABC_GEOWalker::GABC_GEOWalker | ( | GU_Detail & | gdp, |
GABC_IError & | err, | ||
bool | record_time_range = false |
||
) |
|
virtual |
|
inline |
True if all transforms are constant.
Definition at line 244 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 219 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 221 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 222 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 216 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 198 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 200 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 204 of file GABC_GEOWalker.h.
Get state
Definition at line 208 of file GABC_GEOWalker.h.
|
protected |
Verify the object matches filters before generating geometry.
bool GABC_NAMESPACE::GABC_GEOWalker::getGroupName | ( | UT_String & | str, |
const GABC_IObject & | obj | ||
) | const |
Get the group name associated with an GABC_IObject.
GA_Offset GABC_NAMESPACE::GABC_GEOWalker::getPointForAbcPrim | ( | ) |
Get a GA_Offset to which the Alembic delayed load primitive should be attached. This may return an invalid offset
Get the current transform.
Definition at line 321 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 212 of file GABC_GEOWalker.h.
|
virtual |
Allow for interruption of walk.
Reimplemented from GABC_NAMESPACE::GABC_Util::Walker.
|
inline |
True if all shapes and transforms are constant.
Definition at line 238 of file GABC_GEOWalker.h.
|
inline |
Access information about last poly/subd/curve mesh loaded
Definition at line 332 of file GABC_GEOWalker.h.
|
inline |
Access information about last poly/subd/curve mesh loaded
Definition at line 333 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 218 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 217 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 206 of file GABC_GEOWalker.h.
Get state
Definition at line 202 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 223 of file GABC_GEOWalker.h.
|
inline |
Keeps track of the number of geometry points added in traversal.
Definition at line 232 of file GABC_GEOWalker.h.
|
inline |
State accessors
Definition at line 286 of file GABC_GEOWalker.h.
void GABC_NAMESPACE::GABC_GEOWalker::popTransform | ( | const TransformState & | prev_state | ) |
Pop transform in traveral, pass in the value stored in pushTransform().
|
virtual |
preProcess()
is called on the "root" of the walk. The root may not be the root of the Alembic file (i.e. when walking lists of objects). The preProcess()
method will be called one time only.
Reimplemented from GABC_NAMESPACE::GABC_Util::Walker.
|
inline |
Keeps track of the number of geometry primitives added in traversal.
Definition at line 236 of file GABC_GEOWalker.h.
|
virtual |
Return true to continue traveral and process the children of the given node. Returning false will process the next sibling. Use interrupted() to perform an early termination.
Implements GABC_NAMESPACE::GABC_Util::Walker.
void GABC_NAMESPACE::GABC_GEOWalker::pushTransform | ( | const M44d & | xform, |
bool | const_xform, | ||
TransformState & | prev_state, | ||
bool | inheritXforms | ||
) |
Push transform during traversal. If the walker is set to include the full transforms, the transform passed in will be combined with the current transform, otherwise the transform passed in will replace the transform state in the walker. The const_xform
flag indicates whether the transform node is constant or not. The current state will be stashed in stash_prev
and should be passed to popTransform().
|
inline |
Definition at line 245 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 215 of file GABC_GEOWalker.h.
Set state
Definition at line 273 of file GABC_GEOWalker.h.
void GABC_NAMESPACE::GABC_GEOWalker::setBounds | ( | BoxCullMode | mode, |
const UT_BoundingBox & | box | ||
) |
Set state
|
inline |
Set state
Definition at line 268 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 269 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 266 of file GABC_GEOWalker.h.
Set state
Definition at line 252 of file GABC_GEOWalker.h.
Set state
Definition at line 258 of file GABC_GEOWalker.h.
Set state
Definition at line 274 of file GABC_GEOWalker.h.
Set state
Definition at line 272 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 259 of file GABC_GEOWalker.h.
Set state
Definition at line 267 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 254 of file GABC_GEOWalker.h.
|
inline |
State modified during traversal
Definition at line 298 of file GABC_GEOWalker.h.
|
inline |
State modified during traversal
Definition at line 299 of file GABC_GEOWalker.h.
Set state
Definition at line 250 of file GABC_GEOWalker.h.
void GABC_NAMESPACE::GABC_GEOWalker::setPathAttribute | ( | const GA_RWAttributeRef & | a | ) |
Set state
|
inline |
Set state
Definition at line 270 of file GABC_GEOWalker.h.
void GABC_NAMESPACE::GABC_GEOWalker::setPointLocation | ( | GU_PrimPacked * | abc, |
GA_Offset | offset | ||
) | const |
void GABC_NAMESPACE::GABC_GEOWalker::setPointMode | ( | AbcPrimPointMode | mode, |
GA_Offset | shared_point = GA_INVALID_OFFSET |
||
) |
Set state
|
inline |
Set state
Definition at line 278 of file GABC_GEOWalker.h.
void GABC_NAMESPACE::GABC_GEOWalker::setReusePrimitives | ( | bool | v, |
GA_Offset | pts = GA_Offset(0) , |
||
GA_Offset | verts = GA_Offset(0) , |
||
GA_Offset | prims = GA_Offset(0) |
||
) |
Set state
|
inline |
Set state
Definition at line 280 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 261 of file GABC_GEOWalker.h.
|
inline |
Primitive group to store subdivision primitives
Definition at line 293 of file GABC_GEOWalker.h.
Set state
Definition at line 257 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 271 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 260 of file GABC_GEOWalker.h.
|
inline |
Set state
Definition at line 279 of file GABC_GEOWalker.h.
|
inline |
Get state
Definition at line 214 of file GABC_GEOWalker.h.
|
inline |
Primitive group to store subdivision primitives
Definition at line 292 of file GABC_GEOWalker.h.
|
static |
Test by loading "test.abc" in the current directory and saving "test.geo" as output.
|
inline |
Get state
Definition at line 211 of file GABC_GEOWalker.h.
|
inline |
Get a sample selector for the given time.
Definition at line 227 of file GABC_GEOWalker.h.
|
inline |
True if all shapes have constant topology.
Definition at line 240 of file GABC_GEOWalker.h.
Access information about last poly/subd/curve mesh loaded
void GABC_NAMESPACE::GABC_GEOWalker::trackPtVtxPrim | ( | const GABC_IObject & | obj, |
exint | npoints, | ||
exint | nvertex, | ||
exint | nprim, | ||
bool | do_transform | ||
) |
Keep track of added points/vertices/primitives. This should be called after the primitives have been added to the detail.
Access information about last poly/subd/curve mesh loaded
|
inline |
True if the transform from the root to the current node is constant.
Definition at line 242 of file GABC_GEOWalker.h.
bool GABC_NAMESPACE::GABC_GEOWalker::translateAttributeName | ( | GA_AttributeOwner | own, |
UT_String & | name | ||
) |
Translate attribute names. This will return false if the attribute is not allowed.
void GABC_NAMESPACE::GABC_GEOWalker::updateAbcPrims | ( | ) |
Quickly update ABC primitives with the new time.
|
inline |
Get state
Definition at line 213 of file GABC_GEOWalker.h.
|
inline |
Keeps track of the number of geometry vertices added in traversal.
Definition at line 234 of file GABC_GEOWalker.h.
|
inline |
State accessors
Definition at line 287 of file GABC_GEOWalker.h.