OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | List of all members
MeshToVoxelEdgeData Class Reference

Extracts and stores voxel edge intersection data from a mesh. More...

#include <openvdb/tools/MeshToVolume.h>

Classes

struct  EdgeData
 Internal edge data type. More...
 
class  GenEdgeData
 

Public Types

using TreeType = tree::Tree4< EdgeData, 5, 4, 3 >::Type
 
using Accessor = tree::ValueAccessor< TreeType >
 

Public Member Functions

 MeshToVoxelEdgeData ()
 
void convert (const std::vector< Vec3s > &pointList, const std::vector< Vec4I > &polygonList)
 Threaded method to extract voxel edge data, the closest intersection point and corresponding primitive index, from the given mesh. More...
 
void getEdgeData (Accessor &acc, const Coord &ijk, std::vector< Vec3d > &points, std::vector< Index32 > &primitives)
 Returns intersection points with corresponding primitive indices for the given ijk voxel. More...
 
Accessor getAccessor ()
 

Detailed Description

Extracts and stores voxel edge intersection data from a mesh.

Member Typedef Documentation

using TreeType = tree::Tree4<EdgeData, 5, 4, 3>::Type

Constructor & Destructor Documentation

MeshToVoxelEdgeData ( )
inline

Member Function Documentation

void convert ( const std::vector< Vec3s > &  pointList,
const std::vector< Vec4I > &  polygonList 
)
inline

Threaded method to extract voxel edge data, the closest intersection point and corresponding primitive index, from the given mesh.

Parameters
pointListList of points in grid index space, preferably unique and shared by different polygons.
polygonListList of triangles and/or quads.
Accessor getAccessor ( )
inline
Returns
An accessor of MeshToVoxelEdgeData::Accessor type that provides random read access to the internal tree.
void getEdgeData ( Accessor acc,
const Coord &  ijk,
std::vector< Vec3d > &  points,
std::vector< Index32 > &  primitives 
)
inline

Returns intersection points with corresponding primitive indices for the given ijk voxel.