Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Voxel_CollisionDetection Class Reference

Detects collisions between shapes.

#include <Voxel_CollisionDetection.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC Voxel_CollisionDetection ()
 An empty constructor.

 Voxel_CollisionDetection (const Standard_Real deflection, const Standard_Integer nbx, const Standard_Integer nby, const Standard_Integer nbz)
 A constructor.
It defines deflection of triangulation for the shapes.
As lower the deflection is, as proper the triangulation is generated.
Also, it defines number of splits along X, Y and Z axes for generation of voxels.
As greater the numbers are, as greater number of voxels is used for detection of collision.

Standard_Integer AddShape (const TopoDS_Shape &shape)
 Adds a shape.
Returns an index of the shape.

Standard_Boolean ReplaceShape (const Standard_Integer ishape, const TopoDS_Shape &shape)
 Replaces a shape by another one.
<ishape> is an index of the shape.
This method is useful for moving shape, for example.

void SetDeflection (const Standard_Real deflection)
 Defines the deflection of triangulation of shapes.

void SetNbVoxels (const Standard_Integer nbx, const Standard_Integer nby, const Standard_Integer nbz)
 Defines the number of voxels along X, Y and Z axes.

void SetBoundaryBox (const Bnd_Box &box)
 Defines a user-defined boundary box for generation of voxels.
If this method is not called, the algorithm calculates the boundary box itself.

void SetUsageOfVolume (const Standard_Boolean usage)
 Defines usage of volume of shapes in collision detection algorithm.
Beware, usage of volume a little bit decreases the speed of algorithm.

void KeepCollisions (const Standard_Boolean keep)
 Doesn't clean the collision points on new call to the method Compute().
It allows to see the collisions for a moving shape.

Standard_Boolean Voxelize (const Standard_Integer ishape=-1)
 Prepares data for computation of collisions.
It checks the inner parameters (number of voxels along X, Y and Z axes) and
voxelizes the shapes.
If the shape is not changed since the last call to this method,
this method may be not called for this shape.
<ishape> - is the index of the shape for processing by this method.
If it is equal to -1, all shapes will be processed.

Standard_Boolean Compute ()
 Computes the collisions.
This method may be called many times if, for example, the shapes are being moved.

Standard_Boolean HasCollisions () const
 Returns true if a collision is detected.

const Voxel_BoolDSGetCollisions () const
 Returns the collided voxels.

void Destroy ()
 A destructor.

 ~Voxel_CollisionDetection ()

Constructor & Destructor Documentation


Member Function Documentation


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