#include <SurfaceCollisions.h>


Classes | |
| struct | CollisionInfo |
| Structure storing information about detected collision. More... | |
| struct | IntersectionInfo |
| Structure storing information about detected self-intersection. More... | |
Public Types | |
| enum | CollisionType { NoCollision, Collision, FrontfaceCollision, BackfaceCollision, Intersection, SelfIntersection, AdjacentIntersection, Ambiguous } |
| Type of self-collision. More... | |
Public Member Functions | |
| const CollisionsSet & | Collisions (int) const |
| bool | FoundCollisions () const |
| Whether at least one collision was found. | |
| bool | FoundIntersections () const |
| Whether at least one intersection was found. | |
| vtkDataArray * | GetCenterArray () const |
| Get cell data array storing center points of bounding spheres. | |
| CollisionType | GetCollisionType (int) const |
| Get type of cell collision. | |
| CollisionType | GetCollisionType (vtkIdType) const |
| Get type of cell collision. | |
| vtkDataArray * | GetCollisionTypeArray () const |
| Get cell data array storing type of cell collision. | |
| vtkDataArray * | GetRadiusArray () const |
| Get cell data array storing radii of bounding spheres. | |
| const IntersectionsSet & | Intersections (int) const |
| mirtkOnOffMacro (AdjacentIntersectionTest) | |
| Enable/disable intersection test for adjacent triangles. | |
| mirtkOnOffMacro (NonAdjacentIntersectionTest) | |
| Enable/disable intersection test for non-adjacent triangles. | |
| mirtkOnOffMacro (FrontfaceCollisionTest) | |
| Enable/disable near miss collision test for front-facing triangles. | |
| mirtkOnOffMacro (BackfaceCollisionTest) | |
| Enable/disable near miss collision test for back-facing triangles. | |
| mirtkOnOffMacro (FastCollisionTest) | |
| Enable/disable fast, approximate collision test. | |
| mirtkOnOffMacro (StoreIntersectionDetails) | |
| Enable/disable storage of details about found intersections. | |
| mirtkOnOffMacro (StoreCollisionDetails) | |
| Enable/disable storage of details about found intersections. | |
| mirtkOnOffMacro (ResetCollisionType) | |
| Enable/disable resetting of optional input collision type array. | |
| int | NumberOfCollisions (int) const |
| int | NumberOfIntersections (int) const |
| SurfaceCollisions & | operator= (const SurfaceCollisions &) |
| Assignment operator. | |
| SurfaceCollisions () | |
| Constructor. | |
| SurfaceCollisions (const SurfaceCollisions &) | |
| Copy constructor. | |
| virtual | ~SurfaceCollisions () |
| Destructor. | |
Public Member Functions inherited from mirtk::MeshFilter | |
| vtkPolyData * | GetOutput () |
| Get output surface mesh. | |
| mirtkOnOffMacro (DoublePrecision) | |
| Enable/disable double precision output. | |
| virtual void | Run () |
| Run filter. | |
| void | SetInput (vtkPolyData *) |
| Set input surface mesh. | |
| void | SetInputData (vtkPolyData *) |
| Set input surface mesh. | |
| void | Update () |
| Run filter. | |
Public Member Functions inherited from mirtk::Object | |
| virtual const char * | NameOfClass () const =0 |
| Get name of class, which this object is an instance of. | |
| virtual ParameterList | Parameter () const |
| Get parameter name/value pairs. | |
| bool | Parameter (const ParameterList &) |
| Set parameters from name/value pairs. | |
| virtual bool | Set (const char *name, const char *value) |
| virtual | ~Object () |
| Destructor. | |
Static Public Member Functions | |
| static bool | IsCollision (CollisionType) |
| Whether a given collision type indicates a near miss collision. | |
| static bool | IsIntersection (CollisionType) |
| Whether a given collision type indicates a self-intersection. | |
Static Public Member Functions inherited from mirtk::Object | |
| static const char * | NameOfType () |
| Get name of this class type. | |
Protected Member Functions | |
| virtual void | Execute () |
| Execute filter. | |
| virtual void | Initialize () |
| Initialize filter after input and parameters are set. | |
Protected Member Functions inherited from mirtk::SurfaceFilter | |
| SurfaceFilter & | operator= (const SurfaceFilter &) |
| Assignment operator. | |
| SurfaceFilter () | |
| Default constructor. | |
| SurfaceFilter (const SurfaceFilter &) | |
| Copy constructor. | |
| virtual | ~SurfaceFilter () |
| Destructor. | |
Protected Member Functions inherited from mirtk::MeshFilter | |
| virtual void | Finalize () |
| Finalize filter execution. | |
| virtual void | InitializeEdgeTable () |
| To be called by subclass in Initialize when _EdgeTable is needed. | |
| MeshFilter () | |
| Default constructor. | |
| MeshFilter (const MeshFilter &) | |
| Copy constructor. | |
| vtkSmartPointer< vtkDataArray > | NewArray (const char *name, vtkIdType n, int c, int type=VTK_VOID) const |
| vtkSmartPointer< vtkDataArray > | NewArray (const char *name, int c=1, int type=VTK_VOID) const |
| vtkSmartPointer< vtkDataArray > | NewCellArray (const char *name, int c=1, int type=VTK_VOID) const |
| vtkSmartPointer< vtkDataArray > | NewPointArray (const char *name, int c=1, int type=VTK_VOID) const |
| MeshFilter & | operator= (const MeshFilter &) |
| Assignment operator. | |
| virtual | ~MeshFilter () |
| Destructor. | |
Protected Member Functions inherited from mirtk::Object | |
| template<typename... Args> | |
| void | Throw (ErrorType err, const char *func, Args... args) const |
Additional Inherited Members | |
Static Protected Member Functions inherited from mirtk::Object | |
| template<typename... Args> | |
| static void | ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args) |
Auxiliary class used to find self-collisions of a triangulated surface mesh
Instances of this class detect different types of self-collisions such as in particular self-intersections between non-adjacent as well as adjacent triangular faces and a list of non-adjacent faces which are about to collide, i.e., very close to each other. They are used to impose either hard or soft non-self-intersection constraints on a deformable surface.
Definition at line 49 of file SurfaceCollisions.h.
Type of self-collision.
Definition at line 58 of file SurfaceCollisions.h.
|
inline |
Set of collisions of other faces with the specified cell
Definition at line 379 of file SurfaceCollisions.h.
|
inline |
Set of intersections of other faces with the specified cell
Definition at line 372 of file SurfaceCollisions.h.
|
inline |
Number of collisions with specified cell
Definition at line 391 of file SurfaceCollisions.h.
|
inline |
Number of self-intersections with specified cell
Definition at line 385 of file SurfaceCollisions.h.