56 #ifndef vtkCollisionDetectionFilter_h
57 #define vtkCollisionDetectionFilter_h
60 #include "vtkFiltersModelingModule.h"
63 VTK_ABI_NAMESPACE_BEGIN
86 VTK_FIRST_CONTACT = 1,
96 vtkSetClampMacro(CollisionMode,
int, VTK_ALL_CONTACTS, VTK_HALF_CONTACTS);
97 vtkGetMacro(CollisionMode,
int);
104 if (this->CollisionMode == VTK_ALL_CONTACTS)
106 return "AllContacts";
108 else if (this->CollisionMode == VTK_FIRST_CONTACT)
110 return "FirstContact";
114 return "HalfContacts";
127 int IntersectPolygonWithPolygon(
int npts,
double* pts,
double bounds[6],
int npts2,
double* pts2,
128 double bounds2[6],
double tol2,
double x1[3],
double x2[3],
int CollisionMode);
175 vtkSetMacro(BoxTolerance,
float);
176 vtkGetMacro(BoxTolerance,
float);
182 vtkSetMacro(CellTolerance,
double);
183 vtkGetMacro(CellTolerance,
double);
191 vtkSetMacro(GenerateScalars,
int);
192 vtkGetMacro(GenerateScalars,
int);
193 vtkBooleanMacro(GenerateScalars,
int);
204 int GetNumberOfContacts();
211 vtkGetMacro(NumberOfBoxTests,
int);
218 vtkSetMacro(NumberOfCellsPerNode,
int);
219 vtkGetMacro(NumberOfCellsPerNode,
int);
227 vtkSetClampMacro(Opacity,
float, 0.0, 1.0);
228 vtkGetMacro(Opacity,
float);
267 VTK_ABI_NAMESPACE_END
vtkAlgorithmOutput * GetOutputPort()
represent and manipulate 4x4 transformation matrices
void SetCollisionModeToHalfContacts()
Set the collision mode to VTK_ALL_CONTACTS to find all the contacting cell pairs with two points per ...
vtkPolyData * GetContactsOutput()
Get the output with the points where the contacting cells intersect.
vtkTypeUInt32 vtkMTimeType
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void SetCollisionModeToFirstContact()
Set the collision mode to VTK_ALL_CONTACTS to find all the contacting cell pairs with two points per ...
dynamic, self-adjusting array of vtkIdType
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetCollisionModeToAllContacts()
Set the collision mode to VTK_ALL_CONTACTS to find all the contacting cell pairs with two points per ...
generate oriented bounding box (OBB) tree
Proxy object to connect input/output ports.
const char * GetCollisionModeAsString()
Set the collision mode to VTK_ALL_CONTACTS to find all the contacting cell pairs with two points per ...
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
virtual vtkMTimeType GetMTime()
Return this object's modified time.
void SetInputData(vtkDataObject *)
Assign a data object as input.
performs collision determination between two polyhedral surfaces
vtkLinearTransform * GetTransform(int i)
vtkPolyData * GetOutput()
Get the output data object for a port on this algorithm.
vtkAlgorithmOutput * GetContactsOutputPort()
Get the output with the points where the contacting cells intersect.
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.