VTK
|
generate a subdivision surface using the Loop Scheme More...
#include <vtkLoopSubdivisionFilter.h>
Protected Member Functions | |
vtkLoopSubdivisionFilter () | |
~vtkLoopSubdivisionFilter () | |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
void | GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData, vtkPoints *outputPts, vtkPointData *outputPD) |
void | GenerateEvenStencil (vtkIdType p1, vtkPolyData *polys, vtkIdList *stencilIds, double *weights) |
void | GenerateOddStencil (vtkIdType p1, vtkIdType p2, vtkPolyData *polys, vtkIdList *stencilIds, double *weights) |
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
typedef vtkApproximatingSubdivisionFilter | Superclass |
static vtkLoopSubdivisionFilter * | New () |
static int | IsTypeOf (const char *type) |
static vtkLoopSubdivisionFilter * | SafeDownCast (vtkObjectBase *o) |
virtual int | IsA (const char *type) |
vtkLoopSubdivisionFilter * | NewInstance () const |
virtual vtkObjectBase * | NewInstanceInternal () const |
generate a subdivision surface using the Loop Scheme
vtkLoopSubdivisionFilter is an approximating subdivision scheme that creates four new triangles for each triangle in the mesh. The user can specify the NumberOfSubdivisions. Loop's subdivision scheme is described in: Loop, C., "Smooth Subdivision surfaces based on triangles,", Masters Thesis, University of Utah, August 1987. For a nice summary of the technique see, Hoppe, H., et. al, "Piecewise Smooth Surface Reconstruction,:, Proceedings of Siggraph 94 (Orlando, Florida, July 24-29, 1994). In COmputer Graphics Proceedings, Annual COnference Series, 1994, ACM SIGGRAPH, pp. 295-302.
The filter only operates on triangles. Users should use the vtkTriangleFilter to triangulate meshes that contain polygons or triangle strips.
The filter approximates point data using the same scheme. New triangles create at a subdivision step will have the cell data of their parent cell.
Definition at line 59 of file vtkLoopSubdivisionFilter.h.
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
Definition at line 65 of file vtkLoopSubdivisionFilter.h.
vtkLoopSubdivisionFilter::vtkLoopSubdivisionFilter | ( | ) | [inline, protected] |
Definition at line 69 of file vtkLoopSubdivisionFilter.h.
vtkLoopSubdivisionFilter::~vtkLoopSubdivisionFilter | ( | ) | [inline, protected] |
Definition at line 70 of file vtkLoopSubdivisionFilter.h.
static vtkLoopSubdivisionFilter* vtkLoopSubdivisionFilter::New | ( | ) | [static] |
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkPolyDataAlgorithm.
static int vtkLoopSubdivisionFilter::IsTypeOf | ( | const char * | type | ) | [static] |
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
virtual int vtkLoopSubdivisionFilter::IsA | ( | const char * | type | ) | [virtual] |
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
static vtkLoopSubdivisionFilter* vtkLoopSubdivisionFilter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
virtual vtkObjectBase* vtkLoopSubdivisionFilter::NewInstanceInternal | ( | ) | const [protected, virtual] |
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
Construct object with NumberOfSubdivisions set to 1.
Reimplemented from vtkApproximatingSubdivisionFilter.
virtual int vtkLoopSubdivisionFilter::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkApproximatingSubdivisionFilter.
void vtkLoopSubdivisionFilter::GenerateSubdivisionPoints | ( | vtkPolyData * | inputDS, |
vtkIntArray * | edgeData, | ||
vtkPoints * | outputPts, | ||
vtkPointData * | outputPD | ||
) | [protected, virtual] |
Implements vtkApproximatingSubdivisionFilter.
void vtkLoopSubdivisionFilter::GenerateEvenStencil | ( | vtkIdType | p1, |
vtkPolyData * | polys, | ||
vtkIdList * | stencilIds, | ||
double * | weights | ||
) | [protected] |
void vtkLoopSubdivisionFilter::GenerateOddStencil | ( | vtkIdType | p1, |
vtkIdType | p2, | ||
vtkPolyData * | polys, | ||
vtkIdList * | stencilIds, | ||
double * | weights | ||
) | [protected] |
virtual int vtkLoopSubdivisionFilter::RequestUpdateExtent | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.