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

# vtkTubeFilter Class Reference

`#include <vtkTubeFilter.h>`

Inheritance diagram for vtkTubeFilter:

[legend]
Collaboration diagram for vtkTubeFilter:

[legend]
List of all members.

## Detailed Description

filter that generates tubes around lines

Date:
  2002/09/03 12:52:23

Revision:
  1.51

vtkTubeFilter is a filter that generates a tube around each input line. The tubes are made up of triangle strips and rotate around the tube with the rotation of the line normals. (If no normals are present, they are computed automatically.) The radius of the tube can be set to vary with scalar or vector value. If the radius varies with scalar value the radius is linearly adjusted. If the radius varies with vector value, a mass flux preserving variation is used. The number of sides for the tube also can be specified. You can also specify which of the sides are visible. This is useful for generating interesting striping effects. Other options include the ability to cap the tube and generate texture coordinates. Texture coordinates can be used with an associated texture map to create interesting effects such as marking the tube with stripes corresponding to length or time.

This filter is typically used to create thick or dramatic lines. Another common use is to combine this filter with vtkStreamLine to generate streamtubes.

Warning:
  The number of tube sides must be greater than 3. If you wish to use fewer sides (i.e., a ribbon), use vtkRibbonFilter.

Warning:
  The input line must not have duplicate points, or normals at points that are parallel to the incoming/outgoing line segments. (Duplicate points can be removed with vtkCleanPolyData.) If a line does not meet this criteria, then that line is not tubed.

See also:
  vtkRibbonFilter vtkStreamLine

Created by:
  - Schroeder, Will

CVS contributions (if > 5%):
  - Schroeder, Will (66%)
  - Law, Charles (10%)
  - Volpe, Christopher (5%)

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

Examples:
  vtkTubeFilter (Examples)

Tests:
  vtkTubeFilter (Tests)

Definition at line 93 of file vtkTubeFilter.h.

## Public Types

typedef vtkPolyDataToPolyDataFilter | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
virtual void | SetRadius (float)
virtual float | GetRadius ()
virtual void | SetVaryRadius (int)
virtual int | GetVaryRadius ()
void | SetVaryRadiusToVaryRadiusOff ()
void | SetVaryRadiusToVaryRadiusByScalar ()
void | SetVaryRadiusToVaryRadiusByVector ()
const char * | GetVaryRadiusAsString ()
virtual void | SetNumberOfSides (int)
virtual int | GetNumberOfSides ()
virtual void | SetRadiusFactor (float)
virtual float | GetRadiusFactor ()
virtual void | SetDefaultNormal (float, float, float)
virtual void | SetDefaultNormal (float[3])
virtual float * | GetDefaultNormal ()
virtual void | GetDefaultNormal (float data[3])
virtual void | SetUseDefaultNormal (int)
virtual int | GetUseDefaultNormal ()
virtual void | UseDefaultNormalOn ()
virtual void | UseDefaultNormalOff ()
virtual void | SetSidesShareVertices (int)
virtual int | GetSidesShareVertices ()
virtual void | SidesShareVerticesOn ()
virtual void | SidesShareVerticesOff ()
virtual void | SetCapping (int)
virtual int | GetCapping ()
virtual void | CappingOn ()
virtual void | CappingOff ()
virtual void | SetOnRatio (int)
virtual int | GetOnRatio ()
virtual void | SetOffset (int)
virtual int | GetOffset ()
virtual void | SetGenerateTCoords (int)
virtual int | GetGenerateTCoords ()
void | SetGenerateTCoordsToOff ()
void | SetGenerateTCoordsToNormalizedLength ()
void | SetGenerateTCoordsToUseLength ()
void | SetGenerateTCoordsToUseScalars ()
const char * | GetGenerateTCoordsAsString ()
virtual void | SetTextureLength (float)
virtual float | GetTextureLength ()

## Static Public Methods

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

## Protected Methods

| vtkTubeFilter ()
| ~vtkTubeFilter ()
void | Execute ()
int | GeneratePoints (vtkIdType offset, vtkIdType npts, vtkIdType *pts, vtkPoints *inPts, vtkPoints *newPts, vtkPointData *pd, vtkPointData *outPD, vtkFloatArray *newNormals, vtkDataArray *inScalars, float range[2], vtkDataArray *inVectors, float maxNorm, vtkDataArray *inNormals)
void | GenerateStrips (vtkIdType offset, vtkIdType npts, vtkIdType *pts, vtkIdType inCellId, vtkCellData *cd, vtkCellData *outCD, vtkCellArray *newStrips)
void | GenerateTextureCoords (vtkIdType offset, vtkIdType npts, vtkIdType *pts, vtkPoints *inPts, vtkDataArray *inScalars, vtkFloatArray *newTCoords)
vtkIdType | ComputeOffset (vtkIdType offset, vtkIdType npts)

## Protected Attributes

float | Radius
int | VaryRadius
int | NumberOfSides
float | RadiusFactor
float | DefaultNormal [3]
int | UseDefaultNormal
int | SidesShareVertices
int | Capping
int | OnRatio
int | Offset
int | GenerateTCoords
float | TextureLength
float | Theta

## Member Typedef Documentation

typedef vtkPolyDataToPolyDataFilter vtkTubeFilter::Superclass

| Reimplemented from vtkPolyDataToPolyDataFilter. Definition at line 96 of file vtkTubeFilter.h.

## Constructor & Destructor Documentation

vtkTubeFilter::vtkTubeFilter | ( |  | ) | `[protected]`

vtkTubeFilter::~vtkTubeFilter | ( |  | ) | `[inline, protected]`

| Definition at line 214 of file vtkTubeFilter.h.

## Member Function Documentation

virtual const char* vtkTubeFilter::GetClassName | ( |  | ) | `[virtual]`

| Reimplemented from vtkPolyDataToPolyDataFilter.

int vtkTubeFilter::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 vtkPolyDataToPolyDataFilter.

virtual int vtkTubeFilter::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 vtkPolyDataToPolyDataFilter.

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

| Reimplemented from vtkPolyDataToPolyDataFilter.

void vtkTubeFilter::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 vtkPolyDataToPolyDataFilter.

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

| Construct object with radius 0.5, radius variation turned off, the number of sides set to 3, and radius factor of 10. Reimplemented from vtkObject.

virtual void vtkTubeFilter::SetRadius | ( | float |  | ) | `[virtual]`

| Set the minimum tube radius (minimum because the tube radius may vary).

virtual float vtkTubeFilter::GetRadius | ( |  | ) | `[virtual]`

| Set the minimum tube radius (minimum because the tube radius may vary).

virtual void vtkTubeFilter::SetVaryRadius | ( | int |  | ) | `[virtual]`

| Turn on/off the variation of tube radius with scalar value.

virtual int vtkTubeFilter::GetVaryRadius | ( |  | ) | `[virtual]`

| Turn on/off the variation of tube radius with scalar value.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusOff | ( |  | ) | `[inline]`

| Turn on/off the variation of tube radius with scalar value. Definition at line 115 of file vtkTubeFilter.h. References VTK_VARY_RADIUS_OFF.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusByScalar | ( |  | ) | `[inline]`

| Turn on/off the variation of tube radius with scalar value. Definition at line 117 of file vtkTubeFilter.h. References VTK_VARY_RADIUS_BY_SCALAR.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusByVector | ( |  | ) | `[inline]`

| Turn on/off the variation of tube radius with scalar value. Definition at line 119 of file vtkTubeFilter.h. References VTK_VARY_RADIUS_BY_VECTOR.

const char* vtkTubeFilter::GetVaryRadiusAsString | ( |  | ) |

| Turn on/off the variation of tube radius with scalar value.

virtual void vtkTubeFilter::SetNumberOfSides | ( | int |  | ) | `[virtual]`

| Set the number of sides for the tube. At a minimum, number of sides is 3.

virtual int vtkTubeFilter::GetNumberOfSides | ( |  | ) | `[virtual]`

| Set the number of sides for the tube. At a minimum, number of sides is 3.

virtual void vtkTubeFilter::SetRadiusFactor | ( | float |  | ) | `[virtual]`

| Set the maximum tube radius in terms of a multiple of the minimum radius.

virtual float vtkTubeFilter::GetRadiusFactor | ( |  | ) | `[virtual]`

| Set the maximum tube radius in terms of a multiple of the minimum radius.

virtual void vtkTubeFilter::SetDefaultNormal | ( | float | ,
|  | float | ,
|  | float |
| ) | `[virtual]`

| Set the default normal to use if no normals are supplied, and the DefaultNormalOn is set.

virtual void vtkTubeFilter::SetDefaultNormal | ( | float | [3] | ) | `[virtual]`

| Set the default normal to use if no normals are supplied, and the DefaultNormalOn is set.

virtual float* vtkTubeFilter::GetDefaultNormal | ( |  | ) | `[virtual]`

| Set the default normal to use if no normals are supplied, and the DefaultNormalOn is set.

virtual void vtkTubeFilter::GetDefaultNormal | ( | float | data[3] | ) | `[virtual]`

| Set the default normal to use if no normals are supplied, and the DefaultNormalOn is set.

virtual void vtkTubeFilter::SetUseDefaultNormal | ( | int |  | ) | `[virtual]`

| Set a boolean to control whether to use default normals. DefaultNormalOn is set.

virtual int vtkTubeFilter::GetUseDefaultNormal | ( |  | ) | `[virtual]`

| Set a boolean to control whether to use default normals. DefaultNormalOn is set.

virtual void vtkTubeFilter::UseDefaultNormalOn | ( |  | ) | `[virtual]`

| Set a boolean to control whether to use default normals. DefaultNormalOn is set.

virtual void vtkTubeFilter::UseDefaultNormalOff | ( |  | ) | `[virtual]`

| Set a boolean to control whether to use default normals. DefaultNormalOn is set.

virtual void vtkTubeFilter::SetSidesShareVertices | ( | int |  | ) | `[virtual]`

| Set a boolean to control whether tube sides should share vertices. This creates independent strips, with constant normals so the tube is always faceted in appearance.

virtual int vtkTubeFilter::GetSidesShareVertices | ( |  | ) | `[virtual]`

| Set a boolean to control whether tube sides should share vertices. This creates independent strips, with constant normals so the tube is always faceted in appearance.

virtual void vtkTubeFilter::SidesShareVerticesOn | ( |  | ) | `[virtual]`

| Set a boolean to control whether tube sides should share vertices. This creates independent strips, with constant normals so the tube is always faceted in appearance.

virtual void vtkTubeFilter::SidesShareVerticesOff | ( |  | ) | `[virtual]`

| Set a boolean to control whether tube sides should share vertices. This creates independent strips, with constant normals so the tube is always faceted in appearance.

virtual void vtkTubeFilter::SetCapping | ( | int |  | ) | `[virtual]`

| Turn on/off whether to cap the ends with polygons.

virtual int vtkTubeFilter::GetCapping | ( |  | ) | `[virtual]`

| Turn on/off whether to cap the ends with polygons.

virtual void vtkTubeFilter::CappingOn | ( |  | ) | `[virtual]`

| Turn on/off whether to cap the ends with polygons.

virtual void vtkTubeFilter::CappingOff | ( |  | ) | `[virtual]`

| Turn on/off whether to cap the ends with polygons.

virtual void vtkTubeFilter::SetOnRatio | ( | int |  | ) | `[virtual]`

| Control the striping of the tubes. If OnRatio is greater than 1, then every nth tube side is turned on, beginning with the Offset side.

virtual int vtkTubeFilter::GetOnRatio | ( |  | ) | `[virtual]`

| Control the striping of the tubes. If OnRatio is greater than 1, then every nth tube side is turned on, beginning with the Offset side.

virtual void vtkTubeFilter::SetOffset | ( | int |  | ) | `[virtual]`

| Control the striping of the tubes. The offset sets the first tube side that is visible. Offset is generally used with OnRatio to create nifty striping effects.

virtual int vtkTubeFilter::GetOffset | ( |  | ) | `[virtual]`

| Control the striping of the tubes. The offset sets the first tube side that is visible. Offset is generally used with OnRatio to create nifty striping effects.

virtual void vtkTubeFilter::SetGenerateTCoords | ( | int |  | ) | `[virtual]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing).

virtual int vtkTubeFilter::GetGenerateTCoords | ( |  | ) | `[virtual]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing).

void vtkTubeFilter::SetGenerateTCoordsToOff | ( |  | ) | `[inline]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing). Definition at line 192 of file vtkTubeFilter.h. References VTK_TCOORDS_OFF.

void vtkTubeFilter::SetGenerateTCoordsToNormalizedLength | ( |  | ) | `[inline]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing). Definition at line 194 of file vtkTubeFilter.h. References VTK_TCOORDS_FROM_NORMALIZED_LENGTH.

void vtkTubeFilter::SetGenerateTCoordsToUseLength | ( |  | ) | `[inline]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing). Definition at line 196 of file vtkTubeFilter.h. References VTK_TCOORDS_FROM_LENGTH.

void vtkTubeFilter::SetGenerateTCoordsToUseScalars | ( |  | ) | `[inline]`

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing). Definition at line 198 of file vtkTubeFilter.h. References VTK_TCOORDS_FROM_SCALARS.

const char* vtkTubeFilter::GetGenerateTCoordsAsString | ( |  | ) |

| Control whether and how texture coordinates are produced. This is useful for striping the tube with length textures, etc. If you use scalars to create the texture, the scalars are assumed to be monotonically increasing (or decreasing).

virtual void vtkTubeFilter::SetTextureLength | ( | float |  | ) | `[virtual]`

| Control the conversion of units during the texture coordinates calculation. The TextureLength indicates what length (whether calculated from scalars or length) is mapped to the [0,1) texture space.

virtual float vtkTubeFilter::GetTextureLength | ( |  | ) | `[virtual]`

| Control the conversion of units during the texture coordinates calculation. The TextureLength indicates what length (whether calculated from scalars or length) is mapped to the [0,1) texture space.

void vtkTubeFilter::Execute | ( |  | ) | `[protected, virtual]`

| This method is the old style execute method Reimplemented from vtkSource.

int vtkTubeFilter::GeneratePoints | ( | vtkIdType | offset,
|  | vtkIdType | npts,
|  | vtkIdType * | pts,
|  | vtkPoints * | inPts,
|  | vtkPoints * | newPts,
|  | vtkPointData * | pd,
|  | vtkPointData * | outPD,
|  | vtkFloatArray * | newNormals,
|  | vtkDataArray * | inScalars,
|  | float | range[2],
|  | vtkDataArray * | inVectors,
|  | float | maxNorm,
|  | vtkDataArray * | inNormals
| ) | `[protected]`

void vtkTubeFilter::GenerateStrips | ( | vtkIdType | offset,
|  | vtkIdType | npts,
|  | vtkIdType * | pts,
|  | vtkIdType | inCellId,
|  | vtkCellData * | cd,
|  | vtkCellData * | outCD,
|  | vtkCellArray * | newStrips
| ) | `[protected]`

void vtkTubeFilter::GenerateTextureCoords | ( | vtkIdType | offset,
|  | vtkIdType | npts,
|  | vtkIdType * | pts,
|  | vtkPoints * | inPts,
|  | vtkDataArray * | inScalars,
|  | vtkFloatArray * | newTCoords
| ) | `[protected]`

vtkIdType vtkTubeFilter::ComputeOffset | ( | vtkIdType | offset,
|  | vtkIdType | npts
| ) | `[protected]`

## Member Data Documentation

float vtkTubeFilter::Radius`[protected]`

| Definition at line 219 of file vtkTubeFilter.h.

int vtkTubeFilter::VaryRadius`[protected]`

| Definition at line 220 of file vtkTubeFilter.h.

int vtkTubeFilter::NumberOfSides`[protected]`

| Definition at line 221 of file vtkTubeFilter.h.

float vtkTubeFilter::RadiusFactor`[protected]`

| Definition at line 222 of file vtkTubeFilter.h.

float vtkTubeFilter::DefaultNormal[3]`[protected]`

| Definition at line 223 of file vtkTubeFilter.h.

int vtkTubeFilter::UseDefaultNormal`[protected]`

| Definition at line 224 of file vtkTubeFilter.h.

int vtkTubeFilter::SidesShareVertices`[protected]`

| Definition at line 225 of file vtkTubeFilter.h.

int vtkTubeFilter::Capping`[protected]`

| Definition at line 226 of file vtkTubeFilter.h.

int vtkTubeFilter::OnRatio`[protected]`

| Definition at line 227 of file vtkTubeFilter.h.

int vtkTubeFilter::Offset`[protected]`

| Definition at line 228 of file vtkTubeFilter.h.

int vtkTubeFilter::GenerateTCoords`[protected]`

| Definition at line 229 of file vtkTubeFilter.h.

float vtkTubeFilter::TextureLength`[protected]`

| Definition at line 230 of file vtkTubeFilter.h.

float vtkTubeFilter::Theta`[protected]`

| Definition at line 248 of file vtkTubeFilter.h.

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

- Graphics/vtkTubeFilter.h