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

vtkLoopSubdivisionFilter Class Reference

generate a subdivision surface using the Loop Scheme. More...

#include <vtkLoopSubdivisionFilter.h>

Inheritance diagram for vtkLoopSubdivisionFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkLoopSubdivisionFilter:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)

Static Public Methods

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

Protected Methods

 vtkLoopSubdivisionFilter ()
 ~vtkLoopSubdivisionFilter ()
 vtkLoopSubdivisionFilter (const vtkLoopSubdivisionFilter &)
void operator= (const vtkLoopSubdivisionFilter &)
void GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkIntArray *edgeData, vtkPoints *outputPts, vtkPointData *outputPD)
void GenerateEvenStencil (int p1, vtkPolyData *polys, vtkIdList *stencilIds, float *weights)
void GenerateOddStencil (int p1, int p2, vtkPolyData *polys, vtkIdList *stencilIds, float *weights)
void ComputeInputUpdateExtents (vtkDataObject *output)

Detailed Description

generate a subdivision surface using the Loop Scheme.

Date:
2000/12/10 20:08:42
Revision:
1.7
Thanks:
This work was supported bt PHS Research Grant No. 1 P41 RR13218-01 from the National Center for Research Resources
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.

See also:
vtkApproximatingSubdivisionFilter
Examples:
vtkLoopSubdivisionFilter (examples)

Definition at line 81 of file vtkLoopSubdivisionFilter.h.


Constructor & Destructor Documentation

vtkLoopSubdivisionFilter::vtkLoopSubdivisionFilter   [inline, protected]
 

Definition at line 89 of file vtkLoopSubdivisionFilter.h.

vtkLoopSubdivisionFilter::~vtkLoopSubdivisionFilter   [inline, protected]
 

Definition at line 90 of file vtkLoopSubdivisionFilter.h.

vtkLoopSubdivisionFilter::vtkLoopSubdivisionFilter const vtkLoopSubdivisionFilter &    [inline, protected]
 

Definition at line 91 of file vtkLoopSubdivisionFilter.h.


Member Function Documentation

vtkLoopSubdivisionFilter* vtkLoopSubdivisionFilter::New   [static]
 

Construct object with NumberOfSubdivisions set to 1.

Reimplemented from vtkPolyDataSource.

virtual const char* vtkLoopSubdivisionFilter::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkApproximatingSubdivisionFilter.

int vtkLoopSubdivisionFilter::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkApproximatingSubdivisionFilter.

virtual int vtkLoopSubdivisionFilter::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkApproximatingSubdivisionFilter.

vtkLoopSubdivisionFilter* vtkLoopSubdivisionFilter::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkApproximatingSubdivisionFilter.

void vtkLoopSubdivisionFilter::operator= const vtkLoopSubdivisionFilter &    [inline, protected]
 

Definition at line 92 of file vtkLoopSubdivisionFilter.h.

void vtkLoopSubdivisionFilter::GenerateSubdivisionPoints vtkPolyData   inputDS,
vtkIntArray   edgeData,
vtkPoints   outputPts,
vtkPointData   outputPD
[protected, virtual]
 

Reimplemented from vtkApproximatingSubdivisionFilter.

void vtkLoopSubdivisionFilter::GenerateEvenStencil int    p1,
vtkPolyData   polys,
vtkIdList   stencilIds,
float *    weights
[protected]
 

void vtkLoopSubdivisionFilter::GenerateOddStencil int    p1,
int    p2,
vtkPolyData   polys,
vtkIdList   stencilIds,
float *    weights
[protected]
 

void vtkLoopSubdivisionFilter::ComputeInputUpdateExtents vtkDataObject   output [protected, virtual]
 

What is the input update extent that is required to produce the desired output? By default, the whole input is always required but this is overridden in many subclasses.

Reimplemented from vtkPolyDataSource.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:52:51 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001