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

vtkSweptSurface Class Reference

#include <vtkSweptSurface.h>

Inheritance diagram for vtkSweptSurface:

Inheritance graph
[legend]
Collaboration diagram for vtkSweptSurface:

Collaboration graph
[legend]
List of all members.

Detailed Description

given a path and input geometry generate an (implicit) representation of a swept surface

Date:
2002/09/30 20:35:19
Revision:
1.55

vtkSweptSurface is a filter that is used to create a surface defined by moving a part along a path. In this implementation, the path is defined as a list of transformation matrices (vtkTransform), and the part geometry is implicitly defined using a volume (i.e., distance scalars in structured point dataset). The input to the filter is the geometry (i.e., a structured point dataset) and the output is a structured point dataset (i.e., an implicit representation of the swept surface). If you wish to generate a polygonal representation of swept surface you will have to use a contouring filter (e.g., vtkContourFilter). (You may also wish to use vtkDecimate to reduce mesh size.)

The swept surface algorithm can be summarized as follows. A geometry (i.e. the input) is swept along a path (list of transforms). At each point on the path the input is re-sampled into a volume using a union operation. (Union means that the minimum scalar value is retained - minimum distance value for example.) At the end, an implicit representation of the swept surface is defined.

See also:
vtkImplicitModeller vtkContourFilter vtkDecimate
Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (49%)
  • Lorensen, Bill (23%)
  • Martin, Ken (5%)
  • Law, Charles (5%)
CVS logs (CVSweb):
  • .cxx (/Patented/vtkSweptSurface.cxx)
  • .h (/Patented/vtkSweptSurface.h)
Tests:
vtkSweptSurface (Tests)

Definition at line 83 of file vtkSweptSurface.h.

Public Types

typedef vtkImageToImageFilter Superclass

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
unsigned long int GetMTime ()
virtual void SetSampleDimensions (int, int, int)
virtual void SetSampleDimensions (int[3])
virtual int * GetSampleDimensions ()
virtual void GetSampleDimensions (int data[3])
virtual void SetTransforms (vtkTransformCollection *)
virtual vtkTransformCollectionGetTransforms ()
virtual void SetFillValue (float)
virtual float GetFillValue ()
virtual void SetNumberOfInterpolationSteps (int)
virtual int GetNumberOfInterpolationSteps ()
virtual void SetMaximumNumberOfInterpolationSteps (int)
virtual int GetMaximumNumberOfInterpolationSteps ()
virtual void SetCapping (int)
virtual int GetCapping ()
virtual void CappingOn ()
virtual void CappingOff ()
virtual void SetModelBounds (float data[])
virtual float * GetModelBounds ()
virtual void GetModelBounds (float data[6])
void SetModelBounds (float xmin, float xmax, float ymin, float ymax, float zmin, float zmax)
virtual void SetAdjustBounds (int)
virtual int GetAdjustBounds ()
virtual void AdjustBoundsOn ()
virtual void AdjustBoundsOff ()
virtual void SetAdjustDistance (float)
virtual float GetAdjustDistance ()

Static Public Methods

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

Protected Methods

 vtkSweptSurface ()
 ~vtkSweptSurface ()
virtual void ExecuteData (vtkDataObject *)
virtual void ExecuteInformation (vtkImageData *inData, vtkImageData *outData)
void ExecuteInformation ()
void ComputeInputUpdateExtent (int inExt[6], int outExt[6])
void ComputeBounds (float origin[3], float ar[3], float bbox[24])
int ComputeNumberOfSteps (vtkTransform *t1, vtkTransform *t2, float bbox[24])
void SampleInput (vtkMatrix4x4 *m, int inDim[3], float inOrigin[3], float inAr[3], vtkDataArray *in, vtkDataArray *out)
void ComputeFootprint (vtkMatrix4x4 *m, int inDim[3], float inOrigin[3], float inSpacing[3], int Indicies[6])
void Cap (vtkDataArray *s)
void GetRelativePosition (vtkTransform &t, float *origin, float *position)
vtkMatrix4x4GetActorMatrixPointer (vtkTransform &t, float origin[3], float position[3], float orientation[3])
virtual void InterpolateStates (float *pos1, float *pos2, float *euler1, float *euler2, float t, float *posOut, float *eulerOut)

Protected Attributes

int SampleDimensions [3]
float FillValue
float ModelBounds [6]
int NumberOfInterpolationSteps
int MaximumNumberOfInterpolationSteps
int Capping
int AdjustBounds
float AdjustDistance
vtkTransformCollectionTransforms


Member Typedef Documentation

typedef vtkImageToImageFilter vtkSweptSurface::Superclass
 

Reimplemented from vtkImageToImageFilter.

Definition at line 87 of file vtkSweptSurface.h.


Constructor & Destructor Documentation

vtkSweptSurface::vtkSweptSurface   [protected]
 

vtkSweptSurface::~vtkSweptSurface   [protected]
 


Member Function Documentation

vtkSweptSurface* vtkSweptSurface::New   [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkSweptSurface::GetClassName   [virtual]
 

Reimplemented from vtkImageToImageFilter.

int vtkSweptSurface::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 vtkImageToImageFilter.

virtual int vtkSweptSurface::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 vtkImageToImageFilter.

vtkSweptSurface* vtkSweptSurface::SafeDownCast vtkObject   o [static]
 

Reimplemented from vtkImageToImageFilter.

void vtkSweptSurface::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 vtkImageToImageFilter.

virtual void vtkSweptSurface::SetSampleDimensions int   ,
int   ,
int   
[virtual]
 

Specify i-j-k dimensions to sample input with. The higher the resolution the lower the error but the greater the processing time.

virtual void vtkSweptSurface::SetSampleDimensions int   [3] [virtual]
 

Specify i-j-k dimensions to sample input with. The higher the resolution the lower the error but the greater the processing time.

virtual int* vtkSweptSurface::GetSampleDimensions   [virtual]
 

Specify i-j-k dimensions to sample input with. The higher the resolution the lower the error but the greater the processing time.

virtual void vtkSweptSurface::GetSampleDimensions int    data[3] [virtual]
 

Specify i-j-k dimensions to sample input with. The higher the resolution the lower the error but the greater the processing time.

virtual void vtkSweptSurface::SetTransforms vtkTransformCollection   [virtual]
 

Specify a path (i.e., list of transforms) that the input moves along. At least two transforms must be used to define a path.

virtual vtkTransformCollection* vtkSweptSurface::GetTransforms   [virtual]
 

Specify a path (i.e., list of transforms) that the input moves along. At least two transforms must be used to define a path.

virtual void vtkSweptSurface::SetFillValue float    [virtual]
 

Voxels are initialized to this value. By default a large floating point value is used, since the scalar values are assumed to be a distance function.

virtual float vtkSweptSurface::GetFillValue   [virtual]
 

Voxels are initialized to this value. By default a large floating point value is used, since the scalar values are assumed to be a distance function.

virtual void vtkSweptSurface::SetNumberOfInterpolationSteps int    [virtual]
 

Value specifies/controls interpolation between the nodes (i.e., transforms) defining the path. A positive value indicates the number of steps to take between transforms (i.e., interpolation is performed). A negative value indicates that no interpolation to be performed, that is, only the points defined at each transform are used (interpolation not performed). A zero value indicates that automatic interpolation is to be performed, that is, interpolation is computed so that potential errors fall below the error bounds defined in the text. By default, automatic computation is performed (Interpolation = 0).

virtual int vtkSweptSurface::GetNumberOfInterpolationSteps   [virtual]
 

Value specifies/controls interpolation between the nodes (i.e., transforms) defining the path. A positive value indicates the number of steps to take between transforms (i.e., interpolation is performed). A negative value indicates that no interpolation to be performed, that is, only the points defined at each transform are used (interpolation not performed). A zero value indicates that automatic interpolation is to be performed, that is, interpolation is computed so that potential errors fall below the error bounds defined in the text. By default, automatic computation is performed (Interpolation = 0).

virtual void vtkSweptSurface::SetMaximumNumberOfInterpolationSteps int    [virtual]
 

Set/get the maximum number of interpolation steps to take. This is useful if you are limited in computation time or just know that the number of computed steps should not exceed a certain value.

virtual int vtkSweptSurface::GetMaximumNumberOfInterpolationSteps   [virtual]
 

Set/get the maximum number of interpolation steps to take. This is useful if you are limited in computation time or just know that the number of computed steps should not exceed a certain value.

virtual void vtkSweptSurface::SetCapping int    [virtual]
 

The outer boundary of the sampling volume can be capped (i.e., assigned fill value). This will "close" the implicit model if the geometry approaches close to or passes through the boundary of the volume (i.e., defined by ModelBounds instance variable). Capping turns on/off this capability. By default capping is on.

virtual int vtkSweptSurface::GetCapping   [virtual]
 

The outer boundary of the sampling volume can be capped (i.e., assigned fill value). This will "close" the implicit model if the geometry approaches close to or passes through the boundary of the volume (i.e., defined by ModelBounds instance variable). Capping turns on/off this capability. By default capping is on.

virtual void vtkSweptSurface::CappingOn   [virtual]
 

The outer boundary of the sampling volume can be capped (i.e., assigned fill value). This will "close" the implicit model if the geometry approaches close to or passes through the boundary of the volume (i.e., defined by ModelBounds instance variable). Capping turns on/off this capability. By default capping is on.

virtual void vtkSweptSurface::CappingOff   [virtual]
 

The outer boundary of the sampling volume can be capped (i.e., assigned fill value). This will "close" the implicit model if the geometry approaches close to or passes through the boundary of the volume (i.e., defined by ModelBounds instance variable). Capping turns on/off this capability. By default capping is on.

virtual void vtkSweptSurface::SetModelBounds float    data[] [virtual]
 

Define the volume (in world coordinates) in which the sampling is to occur. Make sure that the volume is large enough to accommodate the motion of the geometry along the path. If the model bounds are set to all zero values, the model bounds will be computed automatically from the input geometry and path.

virtual float* vtkSweptSurface::GetModelBounds   [virtual]
 

Define the volume (in world coordinates) in which the sampling is to occur. Make sure that the volume is large enough to accommodate the motion of the geometry along the path. If the model bounds are set to all zero values, the model bounds will be computed automatically from the input geometry and path.

virtual void vtkSweptSurface::GetModelBounds float    data[6] [virtual]
 

Define the volume (in world coordinates) in which the sampling is to occur. Make sure that the volume is large enough to accommodate the motion of the geometry along the path. If the model bounds are set to all zero values, the model bounds will be computed automatically from the input geometry and path.

void vtkSweptSurface::SetModelBounds float    xmin,
float    xmax,
float    ymin,
float    ymax,
float    zmin,
float    zmax
 

Define the volume (in world coordinates) in which the sampling is to occur. Make sure that the volume is large enough to accommodate the motion of the geometry along the path. If the model bounds are set to all zero values, the model bounds will be computed automatically from the input geometry and path.

virtual void vtkSweptSurface::SetAdjustBounds int    [virtual]
 

Control how the model bounds are computed. If the ivar AdjustBounds is set, then the bounds specified (or computed automatically) is modified by the fraction given by AdjustDistance. This means that the model bounds is expanded in each of the x-y-z directions.

virtual int vtkSweptSurface::GetAdjustBounds   [virtual]
 

Control how the model bounds are computed. If the ivar AdjustBounds is set, then the bounds specified (or computed automatically) is modified by the fraction given by AdjustDistance. This means that the model bounds is expanded in each of the x-y-z directions.

virtual void vtkSweptSurface::AdjustBoundsOn   [virtual]
 

Control how the model bounds are computed. If the ivar AdjustBounds is set, then the bounds specified (or computed automatically) is modified by the fraction given by AdjustDistance. This means that the model bounds is expanded in each of the x-y-z directions.

virtual void vtkSweptSurface::AdjustBoundsOff   [virtual]
 

Control how the model bounds are computed. If the ivar AdjustBounds is set, then the bounds specified (or computed automatically) is modified by the fraction given by AdjustDistance. This means that the model bounds is expanded in each of the x-y-z directions.

virtual void vtkSweptSurface::SetAdjustDistance float    [virtual]
 

Specify the amount to grow the model bounds (if the ivar AdjustBounds is set). The value is a fraction of the maximum length of the sides of the box specified by the model bounds.

virtual float vtkSweptSurface::GetAdjustDistance   [virtual]
 

Specify the amount to grow the model bounds (if the ivar AdjustBounds is set). The value is a fraction of the maximum length of the sides of the box specified by the model bounds.

unsigned long int vtkSweptSurface::GetMTime   [virtual]
 

Return this object's modified time.

Reimplemented from vtkObject.

virtual void vtkSweptSurface::ExecuteData vtkDataObject   [protected, virtual]
 

Reimplemented from vtkImageToImageFilter.

virtual void vtkSweptSurface::ExecuteInformation vtkImageData   inData,
vtkImageData   outData
[protected, virtual]
 

Reimplemented from vtkImageToImageFilter.

void vtkSweptSurface::ExecuteInformation   [inline, protected, virtual]
 

Reimplemented from vtkImageToImageFilter.

Definition at line 185 of file vtkSweptSurface.h.

References vtkImageToImageFilter::ExecuteInformation().

void vtkSweptSurface::ComputeInputUpdateExtent int    inExt[6],
int    outExt[6]
[protected, virtual]
 

Reimplemented from vtkImageToImageFilter.

void vtkSweptSurface::ComputeBounds float    origin[3],
float    ar[3],
float    bbox[24]
[protected]
 

int vtkSweptSurface::ComputeNumberOfSteps vtkTransform   t1,
vtkTransform   t2,
float    bbox[24]
[protected]
 

void vtkSweptSurface::SampleInput vtkMatrix4x4   m,
int    inDim[3],
float    inOrigin[3],
float    inAr[3],
vtkDataArray   in,
vtkDataArray   out
[protected]
 

void vtkSweptSurface::ComputeFootprint vtkMatrix4x4   m,
int    inDim[3],
float    inOrigin[3],
float    inSpacing[3],
int    Indicies[6]
[protected]
 

void vtkSweptSurface::Cap vtkDataArray   s [protected]
 

void vtkSweptSurface::GetRelativePosition vtkTransform   t,
float *    origin,
float *    position
[protected]
 

vtkMatrix4x4* vtkSweptSurface::GetActorMatrixPointer vtkTransform   t,
float    origin[3],
float    position[3],
float    orientation[3]
[protected]
 

virtual void vtkSweptSurface::InterpolateStates float *    pos1,
float *    pos2,
float *    euler1,
float *    euler2,
float    t,
float *    posOut,
float *    eulerOut
[protected, virtual]
 


Member Data Documentation

int vtkSweptSurface::SampleDimensions[3] [protected]
 

Definition at line 204 of file vtkSweptSurface.h.

float vtkSweptSurface::FillValue [protected]
 

Definition at line 205 of file vtkSweptSurface.h.

float vtkSweptSurface::ModelBounds[6] [protected]
 

Definition at line 206 of file vtkSweptSurface.h.

int vtkSweptSurface::NumberOfInterpolationSteps [protected]
 

Definition at line 207 of file vtkSweptSurface.h.

int vtkSweptSurface::MaximumNumberOfInterpolationSteps [protected]
 

Definition at line 208 of file vtkSweptSurface.h.

int vtkSweptSurface::Capping [protected]
 

Definition at line 209 of file vtkSweptSurface.h.

int vtkSweptSurface::AdjustBounds [protected]
 

Definition at line 210 of file vtkSweptSurface.h.

float vtkSweptSurface::AdjustDistance [protected]
 

Definition at line 211 of file vtkSweptSurface.h.

vtkTransformCollection* vtkSweptSurface::Transforms [protected]
 

Definition at line 213 of file vtkSweptSurface.h.


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