Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
vtkPolyDataNormals Class Reference
#include <vtkPolyDataNormals.h>
Inheritance diagram for vtkPolyDataNormals:
[legend]Collaboration diagram for vtkPolyDataNormals:
[legend]List of all members.
Detailed Description
compute normals for polygonal mesh
- Date:
-
2002/11/21 16:13:15
- Revision:
-
1.30
vtkPolyDataNormals is a filter that computes point normals for a polygonal mesh. The filter can reorder polygons to insure consistent orientation across polygon neighbors. Sharp edges can be split and points duplicated with separate normals to give crisp (rendered) surface definition. It is also possible to globally flip the normal orientation.
The algorithm works by determining normals for each polygon and then averaging them at shared points. When sharp edges are present, the edges are split and new points generated to prevent blurry edges (due to Gouraud shading).
- Warning:
-
Normals are computed only for polygons and triangle strips. Normals are not computed for lines or vertices.
- Warning:
-
Triangle strips are broken up into triangle polygons. You may want to restrip the triangles.
- Created by:
-
- CVS contributions (if > 5%):
-
- Schroeder, Will (65%)
- Lorensen, Bill (16%)
- Henderson, Amy (6%)
- CVS logs (CVSweb):
-
- .
h
(/Graphics/vtkPolyDataNormals.h)
- .
cxx
(/Graphics/vtkPolyDataNormals.cxx)
- Examples:
-
vtkPolyDataNormals (Examples)
- Tests:
-
vtkPolyDataNormals (Tests)
Definition at line 69 of file vtkPolyDataNormals.h.
Member Typedef Documentation
Constructor & Destructor Documentation
vtkPolyDataNormals::vtkPolyDataNormals |
( |
|
) |
[protected] |
|
vtkPolyDataNormals::~vtkPolyDataNormals |
( |
|
) |
[inline, protected] |
|
Member Function Documentation
virtual const char* vtkPolyDataNormals::GetClassName |
( |
|
) |
[virtual] |
|
int vtkPolyDataNormals::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 vtkPolyDataToPolyDataFilter.
Reimplemented in vtkPPolyDataNormals. |
virtual int vtkPolyDataNormals::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 vtkPolyDataToPolyDataFilter.
Reimplemented in vtkPPolyDataNormals. |
vtkPolyDataNormals* vtkPolyDataNormals::SafeDownCast |
( |
vtkObject * |
o |
) |
[static] |
|
void vtkPolyDataNormals::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 vtkPolyDataToPolyDataFilter.
Reimplemented in vtkPPolyDataNormals. |
vtkPolyDataNormals* vtkPolyDataNormals::New |
( |
|
) |
[static] |
|
|
Construct with feature angle=30, splitting and consistency turned on, flipNormals turned off, and non-manifold traversal turned on. ComputePointNormals is on and ComputeCellNormals is off.
Reimplemented from vtkObject.
Reimplemented in vtkPPolyDataNormals. |
virtual void vtkPolyDataNormals::SetFeatureAngle |
( |
float |
|
) |
[virtual] |
|
|
Specify the angle that defines a sharp edge. If the difference in angle across neighboring polygons is greater than this value, the shared edge is considered "sharp". |
virtual float vtkPolyDataNormals::GetFeatureAngle |
( |
|
) |
[virtual] |
|
|
Specify the angle that defines a sharp edge. If the difference in angle across neighboring polygons is greater than this value, the shared edge is considered "sharp". |
virtual void vtkPolyDataNormals::SetSplitting |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off the splitting of sharp edges. |
virtual int vtkPolyDataNormals::GetSplitting |
( |
|
) |
[virtual] |
|
|
Turn on/off the splitting of sharp edges. |
virtual void vtkPolyDataNormals::SplittingOn |
( |
|
) |
[virtual] |
|
|
Turn on/off the splitting of sharp edges. |
virtual void vtkPolyDataNormals::SplittingOff |
( |
|
) |
[virtual] |
|
|
Turn on/off the splitting of sharp edges. |
virtual void vtkPolyDataNormals::SetConsistency |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off the enforcement of consistent polygon ordering. |
virtual int vtkPolyDataNormals::GetConsistency |
( |
|
) |
[virtual] |
|
|
Turn on/off the enforcement of consistent polygon ordering. |
virtual void vtkPolyDataNormals::ConsistencyOn |
( |
|
) |
[virtual] |
|
|
Turn on/off the enforcement of consistent polygon ordering. |
virtual void vtkPolyDataNormals::ConsistencyOff |
( |
|
) |
[virtual] |
|
|
Turn on/off the enforcement of consistent polygon ordering. |
virtual void vtkPolyDataNormals::SetComputePointNormals |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off the computation of point normals. |
virtual int vtkPolyDataNormals::GetComputePointNormals |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of point normals. |
virtual void vtkPolyDataNormals::ComputePointNormalsOn |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of point normals. |
virtual void vtkPolyDataNormals::ComputePointNormalsOff |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of point normals. |
virtual void vtkPolyDataNormals::SetComputeCellNormals |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off the computation of cell normals. |
virtual int vtkPolyDataNormals::GetComputeCellNormals |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of cell normals. |
virtual void vtkPolyDataNormals::ComputeCellNormalsOn |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of cell normals. |
virtual void vtkPolyDataNormals::ComputeCellNormalsOff |
( |
|
) |
[virtual] |
|
|
Turn on/off the computation of cell normals. |
virtual void vtkPolyDataNormals::SetFlipNormals |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off the global flipping of normal orientation. Flipping reverves the meaning of front and back for Frontface and Backface culling in vtkProperty. Flipping modifies both the normal direction and the order of a cell's points. |
virtual int vtkPolyDataNormals::GetFlipNormals |
( |
|
) |
[virtual] |
|
|
Turn on/off the global flipping of normal orientation. Flipping reverves the meaning of front and back for Frontface and Backface culling in vtkProperty. Flipping modifies both the normal direction and the order of a cell's points. |
virtual void vtkPolyDataNormals::FlipNormalsOn |
( |
|
) |
[virtual] |
|
|
Turn on/off the global flipping of normal orientation. Flipping reverves the meaning of front and back for Frontface and Backface culling in vtkProperty. Flipping modifies both the normal direction and the order of a cell's points. |
virtual void vtkPolyDataNormals::FlipNormalsOff |
( |
|
) |
[virtual] |
|
|
Turn on/off the global flipping of normal orientation. Flipping reverves the meaning of front and back for Frontface and Backface culling in vtkProperty. Flipping modifies both the normal direction and the order of a cell's points. |
virtual void vtkPolyDataNormals::SetNonManifoldTraversal |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off traversal across non-manifold edges. This will prevent problems where the consistency of polygonal ordering is corrupted due to topological loops. |
virtual int vtkPolyDataNormals::GetNonManifoldTraversal |
( |
|
) |
[virtual] |
|
|
Turn on/off traversal across non-manifold edges. This will prevent problems where the consistency of polygonal ordering is corrupted due to topological loops. |
virtual void vtkPolyDataNormals::NonManifoldTraversalOn |
( |
|
) |
[virtual] |
|
|
Turn on/off traversal across non-manifold edges. This will prevent problems where the consistency of polygonal ordering is corrupted due to topological loops. |
virtual void vtkPolyDataNormals::NonManifoldTraversalOff |
( |
|
) |
[virtual] |
|
|
Turn on/off traversal across non-manifold edges. This will prevent problems where the consistency of polygonal ordering is corrupted due to topological loops. |
void vtkPolyDataNormals::Execute |
( |
|
) |
[protected, virtual] |
|
Member Data Documentation
float vtkPolyDataNormals::FeatureAngle [protected]
|
|
int vtkPolyDataNormals::Splitting [protected]
|
|
int vtkPolyDataNormals::Consistency [protected]
|
|
int vtkPolyDataNormals::FlipNormals [protected]
|
|
int vtkPolyDataNormals::NonManifoldTraversal [protected]
|
|
int vtkPolyDataNormals::ComputePointNormals [protected]
|
|
int vtkPolyDataNormals::ComputeCellNormals [protected]
|
|
int vtkPolyDataNormals::NumFlips [protected]
|
|
The documentation for this class was generated from the following file: