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
vtkGlyph3D Class Reference

copy oriented and scaled glyph geometry to every input point More...

#include <vtkGlyph3D.h>

Inheritance diagram for vtkGlyph3D:
[legend]

Public Types

typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkGlyph3DNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void SetSourceData (vtkPolyData *pd)
 
void SetSourceData (int id, vtkPolyData *pd)
 
vtkPolyData * GetSource (int id=0)
 
virtual int IsPointVisible (vtkDataSet *, vtkIdType)
 
virtual unsigned long GetMTime ()
 
void SetSourceConnection (int id, vtkAlgorithmOutput *algOutput)
 
void SetSourceConnection (vtkAlgorithmOutput *algOutput)
 
virtual void SetScaling (int)
 
virtual void ScalingOn ()
 
virtual void ScalingOff ()
 
virtual int GetScaling ()
 
virtual void SetScaleMode (int)
 
virtual int GetScaleMode ()
 
void SetScaleModeToScaleByScalar ()
 
void SetScaleModeToScaleByVector ()
 
void SetScaleModeToScaleByVectorComponents ()
 
void SetScaleModeToDataScalingOff ()
 
const char * GetScaleModeAsString ()
 
virtual void SetColorMode (int)
 
virtual int GetColorMode ()
 
void SetColorModeToColorByScale ()
 
void SetColorModeToColorByScalar ()
 
void SetColorModeToColorByVector ()
 
const char * GetColorModeAsString ()
 
virtual void SetScaleFactor (double)
 
virtual double GetScaleFactor ()
 
virtual void SetRange (double, double)
 
void SetRange (double[2])
 
virtual double * GetRange ()
 
virtual void GetRange (double data[2])
 
virtual void SetOrient (int)
 
virtual void OrientOn ()
 
virtual void OrientOff ()
 
virtual int GetOrient ()
 
virtual void SetClamping (int)
 
virtual void ClampingOn ()
 
virtual void ClampingOff ()
 
virtual int GetClamping ()
 
virtual void SetVectorMode (int)
 
virtual int GetVectorMode ()
 
void SetVectorModeToUseVector ()
 
void SetVectorModeToUseNormal ()
 
void SetVectorModeToVectorRotationOff ()
 
const char * GetVectorModeAsString ()
 
virtual void SetIndexMode (int)
 
virtual int GetIndexMode ()
 
void SetIndexModeToScalar ()
 
void SetIndexModeToVector ()
 
void SetIndexModeToOff ()
 
const char * GetIndexModeAsString ()
 
virtual void SetGeneratePointIds (int)
 
virtual int GetGeneratePointIds ()
 
virtual void GeneratePointIdsOn ()
 
virtual void GeneratePointIdsOff ()
 
virtual void SetPointIdsName (const char *)
 
virtual char * GetPointIdsName ()
 
virtual void SetFillCellData (int)
 
virtual int GetFillCellData ()
 
virtual void FillCellDataOn ()
 
virtual void FillCellDataOff ()
 
void SetSourceTransform (vtkTransform *)
 
virtual vtkTransform * GetSourceTransform ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkGlyph3DSafeDownCast (vtkObjectBase *o)
 
static vtkGlyph3DNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkGlyph3D ()
 
 ~vtkGlyph3D ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int FillInputPortInformation (int, vtkInformation *)
 
vtkPolyData * GetSource (int idx, vtkInformationVector *sourceInfo)
 

Protected Attributes

vtkPolyData ** Source
 
int Scaling
 
int ScaleMode
 
int ColorMode
 
double ScaleFactor
 
double Range [2]
 
int Orient
 
int VectorMode
 
int Clamping
 
int IndexMode
 
int GeneratePointIds
 
int FillCellData
 
char * PointIdsName
 
vtkTransform * SourceTransform
 

Detailed Description

copy oriented and scaled glyph geometry to every input point

vtkGlyph3D is a filter that copies a geometric representation (called a glyph) to every point in the input dataset. The glyph is defined with polygonal data from a source filter input. The glyph may be oriented along the input vectors or normals, and it may be scaled according to scalar data or vector magnitude. More than one glyph may be used by creating a table of source objects, each defining a different glyph. If a table of glyphs is defined, then the table can be indexed into by using either scalar value or vector magnitude.

To use this object you'll have to provide an input dataset and a source to define the glyph. Then decide whether you want to scale the glyph and how to scale the glyph (using scalar value or vector magnitude). Next decide whether you want to orient the glyph, and whether to use the vector data or normal data to orient it. Finally, decide whether to use a table of glyphs, or just a single glyph. If you use a table of glyphs, you'll have to decide whether to index into it with scalar value or with vector magnitude.

Warning
The scaling of the glyphs is controlled by the ScaleFactor ivar multiplied by the scalar value at each point (if VTK_SCALE_BY_SCALAR is set), or multiplied by the vector magnitude (if VTK_SCALE_BY_VECTOR is set), Alternatively (if VTK_SCALE_BY_VECTORCOMPONENTS is set), the scaling may be specified for x,y,z using the vector components. The scale factor can be further controlled by enabling clamping using the Clamping ivar. If clamping is enabled, the scale is normalized by the Range ivar, and then multiplied by the scale factor. The normalization process includes clamping the scale value between (0,1).
Typically this object operates on input data with scalar and/or vector data. However, scalar and/or vector aren't necessary, and it can be used to copy data from a single source to each point. In this case the scale factor can be used to uniformly scale the glyphs.
The object uses "vector" data to scale glyphs, orient glyphs, and/or index into a table of glyphs. You can choose to use either the vector or normal data at each input point. Use the method SetVectorModeToUseVector() to use the vector input data, and SetVectorModeToUseNormal() to use the normal input data.
If you do use a table of glyphs, make sure to set the Range ivar to make sure the index into the glyph table is computed correctly.
You can turn off scaling of the glyphs completely by using the Scaling ivar. You can also turn off scaling due to data (either vector or scalar) by using the SetScaleModeToDataScalingOff() method.
You can set what arrays to use for the scalars, vectors, normals, and color scalars by using the SetInputArrayToProcess methods in vtkAlgorithm. The first array is scalars, the next vectors, the next normals and finally color scalars.
See Also
vtkTensorGlyph
Examples:
vtkGlyph3D (Examples)
Tests:
vtkGlyph3D (Tests)

Definition at line 110 of file vtkGlyph3D.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkGlyph3D::Superclass

Definition at line 113 of file vtkGlyph3D.h.

Constructor & Destructor Documentation

vtkGlyph3D::vtkGlyph3D ( )
protected
vtkGlyph3D::~vtkGlyph3D ( )
protected

Member Function Documentation

static int vtkGlyph3D::IsTypeOf ( const char *  type)
static
virtual int vtkGlyph3D::IsA ( const char *  type)
virtual

Reimplemented in vtkGlyph2D.

static vtkGlyph3D* vtkGlyph3D::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkGlyph3D::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented in vtkGlyph2D.

vtkGlyph3D* vtkGlyph3D::NewInstance ( ) const
void vtkGlyph3D::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static vtkGlyph3D* vtkGlyph3D::New ( )
static

Construct object with scaling on, scaling mode is by scalar value, scale factor = 1.0, the range is (0,1), orient geometry is on, and orientation is by vector. Clamping and indexing are turned off. No initial sources are defined.

void vtkGlyph3D::SetSourceData ( vtkPolyData *  pd)
inline

Set the source to use for he glyph. Old style. See SetSourceConnection.

Definition at line 124 of file vtkGlyph3D.h.

void vtkGlyph3D::SetSourceData ( int  id,
vtkPolyData *  pd 
)

Specify a source object at a specified table location. Old style. See SetSourceConnection.

void vtkGlyph3D::SetSourceConnection ( int  id,
vtkAlgorithmOutput *  algOutput 
)

Specify a source object at a specified table location. New style. Source connection is stored in port 1. This method is equivalent to SetInputConnection(1, id, outputPort).

void vtkGlyph3D::SetSourceConnection ( vtkAlgorithmOutput *  algOutput)
inline

Specify a source object at a specified table location. New style. Source connection is stored in port 1. This method is equivalent to SetInputConnection(1, id, outputPort).

Definition at line 135 of file vtkGlyph3D.h.

vtkPolyData* vtkGlyph3D::GetSource ( int  id = 0)

Get a pointer to a source object at a specified table location.

virtual void vtkGlyph3D::SetScaling ( int  )
virtual

Turn on/off scaling of source geometry.

virtual void vtkGlyph3D::ScalingOn ( )
virtual

Turn on/off scaling of source geometry.

virtual void vtkGlyph3D::ScalingOff ( )
virtual

Turn on/off scaling of source geometry.

virtual int vtkGlyph3D::GetScaling ( )
virtual

Turn on/off scaling of source geometry.

virtual void vtkGlyph3D::SetScaleMode ( int  )
virtual

Either scale by scalar or by vector/normal magnitude.

virtual int vtkGlyph3D::GetScaleMode ( )
virtual

Either scale by scalar or by vector/normal magnitude.

void vtkGlyph3D::SetScaleModeToScaleByScalar ( )
inline

Either scale by scalar or by vector/normal magnitude.

Definition at line 155 of file vtkGlyph3D.h.

void vtkGlyph3D::SetScaleModeToScaleByVector ( )
inline

Either scale by scalar or by vector/normal magnitude.

Definition at line 157 of file vtkGlyph3D.h.

void vtkGlyph3D::SetScaleModeToScaleByVectorComponents ( )
inline

Either scale by scalar or by vector/normal magnitude.

Definition at line 159 of file vtkGlyph3D.h.

void vtkGlyph3D::SetScaleModeToDataScalingOff ( )
inline

Either scale by scalar or by vector/normal magnitude.

Definition at line 161 of file vtkGlyph3D.h.

const char * vtkGlyph3D::GetScaleModeAsString ( void  )
inline

Return the method of scaling as a descriptive character string.

Definition at line 306 of file vtkGlyph3D.h.

virtual void vtkGlyph3D::SetColorMode ( int  )
virtual

Either color by scale, scalar or by vector/normal magnitude.

virtual int vtkGlyph3D::GetColorMode ( )
virtual

Either color by scale, scalar or by vector/normal magnitude.

void vtkGlyph3D::SetColorModeToColorByScale ( )
inline

Either color by scale, scalar or by vector/normal magnitude.

Definition at line 170 of file vtkGlyph3D.h.

void vtkGlyph3D::SetColorModeToColorByScalar ( )
inline

Either color by scale, scalar or by vector/normal magnitude.

Definition at line 172 of file vtkGlyph3D.h.

void vtkGlyph3D::SetColorModeToColorByVector ( )
inline

Either color by scale, scalar or by vector/normal magnitude.

Definition at line 174 of file vtkGlyph3D.h.

const char * vtkGlyph3D::GetColorModeAsString ( void  )
inline

Return the method of coloring as a descriptive character string.

Definition at line 325 of file vtkGlyph3D.h.

virtual void vtkGlyph3D::SetScaleFactor ( double  )
virtual

Specify scale factor to scale object by.

virtual double vtkGlyph3D::GetScaleFactor ( )
virtual

Specify scale factor to scale object by.

virtual void vtkGlyph3D::SetRange ( double  ,
double   
)
virtual

Specify range to map scalar values into.

void vtkGlyph3D::SetRange ( double  [2])

Specify range to map scalar values into.

virtual double* vtkGlyph3D::GetRange ( )
virtual

Specify range to map scalar values into.

virtual void vtkGlyph3D::GetRange ( double  data[2])
virtual

Specify range to map scalar values into.

virtual void vtkGlyph3D::SetOrient ( int  )
virtual

Turn on/off orienting of input geometry along vector/normal.

virtual void vtkGlyph3D::OrientOn ( )
virtual

Turn on/off orienting of input geometry along vector/normal.

virtual void vtkGlyph3D::OrientOff ( )
virtual

Turn on/off orienting of input geometry along vector/normal.

virtual int vtkGlyph3D::GetOrient ( )
virtual

Turn on/off orienting of input geometry along vector/normal.

virtual void vtkGlyph3D::SetClamping ( int  )
virtual

Turn on/off clamping of "scalar" values to range. (Scalar value may be vector magnitude if ScaleByVector() is enabled.)

virtual void vtkGlyph3D::ClampingOn ( )
virtual

Turn on/off clamping of "scalar" values to range. (Scalar value may be vector magnitude if ScaleByVector() is enabled.)

virtual void vtkGlyph3D::ClampingOff ( )
virtual

Turn on/off clamping of "scalar" values to range. (Scalar value may be vector magnitude if ScaleByVector() is enabled.)

virtual int vtkGlyph3D::GetClamping ( )
virtual

Turn on/off clamping of "scalar" values to range. (Scalar value may be vector magnitude if ScaleByVector() is enabled.)

virtual void vtkGlyph3D::SetVectorMode ( int  )
virtual

Specify whether to use vector or normal to perform vector operations.

virtual int vtkGlyph3D::GetVectorMode ( )
virtual

Specify whether to use vector or normal to perform vector operations.

void vtkGlyph3D::SetVectorModeToUseVector ( )
inline

Specify whether to use vector or normal to perform vector operations.

Definition at line 210 of file vtkGlyph3D.h.

void vtkGlyph3D::SetVectorModeToUseNormal ( )
inline

Specify whether to use vector or normal to perform vector operations.

Definition at line 211 of file vtkGlyph3D.h.

void vtkGlyph3D::SetVectorModeToVectorRotationOff ( )
inline

Specify whether to use vector or normal to perform vector operations.

Definition at line 212 of file vtkGlyph3D.h.

const char * vtkGlyph3D::GetVectorModeAsString ( void  )
inline

Return the vector mode as a character string.

Definition at line 344 of file vtkGlyph3D.h.

virtual void vtkGlyph3D::SetIndexMode ( int  )
virtual

Index into table of sources by scalar, by vector/normal magnitude, or no indexing. If indexing is turned off, then the first source glyph in the table of glyphs is used. Note that indexing mode will only use the InputScalarsSelection array and not the InputColorScalarsSelection as the scalar source if an array is specified.

virtual int vtkGlyph3D::GetIndexMode ( )
virtual

Index into table of sources by scalar, by vector/normal magnitude, or no indexing. If indexing is turned off, then the first source glyph in the table of glyphs is used. Note that indexing mode will only use the InputScalarsSelection array and not the InputColorScalarsSelection as the scalar source if an array is specified.

void vtkGlyph3D::SetIndexModeToScalar ( )
inline

Index into table of sources by scalar, by vector/normal magnitude, or no indexing. If indexing is turned off, then the first source glyph in the table of glyphs is used. Note that indexing mode will only use the InputScalarsSelection array and not the InputColorScalarsSelection as the scalar source if an array is specified.

Definition at line 226 of file vtkGlyph3D.h.

void vtkGlyph3D::SetIndexModeToVector ( )
inline

Index into table of sources by scalar, by vector/normal magnitude, or no indexing. If indexing is turned off, then the first source glyph in the table of glyphs is used. Note that indexing mode will only use the InputScalarsSelection array and not the InputColorScalarsSelection as the scalar source if an array is specified.

Definition at line 227 of file vtkGlyph3D.h.

void vtkGlyph3D::SetIndexModeToOff ( )
inline

Index into table of sources by scalar, by vector/normal magnitude, or no indexing. If indexing is turned off, then the first source glyph in the table of glyphs is used. Note that indexing mode will only use the InputScalarsSelection array and not the InputColorScalarsSelection as the scalar source if an array is specified.

Definition at line 228 of file vtkGlyph3D.h.

const char * vtkGlyph3D::GetIndexModeAsString ( void  )
inline

Return the index mode as a character string.

Definition at line 363 of file vtkGlyph3D.h.

virtual void vtkGlyph3D::SetGeneratePointIds ( int  )
virtual

Enable/disable the generation of point ids as part of the output. The point ids are the id of the input generating point. The point ids are stored in the output point field data and named "InputPointIds". Point generation is useful for debugging and pick operations.

virtual int vtkGlyph3D::GetGeneratePointIds ( )
virtual

Enable/disable the generation of point ids as part of the output. The point ids are the id of the input generating point. The point ids are stored in the output point field data and named "InputPointIds". Point generation is useful for debugging and pick operations.

virtual void vtkGlyph3D::GeneratePointIdsOn ( )
virtual

Enable/disable the generation of point ids as part of the output. The point ids are the id of the input generating point. The point ids are stored in the output point field data and named "InputPointIds". Point generation is useful for debugging and pick operations.

virtual void vtkGlyph3D::GeneratePointIdsOff ( )
virtual

Enable/disable the generation of point ids as part of the output. The point ids are the id of the input generating point. The point ids are stored in the output point field data and named "InputPointIds". Point generation is useful for debugging and pick operations.

virtual void vtkGlyph3D::SetPointIdsName ( const char *  )
virtual

Set/Get the name of the PointIds array if generated. By default the Ids are named "InputPointIds", but this can be changed with this function.

virtual char* vtkGlyph3D::GetPointIdsName ( )
virtual

Set/Get the name of the PointIds array if generated. By default the Ids are named "InputPointIds", but this can be changed with this function.

virtual void vtkGlyph3D::SetFillCellData ( int  )
virtual

Enable/disable the generation of cell data as part of the output. The cell data at each cell will match the point data of the input at the glyphed point.

virtual int vtkGlyph3D::GetFillCellData ( )
virtual

Enable/disable the generation of cell data as part of the output. The cell data at each cell will match the point data of the input at the glyphed point.

virtual void vtkGlyph3D::FillCellDataOn ( )
virtual

Enable/disable the generation of cell data as part of the output. The cell data at each cell will match the point data of the input at the glyphed point.

virtual void vtkGlyph3D::FillCellDataOff ( )
virtual

Enable/disable the generation of cell data as part of the output. The cell data at each cell will match the point data of the input at the glyphed point.

virtual int vtkGlyph3D::IsPointVisible ( vtkDataSet *  ,
vtkIdType   
)
inlinevirtual

This can be overwritten by subclass to return 0 when a point is blanked. Default implementation is to always return 1;

Definition at line 261 of file vtkGlyph3D.h.

void vtkGlyph3D::SetSourceTransform ( vtkTransform *  )

When set, this is use to transform the source polydata before using it to generate the glyph. This is useful if one wanted to reorient the source, for example.

virtual vtkTransform* vtkGlyph3D::GetSourceTransform ( )
virtual

When set, this is use to transform the source polydata before using it to generate the glyph. This is useful if one wanted to reorient the source, for example.

virtual unsigned long vtkGlyph3D::GetMTime ( )
virtual

Overridden to include SourceTransform's MTime.

virtual int vtkGlyph3D::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Reimplemented in vtkGlyph2D.

virtual int vtkGlyph3D::RequestUpdateExtent ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual
virtual int vtkGlyph3D::FillInputPortInformation ( int  ,
vtkInformation *   
)
protectedvirtual
vtkPolyData* vtkGlyph3D::GetSource ( int  idx,
vtkInformationVector *  sourceInfo 
)
protected

Member Data Documentation

vtkPolyData** vtkGlyph3D::Source
protected

Definition at line 284 of file vtkGlyph3D.h.

int vtkGlyph3D::Scaling
protected

Definition at line 285 of file vtkGlyph3D.h.

int vtkGlyph3D::ScaleMode
protected

Definition at line 286 of file vtkGlyph3D.h.

int vtkGlyph3D::ColorMode
protected

Definition at line 287 of file vtkGlyph3D.h.

double vtkGlyph3D::ScaleFactor
protected

Definition at line 288 of file vtkGlyph3D.h.

double vtkGlyph3D::Range[2]
protected

Definition at line 289 of file vtkGlyph3D.h.

int vtkGlyph3D::Orient
protected

Definition at line 290 of file vtkGlyph3D.h.

int vtkGlyph3D::VectorMode
protected

Definition at line 291 of file vtkGlyph3D.h.

int vtkGlyph3D::Clamping
protected

Definition at line 292 of file vtkGlyph3D.h.

int vtkGlyph3D::IndexMode
protected

Definition at line 293 of file vtkGlyph3D.h.

int vtkGlyph3D::GeneratePointIds
protected

Definition at line 294 of file vtkGlyph3D.h.

int vtkGlyph3D::FillCellData
protected

Definition at line 295 of file vtkGlyph3D.h.

char* vtkGlyph3D::PointIdsName
protected

Definition at line 296 of file vtkGlyph3D.h.

vtkTransform* vtkGlyph3D::SourceTransform
protected

Definition at line 297 of file vtkGlyph3D.h.


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