VTK
|
#include <vtkBooleanOperationPolyDataFilter.h>
Computes the boundary of the union, intersection, or difference volume computed from the volumes defined by two input surfaces. The two surfaces do not need to be manifold, but if they are not, unexpected results may be obtained. The resulting surface is available in the first output of the filter. The second output contains a set of polylines that represent the intersection between the two input surfaces.
This code was contributed in the VTK Journal paper: "Boolean Operations on Surfaces in VTK Without External Libraries" by Cory Quammen, Chris Weigle C., Russ Taylor http://hdl.handle.net/10380/3262 http://www.midasjournal.org/browse/publication/797
Definition at line 46 of file vtkBooleanOperationPolyDataFilter.h.
Reimplemented from vtkPolyDataAlgorithm.
Definition at line 53 of file vtkBooleanOperationPolyDataFilter.h.
Definition at line 57 of file vtkBooleanOperationPolyDataFilter.h.
static vtkBooleanOperationPolyDataFilter* vtkBooleanOperationPolyDataFilter::New | ( | ) | [static] |
Construct object that computes the boolean surface.
Reimplemented from vtkPolyDataAlgorithm.
static int vtkBooleanOperationPolyDataFilter::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkBooleanOperationPolyDataFilter::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
static vtkBooleanOperationPolyDataFilter* vtkBooleanOperationPolyDataFilter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkPolyDataAlgorithm.
virtual vtkObjectBase* vtkBooleanOperationPolyDataFilter::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented from vtkPolyDataAlgorithm.
void vtkBooleanOperationPolyDataFilter::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPolyDataAlgorithm.
virtual void vtkBooleanOperationPolyDataFilter::SetOperation | ( | int | ) | [virtual] |
Set the boolean operation to perform. Defaults to union.
virtual int vtkBooleanOperationPolyDataFilter::GetOperation | ( | ) | [virtual] |
Set the boolean operation to perform. Defaults to union.
void vtkBooleanOperationPolyDataFilter::SetOperationToUnion | ( | ) | [inline] |
Set the boolean operation to perform. Defaults to union.
Definition at line 68 of file vtkBooleanOperationPolyDataFilter.h.
void vtkBooleanOperationPolyDataFilter::SetOperationToIntersection | ( | ) | [inline] |
Set the boolean operation to perform. Defaults to union.
Definition at line 70 of file vtkBooleanOperationPolyDataFilter.h.
void vtkBooleanOperationPolyDataFilter::SetOperationToDifference | ( | ) | [inline] |
Set the boolean operation to perform. Defaults to union.
Definition at line 72 of file vtkBooleanOperationPolyDataFilter.h.
virtual void vtkBooleanOperationPolyDataFilter::SetReorientDifferenceCells | ( | int | ) | [virtual] |
Turn on/off cell reorientation of the intersection portion of the surface when the operation is set to DIFFERENCE. Defaults to on.
virtual int vtkBooleanOperationPolyDataFilter::GetReorientDifferenceCells | ( | ) | [virtual] |
Turn on/off cell reorientation of the intersection portion of the surface when the operation is set to DIFFERENCE. Defaults to on.
virtual void vtkBooleanOperationPolyDataFilter::ReorientDifferenceCellsOn | ( | ) | [virtual] |
Turn on/off cell reorientation of the intersection portion of the surface when the operation is set to DIFFERENCE. Defaults to on.
virtual void vtkBooleanOperationPolyDataFilter::ReorientDifferenceCellsOff | ( | ) | [virtual] |
Turn on/off cell reorientation of the intersection portion of the surface when the operation is set to DIFFERENCE. Defaults to on.
virtual void vtkBooleanOperationPolyDataFilter::SetTolerance | ( | double | ) | [virtual] |
Set/get the tolerance used to determine when a point's absolute distance is considered to be zero. Defaults to 1e-6.
virtual double vtkBooleanOperationPolyDataFilter::GetTolerance | ( | ) | [virtual] |
Set/get the tolerance used to determine when a point's absolute distance is considered to be zero. Defaults to 1e-6.
void vtkBooleanOperationPolyDataFilter::SortPolyData | ( | vtkPolyData * | input, |
vtkIdList * | intersectionList, | ||
vtkIdList * | unionList | ||
) | [protected] |
Labels triangles in mesh as part of the intersection or union surface.
int vtkBooleanOperationPolyDataFilter::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
int vtkBooleanOperationPolyDataFilter::FillInputPortInformation | ( | int | port, |
vtkInformation * | info | ||
) | [protected, virtual] |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm.