Documentation for vtkSweptSurface

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

Super Class: vtkStructuredPointsToStructuredPointsFilter

Description:

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

 

Methods:

void vtkSweptSurface ()
static vtkSweptSurface *New ()
void vtkSweptSurface ()
const char *GetClassName ()
void PrintSelf (unknown & ,vtkIndent )
void SetSampleDimensions (int ,int ,int )
void SetSampleDimensions (int *)
int *GetSampleDimensions ()
void SetTransforms (vtkTransformCollection *)
vtkTransformCollection *GetTransforms ()
void SetFillValue (float )
float GetFillValue ()
void SetNumberOfInterpolationSteps (int )
int GetNumberOfInterpolationSteps ()
void SetMaximumNumberOfInterpolationSteps (int )
int GetMaximumNumberOfInterpolationSteps ()
void SetCapping (int )
int GetCapping ()
void CappingOn ()
void CappingOff ()
void SetModelBounds (float *)
float *GetModelBounds ()
void SetModelBounds (float ,float ,float ,float ,float ,float )
void SetAdjustBounds (int )
int GetAdjustBounds ()
void AdjustBoundsOn ()
void AdjustBoundsOff ()
void SetAdjustDistance (float )
float GetAdjustDistance ()
unsigned long GetMTime ()
void Execute ()
void ComputeBounds (float ,float ,float )
int ComputeNumberOfSteps (vtkTransform * ,vtkTransform * ,float )
void SampleInput (vtkMatrix4x4 * ,int ,float ,float ,vtkScalars * ,vtkScalars *)
void Cap (vtkScalars *)
void GetRelativePosition (vtkTransform & ,float * ,float *)
void InterpolateStates (float * ,float * ,float * ,float * ,float ,float * ,float *)

 

Detailed Method Descriptions:

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

void SetSampleDimensions (int ,int ,int )
void SetSampleDimensions (int *)
int *GetSampleDimensions ()

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

void SetTransforms (vtkTransformCollection *)
vtkTransformCollection *GetTransforms ()

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.

void SetFillValue (float )
float GetFillValue ()

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

void SetNumberOfInterpolationSteps (int )
int GetNumberOfInterpolationSteps ()

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.

void SetMaximumNumberOfInterpolationSteps (int )
int GetMaximumNumberOfInterpolationSteps ()

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.

void SetCapping (int )
int GetCapping ()
void CappingOn ()
void CappingOff ()

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 SetModelBounds (float *)
float *GetModelBounds ()
void SetModelBounds (float ,float ,float ,float ,float ,float )

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.

void SetAdjustBounds (int )
int GetAdjustBounds ()
void AdjustBoundsOn ()
void AdjustBoundsOff ()

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.

void SetAdjustDistance (float )
float GetAdjustDistance ()