54#ifndef vtkIntersectionPolyDataFilter_h
55#define vtkIntersectionPolyDataFilter_h
57#include "vtkFiltersGeneralModule.h"
60VTK_ABI_NAMESPACE_BEGIN
72 vtkGetMacro(NumberOfIntersectionPoints,
int);
73 vtkGetMacro(NumberOfIntersectionLines,
int);
131 vtkGetMacro(Status,
int);
138 vtkGetMacro(Tolerance,
double);
139 vtkSetMacro(Tolerance,
double);
148 vtkGetMacro(RelativeSubtriangleArea,
double);
149 vtkSetMacro(RelativeSubtriangleArea,
double);
163 double q2[3],
double r2[3],
int& coplanar,
double pt1[3],
double pt2[3],
double surfaceid[2],
189 int NumberOfIntersectionPoints;
190 int NumberOfIntersectionLines;
198 double RelativeSubtriangleArea;
a simple class to control print indentation
vtkIntersectionPolyDataFilter computes the intersection between two vtkPolyData objects.
~vtkIntersectionPolyDataFilter() override
vtkIntersectionPolyDataFilter()
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static void CleanAndCheckSurface(vtkPolyData *pd, double stats[2], double tolerance)
Function to clean and check the output surfaces for bad triangles and free edges.
static vtkIntersectionPolyDataFilter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static int TriangleTriangleIntersection(double p1[3], double q1[3], double r1[3], double p2[3], double q2[3], double r2[3], int &coplanar, double pt1[3], double pt2[3], double surfaceid[2], double tolerance)
Given two triangles defined by points (p1, q1, r1) and (p2, q2, r2), returns whether the two triangle...
static void CleanAndCheckInput(vtkPolyData *pd, double tolerance)
Function to clean and check the inputs.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips