Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkCutter Class Reference

`#include <vtkCutter.h>`

Inheritance diagram for vtkCutter:

[legend]
Collaboration diagram for vtkCutter:

[legend]
List of all members.

## Detailed Description

Cut vtkDataSet with user-specified implicit function.

Date:
  2002/11/04 17:05:27

Revision:
  1.58

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. (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 (59%)
  - Lorensen, Bill (15%)
  - Martin, Ken (8%)
  - Law, Charles (5%)

CVS logs (CVSweb):
  - .`cxx` (`/Graphics/vtkCutter.cxx)`
  - .`h` (`/Graphics/vtkCutter.h)`

Examples:
  vtkCutter (Examples)

Tests:
  vtkCutter (Tests)

Definition at line 75 of file vtkCutter.h.

## Public Types

typedef vtkDataSetToPolyDataFilter | Superclass

## Public Methods

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, float value)
float | GetValue (int i)
float * | GetValues ()
void | GetValues (float *contourValues)
void | SetNumberOfContours (int number)
int | GetNumberOfContours ()
void | GenerateValues (int numContours, float range[2])
void | GenerateValues (int numContours, float rangeStart, float rangeEnd)
virtual void | SetCutFunction (vtkImplicitFunction *)
virtual vtkImplicitFunction * | GetCutFunction ()
virtual void | SetGenerateCutScalars (int)
virtual int | GetGenerateCutScalars ()
virtual void | GenerateCutScalarsOn ()
virtual void | GenerateCutScalarsOff ()
void | SetLocator (vtkPointLocator *locator)
virtual vtkPointLocator * | GetLocator ()
virtual void | SetSortBy (int)
virtual int | GetSortBy ()
void | SetSortByToSortByValue ()
void | SetSortByToSortByCell ()
const char * | GetSortByAsString ()

## Static Public Methods

int | IsTypeOf (const char *type)
vtkCutter * | SafeDownCast (vtkObject *o)
vtkCutter * | New ()

## Protected Methods

| vtkCutter (vtkImplicitFunction *cf=NULL)
| ~vtkCutter ()
void | Execute ()

## Protected Attributes

vtkImplicitFunction * | CutFunction
vtkPointLocator * | Locator
int | SortBy
vtkContourValues * | ContourValues
int | GenerateCutScalars

## Member Typedef Documentation

typedef vtkDataSetToPolyDataFilter vtkCutter::Superclass

| Reimplemented from vtkDataSetToPolyDataFilter. Definition at line 78 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.

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.

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.

vtkCutter* vtkCutter::SafeDownCast | ( | vtkObject * | o | ) | `[static]`

| Reimplemented from vtkDataSetToPolyDataFilter.

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.

vtkCutter* vtkCutter::New | ( |  | ) | `[static]`

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

void vtkCutter::SetValue | ( | int | i,
|  | float | value
| ) | `[inline]`

| Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours. Definition at line 88 of file vtkCutter.h.

float vtkCutter::GetValue | ( | int | i | ) | `[inline]`

| Get the ith contour value. Definition at line 94 of file vtkCutter.h.

float* vtkCutter::GetValues | ( |  | ) | `[inline]`

| Get a pointer to an array of contour values. There will be GetNumberOfContours() values in the list. Definition at line 101 of file vtkCutter.h.

void vtkCutter::GetValues | ( | float * | 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 109 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 117 of file vtkCutter.h.

int vtkCutter::GetNumberOfContours | ( |  | ) | `[inline]`

| Get the number of contours in the list of contour values. Definition at line 123 of file vtkCutter.h.

void vtkCutter::GenerateValues | ( | int | numContours,
|  | float | range[2]
| ) | `[inline]`

| Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values. Definition at line 130 of file vtkCutter.h.

void vtkCutter::GenerateValues | ( | int | numContours,
|  | float | rangeStart,
|  | float | rangeEnd
| ) | `[inline]`

| Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values. Definition at line 137 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 178 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 180 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 206 of file vtkCutter.h. References SortBy, and VTK_SORT_BY_VALUE.

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.

## Member Data Documentation

vtkImplicitFunction* vtkCutter::CutFunction`[protected]`

| Definition at line 194 of file vtkCutter.h.

vtkPointLocator* vtkCutter::Locator`[protected]`

| Definition at line 196 of file vtkCutter.h.

int vtkCutter::SortBy`[protected]`

| Definition at line 197 of file vtkCutter.h. Referenced by GetSortByAsString().

vtkContourValues* vtkCutter::ContourValues`[protected]`

| Definition at line 198 of file vtkCutter.h.

int vtkCutter::GenerateCutScalars`[protected]`

| Definition at line 199 of file vtkCutter.h.

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

- Graphics/vtkCutter.h