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

#include <vhacdVolume.h>

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

Public Member Functions

 ~TetrahedronSet (void)
 Destructor. More...
 
 TetrahedronSet ()
 Constructor. More...
 
size_t GetNPrimitives () const override
 
size_t GetNPrimitivesOnSurf () const override
 
size_t GetNPrimitivesInsideSurf () const override
 
const Vec3< double > & GetMinBB () const
 
const Vec3< double > & GetMaxBB () const
 
const Vec3< double > & GetBarycenter () const
 
double GetEigenValue (AXIS axis) const override
 
double GetSacle () const
 
double ComputeVolume () const override
 
double ComputeMaxVolumeError () const override
 
void ComputeConvexHull (Mesh &meshCH, const size_t sampling=1) const override
 
void ComputePrincipalAxes () override
 
void AlignToPrincipalAxes () override
 
void RevertAlignToPrincipalAxes () 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
 
bool Add (Tetrahedron &tetrahedron)
 
PrimitiveSetCreate () const override
 
- 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 ()
 

Static Public Attributes

static const double EPS = 0.0000000000001
 

Private Member Functions

void AddClippedTetrahedra (const Vec3< double >(&pts)[10], const int32_t nPts)
 

Private Attributes

size_t m_numTetrahedraOnSurface
 
size_t m_numTetrahedraInsideSurface
 
double m_scale
 
Vec3< double > m_minBB
 
Vec3< double > m_maxBB
 
Vec3< double > m_barycenter
 
SArray< Tetrahedron, 8 > m_tetrahedra
 
double m_Q [3][3]
 
double m_D [3][3]
 

Friends

class Volume
 

Constructor & Destructor Documentation

◆ ~TetrahedronSet()

tesseract_collision::VHACD::TetrahedronSet::~TetrahedronSet ( void  )

Destructor.

◆ TetrahedronSet()

tesseract_collision::VHACD::TetrahedronSet::TetrahedronSet ( )

Constructor.

Member Function Documentation

◆ Add()

bool tesseract_collision::VHACD::TetrahedronSet::Add ( Tetrahedron tetrahedron)
inline

◆ AddClippedTetrahedra()

void tesseract_collision::VHACD::TetrahedronSet::AddClippedTetrahedra ( const Vec3< double >(&)  pts[10],
const int32_t  nPts 
)
private

◆ AlignToPrincipalAxes()

void tesseract_collision::VHACD::TetrahedronSet::AlignToPrincipalAxes ( )
overridevirtual

◆ Clip()

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

◆ ComputeBB()

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

◆ ComputeClippedVolumes()

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

◆ ComputeConvexHull()

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

◆ ComputeExteriorPoints()

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

◆ ComputeMaxVolumeError()

double tesseract_collision::VHACD::TetrahedronSet::ComputeMaxVolumeError ( ) const
overridevirtual

◆ ComputePrincipalAxes()

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

◆ ComputeVolume()

double tesseract_collision::VHACD::TetrahedronSet::ComputeVolume ( ) const
overridevirtual

◆ Convert()

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

◆ Create()

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

◆ GetBarycenter()

const Vec3< double > & tesseract_collision::VHACD::TetrahedronSet::GetBarycenter ( ) const
inline

◆ GetEigenValue()

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

◆ GetMaxBB()

const Vec3< double > & tesseract_collision::VHACD::TetrahedronSet::GetMaxBB ( ) const
inline

◆ GetMinBB()

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

◆ GetNPrimitives()

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

◆ GetNPrimitivesInsideSurf()

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

◆ GetNPrimitivesOnSurf()

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

◆ GetSacle()

double tesseract_collision::VHACD::TetrahedronSet::GetSacle ( ) const
inline

◆ Intersect()

void tesseract_collision::VHACD::TetrahedronSet::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::TetrahedronSet::RevertAlignToPrincipalAxes ( )
overridevirtual

◆ SelectOnSurface()

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

Friends And Related Function Documentation

◆ Volume

friend class Volume
friend

Member Data Documentation

◆ EPS

const double tesseract_collision::VHACD::TetrahedronSet::EPS = 0.0000000000001
static

◆ m_barycenter

Vec3<double> tesseract_collision::VHACD::TetrahedronSet::m_barycenter
private

◆ m_D

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

◆ m_maxBB

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

◆ m_minBB

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

◆ m_numTetrahedraInsideSurface

size_t tesseract_collision::VHACD::TetrahedronSet::m_numTetrahedraInsideSurface
private

◆ m_numTetrahedraOnSurface

size_t tesseract_collision::VHACD::TetrahedronSet::m_numTetrahedraOnSurface
private

◆ m_Q

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

◆ m_scale

double tesseract_collision::VHACD::TetrahedronSet::m_scale
private

◆ m_tetrahedra

SArray<Tetrahedron, 8> tesseract_collision::VHACD::TetrahedronSet::m_tetrahedra
private

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