HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_VDBPointTools.h File Reference

Collection of PointIndexGrid helpers for Houdini. More...

#include "GU_Detail.h"
#include "GU_DetailHandle.h"
#include "GU_PackedContext.h"
#include "GU_PackedFragment.h"
#include "GU_PackedGeometry.h"
#include "GU_PrimPacked.h"
#include <GA/GA_ElementGroup.h>
#include <UT/UT_SharedPtr.h>
#include <UT/UT_VectorTypes.h>
#include <openvdb/Platform.h>
#include <openvdb/tools/PointIndexGrid.h>
#include <openvdb/tools/ParticleAtlas.h>
#include <openvdb/tools/PointsToMask.h>
#include <vector>
+ Include dependency graph for GU_VDBPointTools.h:

Go to the source code of this file.

Classes

struct  GU_VDBPointList< VectorType >
 Houdini point attribute wrapper. More...
 
struct  GU_VDBPointToolsInternal::IndexToOffsetOp< PointArrayType >
 
struct  GU_VDBPointToolsInternal::PackedMaskConstructor
 

Namespaces

 GU_VDBPointToolsInternal
 

Functions

void GU_VDBPointToolsInternal::getPackedPrimitiveOffsets (const GU_Detail &detail, std::vector< const GA_Primitive * > &primitives)
 
GU_VDBPointList
< openvdb::Vec3s >::Ptr 
GUvdbCreatePointList (const GU_Detail &detail, const GA_PointGroup *pointGroup=nullptr)
 Utility method to construct a GU_VDBPointList. More...
 
template<typename PointIndexTreeType , typename PointArrayType >
void GUvdbConvertIndexToOffset (PointIndexTreeType &tree, const PointArrayType &points)
 Utility method to change point indices into Houdini geometry offsets. More...
 
openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointIndexGrid (const openvdb::math::Transform &xform, const GU_Detail &detail, const GA_PointGroup *pointGroup=nullptr)
 Utility method to construct a PointIndexGrid. More...
 
template<typename PointArrayType >
openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointIndexGrid (const openvdb::math::Transform &xform, const PointArrayType &points)
 Utility method to construct a PointIndexGrid. More...
 
template<typename ParticleArrayType >
openvdb::tools::ParticleIndexAtlas::Ptr GUvdbCreateParticleAtlas (const double minVoxelSize, const ParticleArrayType &particles)
 Utility method to construct a ParticleAtals. More...
 
openvdb::MaskGrid::Ptr GUvdbCreatePointMaskGrid (const openvdb::math::Transform &xform, const GU_Detail &detail, const GA_PointGroup *pointGroup=nullptr)
 Utility method to construct a boolean PointMaskGrid. More...
 
openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointOffsetGrid (const openvdb::math::Transform &xform, const GU_Detail &detail, const GA_PointGroup *pointGroup=nullptr)
 Utility method to construct a PointIndexGrid that stores Houdini geometry offsets. More...
 

Detailed Description

Collection of PointIndexGrid helpers for Houdini.

Author
FX R&D OpenVDB team

Definition in file GU_VDBPointTools.h.

Function Documentation

template<typename PointIndexTreeType , typename PointArrayType >
void GUvdbConvertIndexToOffset ( PointIndexTreeType &  tree,
const PointArrayType &  points 
)
inline

Utility method to change point indices into Houdini geometry offsets.

Note
PointIndexGrid's that store Houdini geometry offsets are not safe to write to disk, offsets are not guaranteed to be immutable under defragmentation operations or I/O.

Definition at line 295 of file GU_VDBPointTools.h.

template<typename ParticleArrayType >
openvdb::tools::ParticleIndexAtlas::Ptr GUvdbCreateParticleAtlas ( const double  minVoxelSize,
const ParticleArrayType &  particles 
)
inline

Utility method to construct a ParticleAtals.

The ParticleAtals supports fast spatial queries for particles.

Definition at line 329 of file GU_VDBPointTools.h.

openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointIndexGrid ( const openvdb::math::Transform &  xform,
const GU_Detail detail,
const GA_PointGroup pointGroup = nullptr 
)
inline

Utility method to construct a PointIndexGrid.

The PointIndexGrid supports fast spatial queries for points.

Definition at line 305 of file GU_VDBPointTools.h.

template<typename PointArrayType >
openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointIndexGrid ( const openvdb::math::Transform &  xform,
const PointArrayType &  points 
)
inline

Utility method to construct a PointIndexGrid.

The PointIndexGrid supports fast spatial queries for points.

Definition at line 319 of file GU_VDBPointTools.h.

GU_VDBPointList<openvdb::Vec3s>::Ptr GUvdbCreatePointList ( const GU_Detail detail,
const GA_PointGroup pointGroup = nullptr 
)
inline

Utility method to construct a GU_VDBPointList.

The GU_VDBPointList is compatible with the PointIndexGrid and ParticleAtals structures.

Definition at line 283 of file GU_VDBPointTools.h.

openvdb::MaskGrid::Ptr GUvdbCreatePointMaskGrid ( const openvdb::math::Transform &  xform,
const GU_Detail detail,
const GA_PointGroup pointGroup = nullptr 
)
inline

Utility method to construct a boolean PointMaskGrid.

This method supports packed points.

Definition at line 345 of file GU_VDBPointTools.h.

openvdb::tools::PointIndexGrid::Ptr GUvdbCreatePointOffsetGrid ( const openvdb::math::Transform &  xform,
const GU_Detail detail,
const GA_PointGroup pointGroup = nullptr 
)
inline

Utility method to construct a PointIndexGrid that stores Houdini geometry offsets.

Note
PointIndexGrid's that store Houdini geometry offsets are not safe to write to disk, offsets are not guaranteed to be immutable under defragmentation operations or I/O.

Definition at line 371 of file GU_VDBPointTools.h.