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 | Protected Attributes | List of all members
vtkTubeFilter Class Reference

filter that generates tubes around lines More...

#include <vtkTubeFilter.h>

Inherits vtkPolyDataAlgorithm.

Public Types

typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkTubeFilterNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetRadius (double)
 
virtual double GetRadius ()
 
virtual void SetVaryRadius (int)
 
virtual int GetVaryRadius ()
 
void SetVaryRadiusToVaryRadiusOff ()
 
void SetVaryRadiusToVaryRadiusByScalar ()
 
void SetVaryRadiusToVaryRadiusByVector ()
 
void SetVaryRadiusToVaryRadiusByAbsoluteScalar ()
 
const char * GetVaryRadiusAsString ()
 
virtual void SetNumberOfSides (int)
 
virtual int GetNumberOfSides ()
 
virtual void SetRadiusFactor (double)
 
virtual double GetRadiusFactor ()
 
virtual void SetDefaultNormal (double, double, double)
 
virtual void SetDefaultNormal (double[3])
 
virtual double * GetDefaultNormal ()
 
virtual void GetDefaultNormal (double 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 (double)
 
virtual double GetTextureLength ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkTubeFilterSafeDownCast (vtkObjectBase *o)
 
static vtkTubeFilterNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkTubeFilter ()
 
 ~vtkTubeFilter ()
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
int GeneratePoints (vtkIdType offset, vtkIdType npts, vtkIdType *pts, vtkPoints *inPts, vtkPoints *newPts, vtkPointData *pd, vtkPointData *outPD, vtkFloatArray *newNormals, vtkDataArray *inScalars, double range[2], vtkDataArray *inVectors, double 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

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

Detailed Description

filter that generates tubes around lines

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.
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
Thanks:
Michael Finch for absolute scalar radius
Examples:
vtkTubeFilter (Examples)
Tests:
vtkTubeFilter (Tests)

Definition at line 82 of file vtkTubeFilter.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkTubeFilter::Superclass

Definition at line 85 of file vtkTubeFilter.h.

Constructor & Destructor Documentation

vtkTubeFilter::vtkTubeFilter ( )
protected
vtkTubeFilter::~vtkTubeFilter ( )
inlineprotected

Definition at line 206 of file vtkTubeFilter.h.

Member Function Documentation

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

virtual void vtkTubeFilter::SetRadius ( double  )
virtual

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

virtual double 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 104 of file vtkTubeFilter.h.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusByScalar ( )
inline

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

Definition at line 106 of file vtkTubeFilter.h.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusByVector ( )
inline

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

Definition at line 108 of file vtkTubeFilter.h.

void vtkTubeFilter::SetVaryRadiusToVaryRadiusByAbsoluteScalar ( )
inline

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

Definition at line 110 of file vtkTubeFilter.h.

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 ( double  )
virtual

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

virtual double vtkTubeFilter::GetRadiusFactor ( )
virtual

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

virtual void vtkTubeFilter::SetDefaultNormal ( double  ,
double  ,
double   
)
virtual

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

virtual void vtkTubeFilter::SetDefaultNormal ( double  [3])
virtual

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

virtual double* vtkTubeFilter::GetDefaultNormal ( )
virtual

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

virtual void vtkTubeFilter::GetDefaultNormal ( double  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. Initial value is off.

virtual int vtkTubeFilter::GetCapping ( )
virtual

Turn on/off whether to cap the ends with polygons. Initial value is off.

virtual void vtkTubeFilter::CappingOn ( )
virtual

Turn on/off whether to cap the ends with polygons. Initial value is off.

virtual void vtkTubeFilter::CappingOff ( )
virtual

Turn on/off whether to cap the ends with polygons. Initial value is off.

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 184 of file vtkTubeFilter.h.

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 186 of file vtkTubeFilter.h.

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 188 of file vtkTubeFilter.h.

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 190 of file vtkTubeFilter.h.

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 ( double  )
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 double 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.

int vtkTubeFilter::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected
int vtkTubeFilter::GeneratePoints ( vtkIdType  offset,
vtkIdType  npts,
vtkIdType *  pts,
vtkPoints *  inPts,
vtkPoints *  newPts,
vtkPointData *  pd,
vtkPointData *  outPD,
vtkFloatArray *  newNormals,
vtkDataArray *  inScalars,
double  range[2],
vtkDataArray *  inVectors,
double  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

double vtkTubeFilter::Radius
protected

Definition at line 211 of file vtkTubeFilter.h.

int vtkTubeFilter::VaryRadius
protected

Definition at line 212 of file vtkTubeFilter.h.

int vtkTubeFilter::NumberOfSides
protected

Definition at line 213 of file vtkTubeFilter.h.

double vtkTubeFilter::RadiusFactor
protected

Definition at line 214 of file vtkTubeFilter.h.

double vtkTubeFilter::DefaultNormal[3]
protected

Definition at line 215 of file vtkTubeFilter.h.

int vtkTubeFilter::UseDefaultNormal
protected

Definition at line 216 of file vtkTubeFilter.h.

int vtkTubeFilter::SidesShareVertices
protected

Definition at line 217 of file vtkTubeFilter.h.

int vtkTubeFilter::Capping
protected

Definition at line 218 of file vtkTubeFilter.h.

int vtkTubeFilter::OnRatio
protected

Definition at line 219 of file vtkTubeFilter.h.

int vtkTubeFilter::Offset
protected

Definition at line 220 of file vtkTubeFilter.h.

int vtkTubeFilter::GenerateTCoords
protected

Definition at line 221 of file vtkTubeFilter.h.

double vtkTubeFilter::TextureLength
protected

Definition at line 222 of file vtkTubeFilter.h.

double vtkTubeFilter::Theta
protected

Definition at line 240 of file vtkTubeFilter.h.


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