VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkBooleanOperationPolyDataFilter Class Reference

#include <vtkBooleanOperationPolyDataFilter.h>

Inherits vtkPolyDataAlgorithm.

Public Types

enum  OperationType { VTK_UNION =0, VTK_INTERSECTION, VTK_DIFFERENCE }
 
typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkBooleanOperationPolyDataFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetOperation (int)
 
virtual int GetOperation ()
 
void SetOperationToUnion ()
 
void SetOperationToIntersection ()
 
void SetOperationToDifference ()
 
virtual void SetReorientDifferenceCells (int)
 
virtual int GetReorientDifferenceCells ()
 
virtual void ReorientDifferenceCellsOn ()
 
virtual void ReorientDifferenceCellsOff ()
 
virtual void SetTolerance (double)
 
virtual double GetTolerance ()
 

Static Public Member Functions

static
vtkBooleanOperationPolyDataFilter
New ()
 
static int IsTypeOf (const char *type)
 
static
vtkBooleanOperationPolyDataFilter
SafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkBooleanOperationPolyDataFilter ()
 
 ~vtkBooleanOperationPolyDataFilter ()
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
int FillInputPortInformation (int, vtkInformation *)
 
void SortPolyData (vtkPolyData *input, vtkIdList *intersectionList, vtkIdList *unionList)
 

Detailed Description

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

Tests:
vtkBooleanOperationPolyDataFilter (Tests)

Definition at line 46 of file vtkBooleanOperationPolyDataFilter.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkBooleanOperationPolyDataFilter::Superclass

Definition at line 53 of file vtkBooleanOperationPolyDataFilter.h.

Member Enumeration Documentation

Enumerator
VTK_UNION 
VTK_INTERSECTION 
VTK_DIFFERENCE 

Definition at line 57 of file vtkBooleanOperationPolyDataFilter.h.

Constructor & Destructor Documentation

vtkBooleanOperationPolyDataFilter::vtkBooleanOperationPolyDataFilter ( )
protected
vtkBooleanOperationPolyDataFilter::~vtkBooleanOperationPolyDataFilter ( )
protected

Member Function Documentation

static vtkBooleanOperationPolyDataFilter* vtkBooleanOperationPolyDataFilter::New ( )
static

Construct object that computes the boolean surface.

static int vtkBooleanOperationPolyDataFilter::IsTypeOf ( const char *  type)
static
virtual int vtkBooleanOperationPolyDataFilter::IsA ( const char *  type)
virtual
static vtkBooleanOperationPolyDataFilter* vtkBooleanOperationPolyDataFilter::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkBooleanOperationPolyDataFilter::NewInstanceInternal ( ) const
protectedvirtual
vtkBooleanOperationPolyDataFilter* vtkBooleanOperationPolyDataFilter::NewInstance ( ) const
void vtkBooleanOperationPolyDataFilter::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected
int vtkBooleanOperationPolyDataFilter::FillInputPortInformation ( int  ,
vtkInformation *   
)
protected

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