OpenVDB 13.0.0

Loading...
Searching...
No Matches
GU_VDBPointTools.h File Reference

Collection of PointIndexGrid helpers for Houdini. More...

`#include <GU/GU_Detail.h>`
`#include <GU/GU_DetailHandle.h>`
`#include <GU/GU_PackedContext.h>`
`#include <GU/GU_PackedFragment.h>`
`#include <GU/GU_PackedGeometry.h>`
`#include <GU/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>`

Go to the source code of this file.

## Classes
struct | GU_VDBPointList< VectorType >
| Houdini point attribute wrapper. More...
struct | IndexToOffsetOp< PointArrayType >
struct | PackedMaskConstructor

## Namespaces
namespace | GU_VDBPointToolsInternal

## Functions
void | 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.
template<typename PointIndexTreeType, typename PointArrayType>
void | GUvdbConvertIndexToOffset (PointIndexTreeType &tree, const PointArrayType &points)
| Utility method to change point indices into Houdini geometry offsets.
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.
template<typename PointArrayType>
openvdb::tools::PointIndexGrid::Ptr | GUvdbCreatePointIndexGrid (const openvdb::math::Transform &xform, const PointArrayType &points)
| Utility method to construct a PointIndexGrid.
template<typename ParticleArrayType>
openvdb::tools::ParticleIndexAtlas::Ptr | GUvdbCreateParticleAtlas (const double minVoxelSize, const ParticleArrayType &particles)
| Utility method to construct a ParticleAtals.
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.
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.

## Detailed Description

Collection of PointIndexGrid helpers for Houdini.

Author
  FX R&D OpenVDB team

## Function Documentation

## ◆ GUvdbConvertIndexToOffset()

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.

## ◆ GUvdbCreateParticleAtlas()

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.

## ◆ GUvdbCreatePointIndexGrid() [1/2]

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.

## ◆ GUvdbCreatePointIndexGrid() [2/2]

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.

## ◆ GUvdbCreatePointList()

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.

## ◆ GUvdbCreatePointMaskGrid()

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.

## ◆ GUvdbCreatePointOffsetGrid()

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.