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

vtkSQ3SubdivisionFilter Class Reference

#include <vtkSQ3SubdivisionFilter.h>

List of all members.


Detailed Description

SQ3 subdivision implements the √3-subdivision implemented by Leif Kobbelt at Max-Planck Institut for Computer Graphics. The filter can handle only triangle meshes so if you have other mashes use the vtkTriangleFilter to triangulate it.

Definition at line 50 of file vtkSQ3SubdivisionFilter.h.

Public Methods

 vtkTypeRevisionMacro (vtkSQ3SubdivisionFilter, vtkPolyDataToPolyDataFilter)
void PrintSelf (ostream &os, vtkIndent indent)
 vtkSetMacro (NumberOfSubdivisions, int)
 vtkGetMacro (NumberOfSubdivisions, int)

Static Public Methods

vtkSQ3SubdivisionFilter * New ()

Protected Methods

 vtkSQ3SubdivisionFilter ()
 ~vtkSQ3SubdivisionFilter ()
void Execute ()
bool generatePoint (vtkIdType cellId, vtkIdType &newId, vtkIdList *cellsVisited, vtkIdList *cellsPoints, vtkIdType *pts, vtkPolyData *inputDS, vtkPointData *outputPD, vtkPoints *outputPts)
 Generates a new point in the output mash.

void GenerateSubdivisionPoints (vtkPolyData *inputDS, vtkPoints *outputPts, vtkPointData *outputPD, vtkCellArray *outputPolys, vtkCellData *outputCD)
 Subdivides each cell and generates new cells.

void GenerateSubdivisionCells (vtkPolyData *inputDS, vtkIntArray *edgeData, vtkCellArray *outputPolys, vtkCellData *outputCD)
void GenerateEvenStencil (vtkIdType p1, vtkPolyData *polys, vtkIdList *stencilIds, float *weights)
 Generates a filter stencil for input points.

int FindEdge (vtkPolyData *mesh, vtkIdType cellId, vtkIdType p1, vtkIdType p2, vtkIntArray *edgeData, vtkIdList *cellIds)
 Find a edge in mesh using p1 and p2.

vtkIdType InterpolatePosition (vtkPoints *inputPts, vtkPoints *outputPts, vtkIdList *stencil, float *weights)
 Calculates the position of a new point using the stencil and weights.


Protected Attributes

int NumberOfSubdivisions

Private Methods

 vtkSQ3SubdivisionFilter (const vtkSQ3SubdivisionFilter &)
void operator= (const vtkSQ3SubdivisionFilter &)


Constructor & Destructor Documentation

vtkSQ3SubdivisionFilter::vtkSQ3SubdivisionFilter (    )  [inline, protected]
 

Definition at line 63 of file vtkSQ3SubdivisionFilter.h.

References NumberOfSubdivisions.

vtkSQ3SubdivisionFilter::~vtkSQ3SubdivisionFilter (    )  [inline, protected]
 

Definition at line 72 of file vtkSQ3SubdivisionFilter.h.

vtkSQ3SubdivisionFilter::vtkSQ3SubdivisionFilter (  const vtkSQ3SubdivisionFilter &    )  [private]
 


Member Function Documentation

void vtkSQ3SubdivisionFilter::Execute (    )  [protected]
 

Definition at line 39 of file vtkSQ3SubdivisionFilter.cxx.

References GenerateSubdivisionPoints(), and NumberOfSubdivisions.

int vtkSQ3SubdivisionFilter::FindEdge (  vtkPolyData *    mesh,
vtkIdType    cellId,
vtkIdType    p1,
vtkIdType    p2,
vtkIntArray *    edgeData,
vtkIdList *    cellIds
)  [protected]
 

Find a edge in mesh using p1 and p2.

Definition at line 360 of file vtkSQ3SubdivisionFilter.cxx.

void vtkSQ3SubdivisionFilter::GenerateEvenStencil (  vtkIdType    p1,
vtkPolyData *    polys,
vtkIdList *    stencilIds,
float *    weights
)  [protected]
 

Generates a filter stencil for input points.

Definition at line 399 of file vtkSQ3SubdivisionFilter.cxx.

Referenced by GenerateSubdivisionPoints().

bool vtkSQ3SubdivisionFilter::generatePoint (  vtkIdType    cellId,
vtkIdType &    newId,
vtkIdList *    cellsVisited,
vtkIdList *    cellsPoints,
vtkIdType *    pts,
vtkPolyData *    inputDS,
vtkPointData *    outputPD,
vtkPoints *    outputPts
)  [protected]
 

Generates a new point in the output mash.

It also ubdates the cellsVisited and cellsPoints list. The new point is added to outputPD and outputPts.

Definition at line 123 of file vtkSQ3SubdivisionFilter.cxx.

References InterpolatePosition().

Referenced by GenerateSubdivisionPoints().

void vtkSQ3SubdivisionFilter::GenerateSubdivisionCells (  vtkPolyData *    inputDS,
vtkIntArray *    edgeData,
vtkCellArray *    outputPolys,
vtkCellData *    outputCD
)  [protected]
 

Definition at line 289 of file vtkSQ3SubdivisionFilter.cxx.

void vtkSQ3SubdivisionFilter::GenerateSubdivisionPoints (  vtkPolyData *    inputDS,
vtkPoints *    outputPts,
vtkPointData *    outputPD,
vtkCellArray *    outputPolys,
vtkCellData *    outputCD
)  [protected]
 

Subdivides each cell and generates new cells.

The methode does this by first filtering the input and then generating new points. It uses the generatePoints method.

Todo:
While stepping through all neighbours we assume there is only one neighbour per edge.

Definition at line 178 of file vtkSQ3SubdivisionFilter.cxx.

References GenerateEvenStencil(), generatePoint(), and InterpolatePosition().

Referenced by Execute().

vtkIdType vtkSQ3SubdivisionFilter::InterpolatePosition (  vtkPoints *    inputPts,
vtkPoints *    outputPts,
vtkIdList *    stencil,
float *    weights
)  [protected]
 

Calculates the position of a new point using the stencil and weights.

Definition at line 336 of file vtkSQ3SubdivisionFilter.cxx.

Referenced by generatePoint(), and GenerateSubdivisionPoints().

vtkSQ3SubdivisionFilter* vtkSQ3SubdivisionFilter::New (    )  [static]
 

Referenced by CvtkSq3SubdivisionView::OnDraw().

void vtkSQ3SubdivisionFilter::operator= (  const vtkSQ3SubdivisionFilter &    )  [private]
 

void vtkSQ3SubdivisionFilter::PrintSelf (  ostream &    os,
vtkIndent    indent
) 
 

Definition at line 538 of file vtkSQ3SubdivisionFilter.cxx.

References NumberOfSubdivisions.

vtkSQ3SubdivisionFilter::vtkGetMacro (  NumberOfSubdivisions   ,
int   
) 
 

vtkSQ3SubdivisionFilter::vtkSetMacro (  NumberOfSubdivisions   ,
int   
) 
 

vtkSQ3SubdivisionFilter::vtkTypeRevisionMacro (  vtkSQ3SubdivisionFilter   ,
vtkPolyDataToPolyDataFilter   
) 
 


Member Data Documentation

int vtkSQ3SubdivisionFilter::NumberOfSubdivisions [protected]
 

Definition at line 115 of file vtkSQ3SubdivisionFilter.h.

Referenced by Execute(), PrintSelf(), and vtkSQ3SubdivisionFilter().


The documentation for this class was generated from the following files:
Generated on Thu Jul 3 16:54:24 2003 for Sq3Subdivision by doxygen1.2.18