VTK
Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkPolygonalSurfaceContourLineInterpolator Class Reference

Contour interpolator for to place points on polygonal surfaces. More...

#include <vtkPolygonalSurfaceContourLineInterpolator.h>

Inheritance diagram for vtkPolygonalSurfaceContourLineInterpolator:
[legend]
Collaboration diagram for vtkPolygonalSurfaceContourLineInterpolator:
[legend]

Public Member Functions

virtual int InterpolateLine (vtkRenderer *ren, vtkContourRepresentation *rep, int idx1, int idx2)
virtual int UpdateNode (vtkRenderer *, vtkContourRepresentation *, double *vtkNotUsed(node), int vtkNotUsed(idx))
virtual void SetDistanceOffset (double)
virtual double GetDistanceOffset ()
- Public Member Functions inherited from vtkPolyDataContourLineInterpolator
virtual vtkPolyDataCollectionGetPolys ()
- Public Member Functions inherited from vtkContourLineInterpolator
virtual void GetSpan (int nodeIndex, vtkIntArray *nodeIndices, vtkContourRepresentation *rep)
- Public Member Functions inherited from vtkObject
virtual void DebugOn ()
virtual void DebugOff ()
unsigned char GetDebug ()
void SetDebug (unsigned char debugFlag)
virtual void Modified ()
virtual unsigned long GetMTime ()
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommandGetCommand (unsigned long tag)
void RemoveObserver (vtkCommand *)
void RemoveObservers (unsigned long event, vtkCommand *)
void RemoveObservers (const char *event, vtkCommand *)
int HasObserver (unsigned long event, vtkCommand *)
int HasObserver (const char *event, vtkCommand *)
void RemoveObserver (unsigned long tag)
void RemoveObservers (unsigned long event)
void RemoveObservers (const char *event)
void RemoveAllObservers ()
int HasObserver (unsigned long event)
int HasObserver (const char *event)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
int InvokeEvent (unsigned long event, void *callData)
int InvokeEvent (const char *event, void *callData)
int InvokeEvent (unsigned long event)
int InvokeEvent (const char *event)
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
virtual void Delete ()
virtual void FastDelete ()
void Print (ostream &os)
virtual void Register (vtkObjectBase *o)
virtual void UnRegister (vtkObjectBase *o)
void SetReferenceCount (int)
void PrintRevisions (ostream &os)
virtual void PrintHeader (ostream &os, vtkIndent indent)
virtual void PrintTrailer (ostream &os, vtkIndent indent)
int GetReferenceCount ()

Static Public Member Functions

static
vtkPolygonalSurfaceContourLineInterpolator
New ()
- Static Public Member Functions inherited from vtkPolyDataContourLineInterpolator

Protected Member Functions

 vtkPolygonalSurfaceContourLineInterpolator ()
 ~vtkPolygonalSurfaceContourLineInterpolator ()
- Protected Member Functions inherited from vtkPolyDataContourLineInterpolator
 vtkPolyDataContourLineInterpolator ()
 ~vtkPolyDataContourLineInterpolator ()
- Protected Member Functions inherited from vtkContourLineInterpolator
 vtkContourLineInterpolator ()
 ~vtkContourLineInterpolator ()
- Protected Member Functions inherited from vtkObject
 vtkObject ()
virtual ~vtkObject ()
virtual void RegisterInternal (vtkObjectBase *, int check)
virtual void UnRegisterInternal (vtkObjectBase *, int check)
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void InternalReleaseFocus ()
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void CollectRevisions (ostream &os)
virtual void ReportReferences (vtkGarbageCollector *)
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

Protected Attributes

double DistanceOffset
- Protected Attributes inherited from vtkPolyDataContourLineInterpolator
vtkPolyDataCollectionPolys
typedef
vtkPolyDataContourLineInterpolator 
Superclass
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
static int IsTypeOf (const char *type)
static
vtkPolygonalSurfaceContourLineInterpolator
SafeDownCast (vtkObject *o)

Additional Inherited Members

- Public Types inherited from vtkPolyDataContourLineInterpolator
typedef vtkContourLineInterpolator Superclass
- Public Types inherited from vtkContourLineInterpolator
typedef vtkObject Superclass
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
- Friends inherited from vtkObject

Detailed Description

Contour interpolator for to place points on polygonal surfaces.

vtkPolygonalSurfaceContourLineInterpolator interpolates and places contour points on polygonal surfaces. The class interpolates nodes by computing a graph geodesic lying on the polygonal data. By graph Geodesic, we mean that the line interpolating the two end points traverses along on the mesh edges so as to form the shortest path. A Dijkstra algorithm is used to compute the path. See vtkDijkstraGraphGeodesicPath.

The class is mean to be used in conjunction with vtkPolygonalSurfacePointPlacer. The reason for this weak coupling is a performance issue, both classes need to perform a cell pick, and coupling avoids multiple cell picks (cell picks are slow).

Warning
You should have computed cell normals for the input polydata.
See Also
vtkDijkstraGraphGeodesicPath, vtkPolyDataNormals
Tests:
vtkPolygonalSurfaceContourLineInterpolator (Tests)

Definition at line 49 of file vtkPolygonalSurfaceContourLineInterpolator.h.

Member Typedef Documentation

Standard methods for instances of this class.

Definition at line 54 of file vtkPolygonalSurfaceContourLineInterpolator.h.

Constructor & Destructor Documentation

vtkPolygonalSurfaceContourLineInterpolator::vtkPolygonalSurfaceContourLineInterpolator ( )
protected
vtkPolygonalSurfaceContourLineInterpolator::~vtkPolygonalSurfaceContourLineInterpolator ( )
protected

Member Function Documentation

virtual const char* vtkPolygonalSurfaceContourLineInterpolator::GetClassName ( )
virtual

Standard methods for instances of this class.

Reimplemented from vtkPolyDataContourLineInterpolator.

static int vtkPolygonalSurfaceContourLineInterpolator::IsTypeOf ( const char *  type)
static

Standard methods for instances of this class.

Reimplemented from vtkPolyDataContourLineInterpolator.

virtual int vtkPolygonalSurfaceContourLineInterpolator::IsA ( const char *  type)
virtual

Standard methods for instances of this class.

Reimplemented from vtkPolyDataContourLineInterpolator.

static vtkPolygonalSurfaceContourLineInterpolator* vtkPolygonalSurfaceContourLineInterpolator::SafeDownCast ( vtkObject o)
static

Standard methods for instances of this class.

Reimplemented from vtkPolyDataContourLineInterpolator.

void vtkPolygonalSurfaceContourLineInterpolator::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Standard methods for instances of this class.

Reimplemented from vtkPolyDataContourLineInterpolator.

static vtkPolygonalSurfaceContourLineInterpolator* vtkPolygonalSurfaceContourLineInterpolator::New ( )
static

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual int vtkPolygonalSurfaceContourLineInterpolator::InterpolateLine ( vtkRenderer ren,
vtkContourRepresentation rep,
int  idx1,
int  idx2 
)
virtual

Subclasses that wish to interpolate a line segment must implement this. For instance vtkBezierContourLineInterpolator adds nodes between idx1 and idx2, that allow the contour to adhere to a bezier curve.

Implements vtkPolyDataContourLineInterpolator.

virtual int vtkPolygonalSurfaceContourLineInterpolator::UpdateNode ( vtkRenderer ,
vtkContourRepresentation ,
double *  vtkNotUsednode,
int   vtkNotUsedidx 
)
virtual

The interpolator is given a chance to update the node. vtkImageContourLineInterpolator updates the idx'th node in the contour, so it automatically sticks to edges in the vicinity as the user constructs the contour. Returns 0 if the node (world position) is unchanged.

Implements vtkPolyDataContourLineInterpolator.

virtual void vtkPolygonalSurfaceContourLineInterpolator::SetDistanceOffset ( double  )
virtual

Height offset at which points may be placed on the polygonal surface. If you specify a non-zero value here, be sure to have computed vertex normals on your input polygonal data. (easily done with vtkPolyDataNormals).

virtual double vtkPolygonalSurfaceContourLineInterpolator::GetDistanceOffset ( )
virtual

Height offset at which points may be placed on the polygonal surface. If you specify a non-zero value here, be sure to have computed vertex normals on your input polygonal data. (easily done with vtkPolyDataNormals).

Member Data Documentation

double vtkPolygonalSurfaceContourLineInterpolator::DistanceOffset
protected

Draw the polyline at a certain height (in the direction of the vertex normal) above the polydata.

Definition at line 96 of file vtkPolygonalSurfaceContourLineInterpolator.h.


The documentation for this class was generated from the following file: