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

#include <vhacdVolume.h>

Inheritance diagram for tesseract_collision::VHACD::VoxelSet:
Inheritance graph
[legend]
Collaboration diagram for tesseract_collision::VHACD::VoxelSet:
Collaboration graph
[legend]

Public Member Functions

 ~VoxelSet ()=default
 Destructor. More...
 
 VoxelSet ()
 Constructor. More...
 
size_t GetNPrimitives () const override
 
size_t GetNPrimitivesOnSurf () const override
 
size_t GetNPrimitivesInsideSurf () const override
 
double GetEigenValue (AXIS axis) const override
 
double ComputeVolume () const override
 
double ComputeMaxVolumeError () const override
 
const Vec3< short > & GetMinBBVoxels () const
 
const Vec3< short > & GetMaxBBVoxels () const
 
const Vec3< double > & GetMinBB () const
 
const double & GetScale () const
 
const double & GetUnitVolume () const
 
Vec3< double > GetPoint (Vec3< short > voxel) const
 
Vec3< double > GetPoint (const Voxel &voxel) const
 
Vec3< double > GetPoint (Vec3< double > voxel) const
 
void GetPoints (const Voxel &voxel, Vec3< double > *const pts) const
 
void ComputeConvexHull (Mesh &meshCH, const size_t sampling=1) const override
 
void Clip (const Plane &plane, PrimitiveSet *const positivePart, PrimitiveSet *const negativePart) const override
 
void Intersect (const Plane &plane, SArray< Vec3< double > > *const positivePts, SArray< Vec3< double > > *const negativePts, const size_t sampling) const override
 
void ComputeExteriorPoints (const Plane &plane, const Mesh &mesh, SArray< Vec3< double > > *const exteriorPts) const override
 
void ComputeClippedVolumes (const Plane &plane, double &positiveVolume, double &negativeVolume) const override
 
void SelectOnSurface (PrimitiveSet *const onSurfP) const override
 
void ComputeBB () override
 
void Convert (Mesh &mesh, const VOXEL_VALUE value) const override
 
void ComputePrincipalAxes () override
 
PrimitiveSetCreate () const override
 
void AlignToPrincipalAxes () override
 
void RevertAlignToPrincipalAxes () override
 
VoxelGetVoxels ()
 
const VoxelGetVoxels () const
 
- Public Member Functions inherited from tesseract_collision::VHACD::PrimitiveSet
virtual ~PrimitiveSet ()
 
virtual PrimitiveSetCreate () const =0
 
virtual size_t GetNPrimitives () const =0
 
virtual size_t GetNPrimitivesOnSurf () const =0
 
virtual size_t GetNPrimitivesInsideSurf () const =0
 
virtual double GetEigenValue (AXIS axis) const =0
 
virtual double ComputeMaxVolumeError () const =0
 
virtual double ComputeVolume () const =0
 
virtual void Clip (const Plane &plane, PrimitiveSet *const positivePart, PrimitiveSet *const negativePart) const =0
 
virtual void Intersect (const Plane &plane, SArray< Vec3< double > > *const positivePts, SArray< Vec3< double > > *const negativePts, const size_t sampling) const =0
 
virtual void ComputeExteriorPoints (const Plane &plane, const Mesh &mesh, SArray< Vec3< double > > *const exteriorPts) const =0
 
virtual void ComputeClippedVolumes (const Plane &plane, double &positiveVolume, double &negativeVolume) const =0
 
virtual void SelectOnSurface (PrimitiveSet *const onSurfP) const =0
 
virtual void ComputeConvexHull (Mesh &meshCH, const size_t sampling=1) const =0
 
virtual void ComputeBB ()=0
 
virtual void ComputePrincipalAxes ()=0
 
virtual void AlignToPrincipalAxes ()=0
 
virtual void RevertAlignToPrincipalAxes ()=0
 
virtual void Convert (Mesh &mesh, const VOXEL_VALUE value) const =0
 
const MeshGetConvexHull () const
 
MeshGetConvexHull ()
 

Private Attributes

size_t m_numVoxelsOnSurface
 
size_t m_numVoxelsInsideSurface
 
Vec3< double > m_minBB
 
double m_scale
 
SArray< Voxel, 8 > m_voxels
 
double m_unitVolume
 
Vec3< double > m_minBBPts
 
Vec3< double > m_maxBBPts
 
Vec3< short > m_minBBVoxels
 
Vec3< short > m_maxBBVoxels
 
Vec3< short > m_barycenter
 
double m_Q [3][3]
 
double m_D [3][3]
 
Vec3< double > m_barycenterPCA
 

Friends

class Volume
 

Constructor & Destructor Documentation

◆ ~VoxelSet()

tesseract_collision::VHACD::VoxelSet::~VoxelSet ( )
default

Destructor.

◆ VoxelSet()

tesseract_collision::VHACD::VoxelSet::VoxelSet ( )

Constructor.

Member Function Documentation

◆ AlignToPrincipalAxes()

void tesseract_collision::VHACD::VoxelSet::AlignToPrincipalAxes ( )
inlineoverridevirtual

◆ Clip()

void tesseract_collision::VHACD::VoxelSet::Clip ( const Plane plane,
PrimitiveSet *const  positivePart,
PrimitiveSet *const  negativePart 
) const
overridevirtual

◆ ComputeBB()

void tesseract_collision::VHACD::VoxelSet::ComputeBB ( )
overridevirtual

◆ ComputeClippedVolumes()

void tesseract_collision::VHACD::VoxelSet::ComputeClippedVolumes ( const Plane plane,
double &  positiveVolume,
double &  negativeVolume 
) const
overridevirtual

◆ ComputeConvexHull()

void tesseract_collision::VHACD::VoxelSet::ComputeConvexHull ( Mesh meshCH,
const size_t  sampling = 1 
) const
overridevirtual

◆ ComputeExteriorPoints()

void tesseract_collision::VHACD::VoxelSet::ComputeExteriorPoints ( const Plane plane,
const Mesh mesh,
SArray< Vec3< double > > *const  exteriorPts 
) const
overridevirtual

◆ ComputeMaxVolumeError()

double tesseract_collision::VHACD::VoxelSet::ComputeMaxVolumeError ( ) const
inlineoverridevirtual

◆ ComputePrincipalAxes()

void tesseract_collision::VHACD::VoxelSet::ComputePrincipalAxes ( )
overridevirtual

◆ ComputeVolume()

double tesseract_collision::VHACD::VoxelSet::ComputeVolume ( ) const
inlineoverridevirtual

◆ Convert()

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

◆ Create()

PrimitiveSet * tesseract_collision::VHACD::VoxelSet::Create ( ) const
inlineoverridevirtual

◆ GetEigenValue()

double tesseract_collision::VHACD::VoxelSet::GetEigenValue ( AXIS  axis) const
inlineoverridevirtual

◆ GetMaxBBVoxels()

const Vec3< short > & tesseract_collision::VHACD::VoxelSet::GetMaxBBVoxels ( ) const
inline

◆ GetMinBB()

const Vec3< double > & tesseract_collision::VHACD::VoxelSet::GetMinBB ( ) const
inline

◆ GetMinBBVoxels()

const Vec3< short > & tesseract_collision::VHACD::VoxelSet::GetMinBBVoxels ( ) const
inline

◆ GetNPrimitives()

size_t tesseract_collision::VHACD::VoxelSet::GetNPrimitives ( ) const
inlineoverridevirtual

◆ GetNPrimitivesInsideSurf()

size_t tesseract_collision::VHACD::VoxelSet::GetNPrimitivesInsideSurf ( ) const
inlineoverridevirtual

◆ GetNPrimitivesOnSurf()

size_t tesseract_collision::VHACD::VoxelSet::GetNPrimitivesOnSurf ( ) const
inlineoverridevirtual

◆ GetPoint() [1/3]

Vec3< double > tesseract_collision::VHACD::VoxelSet::GetPoint ( const Voxel voxel) const
inline

◆ GetPoint() [2/3]

Vec3< double > tesseract_collision::VHACD::VoxelSet::GetPoint ( Vec3< double >  voxel) const
inline

◆ GetPoint() [3/3]

Vec3< double > tesseract_collision::VHACD::VoxelSet::GetPoint ( Vec3< short >  voxel) const
inline

◆ GetPoints()

void tesseract_collision::VHACD::VoxelSet::GetPoints ( const Voxel voxel,
Vec3< double > *const  pts 
) const

◆ GetScale()

const double & tesseract_collision::VHACD::VoxelSet::GetScale ( ) const
inline

◆ GetUnitVolume()

const double & tesseract_collision::VHACD::VoxelSet::GetUnitVolume ( ) const
inline

◆ GetVoxels() [1/2]

Voxel * tesseract_collision::VHACD::VoxelSet::GetVoxels ( )
inline

◆ GetVoxels() [2/2]

const Voxel * tesseract_collision::VHACD::VoxelSet::GetVoxels ( ) const
inline

◆ Intersect()

void tesseract_collision::VHACD::VoxelSet::Intersect ( const Plane plane,
SArray< Vec3< double > > *const  positivePts,
SArray< Vec3< double > > *const  negativePts,
const size_t  sampling 
) const
overridevirtual

◆ RevertAlignToPrincipalAxes()

void tesseract_collision::VHACD::VoxelSet::RevertAlignToPrincipalAxes ( )
inlineoverridevirtual

◆ SelectOnSurface()

void tesseract_collision::VHACD::VoxelSet::SelectOnSurface ( PrimitiveSet *const  onSurfP) const
overridevirtual

Friends And Related Function Documentation

◆ Volume

friend class Volume
friend

Member Data Documentation

◆ m_barycenter

Vec3<short> tesseract_collision::VHACD::VoxelSet::m_barycenter
private

◆ m_barycenterPCA

Vec3<double> tesseract_collision::VHACD::VoxelSet::m_barycenterPCA
private

◆ m_D

double tesseract_collision::VHACD::VoxelSet::m_D[3][3]
private

◆ m_maxBBPts

Vec3<double> tesseract_collision::VHACD::VoxelSet::m_maxBBPts
private

◆ m_maxBBVoxels

Vec3<short> tesseract_collision::VHACD::VoxelSet::m_maxBBVoxels
private

◆ m_minBB

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

◆ m_minBBPts

Vec3<double> tesseract_collision::VHACD::VoxelSet::m_minBBPts
private

◆ m_minBBVoxels

Vec3<short> tesseract_collision::VHACD::VoxelSet::m_minBBVoxels
private

◆ m_numVoxelsInsideSurface

size_t tesseract_collision::VHACD::VoxelSet::m_numVoxelsInsideSurface
private

◆ m_numVoxelsOnSurface

size_t tesseract_collision::VHACD::VoxelSet::m_numVoxelsOnSurface
private

◆ m_Q

double tesseract_collision::VHACD::VoxelSet::m_Q[3][3]
private

◆ m_scale

double tesseract_collision::VHACD::VoxelSet::m_scale
private

◆ m_unitVolume

double tesseract_collision::VHACD::VoxelSet::m_unitVolume
private

◆ m_voxels

SArray<Voxel, 8> tesseract_collision::VHACD::VoxelSet::m_voxels
private

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