Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkCutter Class Reference

#include <vtkCutter.h>

Inheritance diagram for vtkCutter:

Inheritance graph
[legend]
Collaboration diagram for vtkCutter:

Collaboration graph
[legend]
List of all members.

Detailed Description

Cut vtkDataSet with user-specified implicit function.

vtkCutter is a filter to cut through data using any subclass of vtkImplicitFunction. That is, a polygonal surface is created corresponding to the implicit function F(x,y,z) = value(s), where you can specify one or more values used to cut with.

In VTK, cutting means reducing a cell of dimension N to a cut surface of dimension N-1. For example, a tetrahedron when cut by a plane (i.e., vtkPlane implicit function) will generate triangles. (In comparison, clipping takes a N dimensional cell and creates N dimension primitives.)

vtkCutter is generally used to "slice-through" a dataset, generating a surface that can be visualized. It is also possible to use vtkCutter to do a form of volume rendering. vtkCutter does this by generating multiple cut surfaces (usually planes) which are ordered (and rendered) from back-to-front. The surfaces are set translucent to give a volumetric rendering effect.

See also:
vtkImplicitFunction vtkClipPolyData
Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (50%)
  • Lee, Jeff (15%)
  • Lorensen, Bill (11%)
  • Martin, Ken (9%)
CVS logs (CVSweb):
  • .cxx (/Graphics/vtkCutter.cxx)
  • .h (/Graphics/vtkCutter.h)
Examples:
vtkCutter (Examples)
Tests:
vtkCutter (Tests)

Definition at line 71 of file vtkCutter.h.

Public Types

typedef vtkDataSetToPolyDataFilter Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
unsigned long GetMTime ()
void CreateDefaultLocator ()
void SetValue (int i, double value)
double GetValue (int i)
double * GetValues ()
void GetValues (double *contourValues)
void SetNumberOfContours (int number)
int GetNumberOfContours ()
void GenerateValues (int numContours, double range[2])
void GenerateValues (int numContours, double rangeStart, double rangeEnd)
virtual void SetCutFunction (vtkImplicitFunction *)
virtual vtkImplicitFunctionGetCutFunction ()
virtual void SetGenerateCutScalars (int)
virtual int GetGenerateCutScalars ()
virtual void GenerateCutScalarsOn ()
virtual void GenerateCutScalarsOff ()
void SetLocator (vtkPointLocator *locator)
virtual vtkPointLocatorGetLocator ()
virtual void SetSortBy (int)
virtual int GetSortBy ()
void SetSortByToSortByValue ()
void SetSortByToSortByCell ()
const char * GetSortByAsString ()

Static Public Member Functions

int IsTypeOf (const char *type)
vtkCutterSafeDownCast (vtkObject *o)
vtkCutterNew ()

Protected Member Functions

 vtkCutter (vtkImplicitFunction *cf=NULL)
 ~vtkCutter ()
void Execute ()
void UnstructuredGridCutter ()
void DataSetCutter ()

Protected Attributes

vtkImplicitFunctionCutFunction
vtkPointLocatorLocator
int SortBy
vtkContourValuesContourValues
int GenerateCutScalars


Member Typedef Documentation

typedef vtkDataSetToPolyDataFilter vtkCutter::Superclass
 

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

Definition at line 74 of file vtkCutter.h.


Constructor & Destructor Documentation

vtkCutter::vtkCutter vtkImplicitFunction cf = NULL  )  [protected]
 

vtkCutter::~vtkCutter  )  [protected]
 


Member Function Documentation

virtual const char* vtkCutter::GetClassName  )  [virtual]
 

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

int vtkCutter::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

virtual int vtkCutter::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

vtkCutter* vtkCutter::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

void vtkCutter::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 vtkDataSetToPolyDataFilter.

Reimplemented in vtkKitwareCutter.

vtkCutter* vtkCutter::New  )  [static]
 

Construct with user-specified implicit function; initial value of 0.0; and generating cut scalars turned off.

Reimplemented from vtkAlgorithm.

Reimplemented in vtkKitwareCutter.

void vtkCutter::SetValue int  i,
double  value
[inline]
 

Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours.

Definition at line 84 of file vtkCutter.h.

double vtkCutter::GetValue int  i  )  [inline]
 

Get the ith contour value.

Definition at line 90 of file vtkCutter.h.

double* vtkCutter::GetValues  )  [inline]
 

Get a pointer to an array of contour values. There will be GetNumberOfContours() values in the list.

Definition at line 97 of file vtkCutter.h.

void vtkCutter::GetValues double *  contourValues  )  [inline]
 

Fill a supplied list with contour values. There will be GetNumberOfContours() values in the list. Make sure you allocate enough memory to hold the list.

Definition at line 105 of file vtkCutter.h.

void vtkCutter::SetNumberOfContours int  number  )  [inline]
 

Set the number of contours to place into the list. You only really need to use this method to reduce list size. The method SetValue() will automatically increase list size as needed.

Definition at line 113 of file vtkCutter.h.

int vtkCutter::GetNumberOfContours  )  [inline]
 

Get the number of contours in the list of contour values.

Definition at line 119 of file vtkCutter.h.

void vtkCutter::GenerateValues int  numContours,
double  range[2]
[inline]
 

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 126 of file vtkCutter.h.

void vtkCutter::GenerateValues int  numContours,
double  rangeStart,
double  rangeEnd
[inline]
 

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 133 of file vtkCutter.h.

unsigned long vtkCutter::GetMTime  )  [virtual]
 

Override GetMTime because we delegate to vtkContourValues and refer to vtkImplicitFunction.

Reimplemented from vtkObject.

virtual void vtkCutter::SetCutFunction vtkImplicitFunction  )  [virtual]
 

Specify the implicit function to perform the cutting.

virtual vtkImplicitFunction* vtkCutter::GetCutFunction  )  [virtual]
 

Specify the implicit function to perform the cutting.

virtual void vtkCutter::SetGenerateCutScalars int   )  [virtual]
 

If this flag is enabled, then the output scalar values will be interpolated from the implicit function values, and not the input scalar data.

virtual int vtkCutter::GetGenerateCutScalars  )  [virtual]
 

If this flag is enabled, then the output scalar values will be interpolated from the implicit function values, and not the input scalar data.

virtual void vtkCutter::GenerateCutScalarsOn  )  [virtual]
 

If this flag is enabled, then the output scalar values will be interpolated from the implicit function values, and not the input scalar data.

virtual void vtkCutter::GenerateCutScalarsOff  )  [virtual]
 

If this flag is enabled, then the output scalar values will be interpolated from the implicit function values, and not the input scalar data.

void vtkCutter::SetLocator vtkPointLocator locator  ) 
 

Specify a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

virtual vtkPointLocator* vtkCutter::GetLocator  )  [virtual]
 

Specify a spatial locator for merging points. By default, an instance of vtkMergePoints is used.

virtual void vtkCutter::SetSortBy int   )  [virtual]
 

Set the sorting order for the generated polydata. There are two possibilities: Sort by value = 0 - This is the most efficient sort. For each cell, all contour values are processed. This is the default. Sort by cell = 1 - For each contour value, all cells are processed. This order should be used if the extracted polygons must be rendered in a back-to-front or front-to-back order. This is very problem dependent. For most applications, the default order is fine (and faster).

virtual int vtkCutter::GetSortBy  )  [virtual]
 

Set the sorting order for the generated polydata. There are two possibilities: Sort by value = 0 - This is the most efficient sort. For each cell, all contour values are processed. This is the default. Sort by cell = 1 - For each contour value, all cells are processed. This order should be used if the extracted polygons must be rendered in a back-to-front or front-to-back order. This is very problem dependent. For most applications, the default order is fine (and faster).

void vtkCutter::SetSortByToSortByValue  )  [inline]
 

Set the sorting order for the generated polydata. There are two possibilities: Sort by value = 0 - This is the most efficient sort. For each cell, all contour values are processed. This is the default. Sort by cell = 1 - For each contour value, all cells are processed. This order should be used if the extracted polygons must be rendered in a back-to-front or front-to-back order. This is very problem dependent. For most applications, the default order is fine (and faster).

Definition at line 174 of file vtkCutter.h.

References VTK_SORT_BY_VALUE.

void vtkCutter::SetSortByToSortByCell  )  [inline]
 

Set the sorting order for the generated polydata. There are two possibilities: Sort by value = 0 - This is the most efficient sort. For each cell, all contour values are processed. This is the default. Sort by cell = 1 - For each contour value, all cells are processed. This order should be used if the extracted polygons must be rendered in a back-to-front or front-to-back order. This is very problem dependent. For most applications, the default order is fine (and faster).

Definition at line 176 of file vtkCutter.h.

References VTK_SORT_BY_CELL.

const char * vtkCutter::GetSortByAsString void   )  [inline]
 

Return the sorting procedure as a descriptive character string.

Definition at line 204 of file vtkCutter.h.

References SortBy.

void vtkCutter::CreateDefaultLocator  ) 
 

Create default locator. Used to create one when none is specified. The locator is used to merge coincident points.

void vtkCutter::Execute  )  [protected, virtual]
 

This method is the old style execute method

Reimplemented from vtkSource.

Reimplemented in vtkKitwareCutter.

void vtkCutter::UnstructuredGridCutter  )  [protected]
 

void vtkCutter::DataSetCutter  )  [protected]
 


Member Data Documentation

vtkImplicitFunction* vtkCutter::CutFunction [protected]
 

Definition at line 192 of file vtkCutter.h.

vtkPointLocator* vtkCutter::Locator [protected]
 

Definition at line 194 of file vtkCutter.h.

int vtkCutter::SortBy [protected]
 

Definition at line 195 of file vtkCutter.h.

Referenced by GetSortByAsString().

vtkContourValues* vtkCutter::ContourValues [protected]
 

Definition at line 196 of file vtkCutter.h.

int vtkCutter::GenerateCutScalars [protected]
 

Definition at line 197 of file vtkCutter.h.


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