 |
VTK
9.0.1
|
Go to the documentation of this file.
91 #ifndef vtkCollisionDetectionFilter_h
92 #define vtkCollisionDetectionFilter_h
95 #include "vtkFiltersModelingModule.h"
119 VTK_ALL_CONTACTS = 0,
120 VTK_FIRST_CONTACT = 1,
121 VTK_HALF_CONTACTS = 2
130 vtkSetClampMacro(CollisionMode,
int, VTK_ALL_CONTACTS, VTK_HALF_CONTACTS);
131 vtkGetMacro(CollisionMode,
int);
138 if (this->CollisionMode == VTK_ALL_CONTACTS)
140 return "AllContacts";
142 else if (this->CollisionMode == VTK_FIRST_CONTACT)
144 return "FirstContact";
148 return "HalfContacts";
162 double bounds2[6],
double tol2,
double x1[2],
double x2[3],
int CollisionMode);
209 vtkSetMacro(BoxTolerance,
float);
210 vtkGetMacro(BoxTolerance,
float);
216 vtkSetMacro(CellTolerance,
double);
217 vtkGetMacro(CellTolerance,
double);
225 vtkSetMacro(GenerateScalars,
int);
226 vtkGetMacro(GenerateScalars,
int);
227 vtkBooleanMacro(GenerateScalars,
int);
244 vtkGetMacro(NumberOfBoxTests,
int);
251 vtkSetMacro(NumberOfCellsPerNode,
int);
252 vtkGetMacro(NumberOfCellsPerNode,
int);
260 vtkSetClampMacro(Opacity,
float, 0.0, 1.0);
261 vtkGetMacro(Opacity,
float);
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetCollisionModeToHalfContacts()
vtkCollisionDetectionFilter()
vtkLinearTransform * GetTransform(int i)
void SetMatrix(int i, vtkMatrix4x4 *matrix)
vtkAlgorithmOutput * GetOutputPort()
generate oriented bounding box (OBB) tree
vtkPolyData * GetContactsOutput()
vtkMatrix4x4 * GetMatrix(int i)
virtual vtkFieldData * GetFieldData()
vtkDataArray * GetArray(int i)
Not recommended for use.
vtkIdType GetNumberOfTuples() const
Get the number of complete tuples (a component group) in the array.
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
vtkIdTypeArray * GetContactCells(int i)
Get an array of the contacting cells.
~vtkCollisionDetectionFilter() override
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
dynamic, self-adjusting array of vtkIdType
static vtkCollisionDetectionFilter * New()
Standard methods for construction, type and printing.
vtkMTimeType GetMTime() override
Return this object's modified time.
vtkPolyData * GetInputData(int i)
void SetTransform(int i, vtkLinearTransform *transform)
Proxy object to connect input/output ports.
concrete dataset represents vertices, lines, polygons, and triangle strips
performs collision determination between two polyhedral surfaces
int IntersectPolygonWithPolygon(int npts, double *pts, double bounds[6], int npts2, double *pts2, double bounds2[6], double tol2, double x1[2], double x2[3], int CollisionMode)
Description: Intersect two polygons, return x1 and x2 as the two points of intersection.
void SetCollisionModeToAllContacts()
void SetInputData(int i, vtkPolyData *model)
Set and Get the input vtk polydata models.
const char * GetCollisionModeAsString(void)
int GetNumberOfContacts()
vtkAlgorithmOutput * GetContactsOutputPort()
Get the output with the points where the contacting cells intersect.
vtkPolyData * GetOutput()
Get the output data object for a port on this algorithm.
void SetCollisionModeToFirstContact()
vtkTypeUInt32 vtkMTimeType
Superclass for algorithms that produce only polydata as output.