Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
tesseract_collision::VHACD::Volume Class Reference

#include <vhacdVolume.h>

Collaboration diagram for tesseract_collision::VHACD::Volume:
Collaboration graph
[legend]

Public Member Functions

 ~Volume (void)
 Destructor. More...
 
 Volume ()
 Constructor. More...
 
template<class T >
void Voxelize (const T *const points, const uint32_t stridePoints, const uint32_t nPoints, const int32_t *const triangles, const uint32_t strideTriangles, const uint32_t nTriangles, const size_t dim, const Vec3< double > &barycenter, const double(&rot)[3][3])
 Voxelize. More...
 
unsigned char & GetVoxel (const size_t i, const size_t j, const size_t k)
 
const unsigned char & GetVoxel (const size_t i, const size_t j, const size_t k) const
 
size_t GetNPrimitivesOnSurf () const
 
size_t GetNPrimitivesInsideSurf () const
 
void Convert (Mesh &mesh, const VOXEL_VALUE value) const
 
void Convert (VoxelSet &vset) const
 
void Convert (TetrahedronSet &tset) const
 
void AlignToPrincipalAxes (double(&rot)[3][3]) const
 

Private Member Functions

void FillOutsideSurface (const size_t i0, const size_t j0, const size_t k0, const size_t i1, const size_t j1, const size_t k1)
 
void FillInsideSurface ()
 
template<class T >
void ComputeBB (const T *const points, const uint32_t stridePoints, const uint32_t nPoints, const Vec3< double > &barycenter, const double(&rot)[3][3])
 
void Allocate ()
 
void Free ()
 

Private Attributes

Vec3< double > m_minBB
 
Vec3< double > m_maxBB
 
double m_scale
 
size_t m_dim [3]
 
size_t m_numVoxelsOnSurface
 
size_t m_numVoxelsInsideSurface
 
size_t m_numVoxelsOutsideSurface
 
unsigned char * m_data
 

Constructor & Destructor Documentation

◆ ~Volume()

tesseract_collision::VHACD::Volume::~Volume ( void  )

Destructor.

◆ Volume()

tesseract_collision::VHACD::Volume::Volume ( )

Constructor.

Member Function Documentation

◆ AlignToPrincipalAxes()

void tesseract_collision::VHACD::Volume::AlignToPrincipalAxes ( double(&)  rot[3][3]) const

◆ Allocate()

void tesseract_collision::VHACD::Volume::Allocate ( )
private

◆ ComputeBB()

template<class T >
void tesseract_collision::VHACD::Volume::ComputeBB ( const T *const  points,
const uint32_t  stridePoints,
const uint32_t  nPoints,
const Vec3< double > &  barycenter,
const double(&)  rot[3][3] 
)
private

◆ Convert() [1/3]

void tesseract_collision::VHACD::Volume::Convert ( Mesh mesh,
const VOXEL_VALUE  value 
) const

◆ Convert() [2/3]

void tesseract_collision::VHACD::Volume::Convert ( TetrahedronSet tset) const

◆ Convert() [3/3]

void tesseract_collision::VHACD::Volume::Convert ( VoxelSet vset) const

◆ FillInsideSurface()

void tesseract_collision::VHACD::Volume::FillInsideSurface ( )
private

◆ FillOutsideSurface()

void tesseract_collision::VHACD::Volume::FillOutsideSurface ( const size_t  i0,
const size_t  j0,
const size_t  k0,
const size_t  i1,
const size_t  j1,
const size_t  k1 
)
private

◆ Free()

void tesseract_collision::VHACD::Volume::Free ( )
private

◆ GetNPrimitivesInsideSurf()

size_t tesseract_collision::VHACD::Volume::GetNPrimitivesInsideSurf ( ) const
inline

◆ GetNPrimitivesOnSurf()

size_t tesseract_collision::VHACD::Volume::GetNPrimitivesOnSurf ( ) const
inline

◆ GetVoxel() [1/2]

unsigned char & tesseract_collision::VHACD::Volume::GetVoxel ( const size_t  i,
const size_t  j,
const size_t  k 
)
inline

◆ GetVoxel() [2/2]

const unsigned char & tesseract_collision::VHACD::Volume::GetVoxel ( const size_t  i,
const size_t  j,
const size_t  k 
) const
inline

◆ Voxelize()

template<class T >
void tesseract_collision::VHACD::Volume::Voxelize ( const T *const  points,
const uint32_t  stridePoints,
const uint32_t  nPoints,
const int32_t *const  triangles,
const uint32_t  strideTriangles,
const uint32_t  nTriangles,
const size_t  dim,
const Vec3< double > &  barycenter,
const double(&)  rot[3][3] 
)

Voxelize.

Member Data Documentation

◆ m_data

unsigned char* tesseract_collision::VHACD::Volume::m_data
private

◆ m_dim

size_t tesseract_collision::VHACD::Volume::m_dim[3]
private

◆ m_maxBB

Vec3<double> tesseract_collision::VHACD::Volume::m_maxBB
private

◆ m_minBB

Vec3<double> tesseract_collision::VHACD::Volume::m_minBB
private

◆ m_numVoxelsInsideSurface

size_t tesseract_collision::VHACD::Volume::m_numVoxelsInsideSurface
private

◆ m_numVoxelsOnSurface

size_t tesseract_collision::VHACD::Volume::m_numVoxelsOnSurface
private

◆ m_numVoxelsOutsideSurface

size_t tesseract_collision::VHACD::Volume::m_numVoxelsOutsideSurface
private

◆ m_scale

double tesseract_collision::VHACD::Volume::m_scale
private

The documentation for this class was generated from the following files: