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:
[legend]Collaboration diagram for vtkSweptSurface:
[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:
-
- 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 vtkTransformCollection * | GetTransforms () |
|
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) |
vtkMatrix4x4 * | GetActorMatrixPointer (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 |
vtkTransformCollection * | Transforms |
Member Typedef Documentation
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] |
|
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] |
|
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. |
|
Specify a path (i.e., list of transforms) that the input moves along. At least two transforms must be used to define a path. |
|
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] |
|
void vtkSweptSurface::ExecuteInformation |
( |
|
) |
[inline, protected, virtual] |
|
void vtkSweptSurface::ComputeInputUpdateExtent |
( |
int |
inExt[6], |
|
|
int |
outExt[6] |
|
) |
[protected, virtual] |
|
void vtkSweptSurface::ComputeBounds |
( |
float |
origin[3], |
|
|
float |
ar[3], |
|
|
float |
bbox[24] |
|
) |
[protected] |
|
void vtkSweptSurface::ComputeFootprint |
( |
vtkMatrix4x4 * |
m, |
|
|
int |
inDim[3], |
|
|
float |
inOrigin[3], |
|
|
float |
inSpacing[3], |
|
|
int |
Indicies[6] |
|
) |
[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]
|
|
float vtkSweptSurface::FillValue [protected]
|
|
float vtkSweptSurface::ModelBounds[6] [protected]
|
|
int vtkSweptSurface::NumberOfInterpolationSteps [protected]
|
|
int vtkSweptSurface::MaximumNumberOfInterpolationSteps [protected]
|
|
int vtkSweptSurface::Capping [protected]
|
|
int vtkSweptSurface::AdjustBounds [protected]
|
|
float vtkSweptSurface::AdjustDistance [protected]
|
|
The documentation for this class was generated from the following file: