GenGeo
1.1

#include <MeshVolWithJointSet.h>
Public Member Functions  
MeshVolWithJointSet ()  
MeshVolWithJointSet (const TriPatchSet &)  
virtual  ~MeshVolWithJointSet () 
virtual const map< double, const AGeometricObject * >  getClosestObjects (const Vector3 &, int) const 
virtual bool  isIn (const Vector3 &) const 
virtual bool  isIn (const Sphere &) 
void  addJoints (const TriPatchSet &) 
Public Member Functions inherited from MeshVolume  
MeshVolume ()  
MeshVolume (const TriPatchSet &)  
virtual  ~MeshVolume () 
virtual pair< Vector3, Vector3 >  getBoundingBox () 
virtual Vector3  getAPoint (int) const 
virtual bool  isFullyOutside (const Sphere &) 
Public Member Functions inherited from AVolume3D  
virtual  ~AVolume3D () 
Public Member Functions inherited from AVolume  
virtual  ~AVolume () 
virtual int  getNumberSubVolumes () const 
Protected Attributes  
vector< Triangle3D >  m_joints 
Protected Attributes inherited from MeshVolume  
TriPatchSet  m_mesh 
Vector3  m_MinPoint 
Vector3  m_MaxPoint 
Vector3  m_DistPoint 
Additional Inherited Members  
Protected Member Functions inherited from MeshVolume  
double  m_random (double, double) const 
A class for the generation of random particles inside a volume bounded by a triangle mesh, with the option of including joint sets. The correctness of the supplied mesh, i.e. that it actually defines a closed surface, is not checked in the class. Instead the caller is responsible to supply a correct mesh. No convexity or other topological requirements apply to the volume. Facet orientations is not relevant. Works also if the mesh encloses multiple volumes.
MeshVolWithJointSet::MeshVolWithJointSet  (  ) 
Constructor
MeshVolWithJointSet::MeshVolWithJointSet  (  const TriPatchSet &  tp  ) 
Constructor
tp  the triangle set 
References TriPatchSet::getBoundingBox(), MeshVolume::m_DistPoint, MeshVolume::m_MaxPoint, MeshVolume::m_mesh, and MeshVolume::m_MinPoint.

inlinevirtual 
void MeshVolWithJointSet::addJoints  (  const TriPatchSet &  t  ) 
References m_joints, TriPatchSet::triangles_begin(), and TriPatchSet::triangles_end().
Referenced by exportMeshVolWithJointSet().

virtual 
returns a map of the closest mesh facets and their distances to a given point
P  the point 
nmax  the maximum number of objects to be returned 
Reimplemented from MeshVolume.
References m_joints, MeshVolume::m_mesh, TriPatchSet::triangles_begin(), and TriPatchSet::triangles_end().

virtual 
Check if a point is inside the volume. Works by checking if a line between the point and a point outside crosses an odd number of mesh facets.
P  the point 
Reimplemented from MeshVolume.
References MeshVolume::m_DistPoint, MeshVolume::m_mesh, TriPatchSet::triangles_begin(), and TriPatchSet::triangles_end().
Referenced by isIn().

virtual 
Check if a sphere is fully inside the volume. Works by testing if center of the sphere is inside and sphere doesn't intersect a mesh facet.
S  the sphere 
Reimplemented from MeshVolume.
References Sphere::Center(), isIn(), m_joints, MeshVolume::m_mesh, Sphere::Radius(), TriPatchSet::triangles_begin(), and TriPatchSet::triangles_end().

protected 
Referenced by addJoints(), getClosestObjects(), and isIn().