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

project a polyline onto a terrain More...

#include <vtkProjectedTerrainPath.h>

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

Public Types

enum  { SIMPLE_PROJECTION =0, NONOCCLUDED_PROJECTION, HUG_PROJECTION }
 
- Public Types inherited from vtkPolyDataAlgorithm
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
typedef vtkObject Superclass
 
enum  DesiredOutputPrecision { SINGLE_PRECISION, DOUBLE_PRECISION, DEFAULT_PRECISION }
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

void SetSourceConnection (vtkAlgorithmOutput *algOutput)
 
void SetSourceData (vtkImageData *source)
 
vtkImageDataGetSource ()
 
virtual void SetProjectionMode (int)
 
virtual int GetProjectionMode ()
 
void SetProjectionModeToSimple ()
 
void SetProjectionModeToNonOccluded ()
 
void SetProjectionModeToHug ()
 
virtual void SetHeightOffset (double)
 
virtual double GetHeightOffset ()
 
virtual void SetHeightTolerance (double)
 
virtual double GetHeightTolerance ()
 
virtual void SetMaximumNumberOfLines (vtkIdType)
 
virtual vtkIdType GetMaximumNumberOfLines ()
 
- Public Member Functions inherited from vtkPolyDataAlgorithm
vtkPolyDataAlgorithmNewInstance () const
 
vtkDataObjectGetInput ()
 
vtkDataObjectGetInput (int port)
 
vtkPolyDataGetPolyDataInput (int port)
 
vtkPolyDataGetOutput ()
 
vtkPolyDataGetOutput (int)
 
virtual void SetOutput (vtkDataObject *d)
 
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
void AddInputData (vtkDataObject *)
 
void AddInputData (int, vtkDataObject *)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutiveGetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformationGetInputPortInformation (int port)
 
vtkInformationGetOutputPortInformation (int port)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void UpdateProgress (double amount)
 
vtkInformationGetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObjectGetOutputDataObject (int port)
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutputGetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkExecutiveGetInputExecutive (int port, int index)
 
vtkInformationGetInputInformation (int port, int index)
 
vtkInformationGetOutputInformation (int port)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int extent[6])
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
 
virtual vtkInformationGetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void SetProgressText (const char *ptext)
 
virtual char * GetProgressText ()
 
virtual unsigned long GetErrorCode ()
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 
vtkDataObjectGetInputDataObject (int port, int connection)
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutputGetOutputPort (int index)
 
vtkAlgorithmOutputGetOutputPort ()
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutiveGetInputExecutive ()
 
vtkInformationGetInputInformation ()
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int extent[6])
 
intGetUpdateExtent ()
 
intGetUpdateExtent (int port)
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int extent[6])
 
void GetUpdateExtent (int port, int extent[6])
 
int GetUpdatePiece ()
 
int GetUpdatePiece (int port)
 
int GetUpdateNumberOfPieces ()
 
int GetUpdateNumberOfPieces (int port)
 
int GetUpdateGhostLevel ()
 
int GetUpdateGhostLevel (int port)
 
void SetProgressObserver (vtkProgressObserver *)
 
virtual vtkProgressObserverGetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool 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)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(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)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkProjectedTerrainPathNew ()
 
- Static Public Member Functions inherited from vtkPolyDataAlgorithm
static vtkPolyDataAlgorithmNew ()
 
static int IsTypeOf (const char *type)
 
static vtkPolyDataAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static int IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyINPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKeyINPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKeyINPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKeyINPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKeyINPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKeyINPUT_PORT ()
 
static vtkInformationIntegerKeyINPUT_CONNECTION ()
 
static vtkInformationIntegerKeyCAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKeyCAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

 vtkProjectedTerrainPath ()
 
 ~vtkProjectedTerrainPath ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 
void GetImageIndex (double x[3], double loc[2], int ij[2])
 
double GetHeight (double loc[2], int ij[2])
 
void ComputeError (vtkIdType edgeId)
 
void RemoveOcclusions ()
 
void HugTerrain ()
 
void SplitEdge (vtkIdType eId, double t)
 
- Protected Member Functions inherited from vtkPolyDataAlgorithm
 vtkPolyDataAlgorithm ()
 
 ~vtkPolyDataAlgorithm ()
 
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 
 ~vtkAlgorithm ()
 
virtual void SetNumberOfInputPorts (int n)
 
virtual void SetNumberOfOutputPorts (int n)
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 
virtual vtkExecutiveCreateDefaultExecutive ()
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
virtual void SetErrorCode (unsigned long)
 
- 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 &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int ProjectionMode
 
double HeightOffset
 
double HeightTolerance
 
vtkIdType MaximumNumberOfLines
 
int Dimensions [3]
 
int Extent [6]
 
double Origin [3]
 
double Spacing [3]
 
vtkDataArrayHeights
 
vtkPointsPoints
 
vtkIdType NumLines
 
vtkPriorityQueuePositiveLineError
 
vtkPriorityQueueNegativeLineError
 
vtkEdgeList * EdgeList
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformationInformation
 
double Progress
 
char * ProgressText
 
vtkProgressObserverProgressObserver
 
unsigned long ErrorCode
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
typedef vtkPolyDataAlgorithm Superclass
 
static int IsTypeOf (const char *type)
 
static vtkProjectedTerrainPathSafeDownCast (vtkObjectBase *o)
 
virtual int IsA (const char *type)
 
vtkProjectedTerrainPathNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual vtkObjectBaseNewInstanceInternal () const
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKeyPORT_REQUIREMENTS_FILLED ()
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutiveDefaultExecutivePrototype
 

Detailed Description

project a polyline onto a terrain

vtkProjectedTerrainPath projects an input polyline onto a terrain. (The terrain is defined by a 2D height image and is the second input to the filter.) The polyline projection is controlled via several modes as follows. 1) Simple mode projects the polyline points onto the terrain, taking into account the height offset instance variable. 2) Non-occluded mode insures that no parts of the polyline are occluded by the terrain (e.g. a line passes through a mountain). This may require recursive subdivision of the polyline. 3) Hug mode insures that the polyine points remain within a constant distance from the surface. This may also require recursive subdivision of the polyline. Note that both non-occluded mode and hug mode also take into account the height offset, so it is possible to create paths that hug terrain a certain distance above it. To use this filter, define two inputs: 1) a polyline, and 2) an image whose scalar values represent a height field. Then specify the mode, and the height offset to use.

An description of the algorithm is as follows. The filter begins by projecting the polyline points to the image (offset by the specified height offset). If the mode is non-occluded or hug, then the maximum error along each line segment is computed and placed into a priority queue. Each line segment is then split at the point of maximum error, and the two new line segments are evaluated for maximum error. This process continues until the line is not occluded by the terrain (non-occluded mode) or satisfies the error on variation from the surface (hug mode). (Note this process is repeated for each polyline in the input. Also, the maximum error is computed in two parts: a maximum positive error and maximum negative error. If the polyline is above the terrain–i.e., the height offset is positive–in non-occluded or hug mode all negative errors are eliminated. If the polyline is below the terrain–i.e., the height offset is negative–in non-occluded or hug mode all positive errors are eliminated.)

Warning
This algorithm requires the entire input image to be in memory, hence it may not work for extremely large images.
The input height image is assumed to be positioned in the x-y plane so the scalar value is the z-coordinate, height value.
A priority queue is used so that the 1) the total number of line segments can be controlled, and 2) the algorithm can terminate when the errors in the queue are less than the specified error tolerance.
See also
vtkGreedyTerrainDecimation
Tests:
vtkProjectedTerrainPath (Tests)

Definition at line 81 of file vtkProjectedTerrainPath.h.

Member Typedef Documentation

Standard methids for printing and determining type information.

Definition at line 86 of file vtkProjectedTerrainPath.h.

Member Enumeration Documentation

anonymous enum
Enumerator
SIMPLE_PROJECTION 
NONOCCLUDED_PROJECTION 
HUG_PROJECTION 

Definition at line 107 of file vtkProjectedTerrainPath.h.

Constructor & Destructor Documentation

vtkProjectedTerrainPath::vtkProjectedTerrainPath ( )
protected
vtkProjectedTerrainPath::~vtkProjectedTerrainPath ( )
protected

Member Function Documentation

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

Standard methids for printing and determining type information.

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

Standard methids for printing and determining type information.

Reimplemented from vtkPolyDataAlgorithm.

static vtkProjectedTerrainPath* vtkProjectedTerrainPath::SafeDownCast ( vtkObjectBase o)
static

Standard methids for printing and determining type information.

virtual vtkObjectBase* vtkProjectedTerrainPath::NewInstanceInternal ( ) const
protectedvirtual

Standard methids for printing and determining type information.

Reimplemented from vtkPolyDataAlgorithm.

vtkProjectedTerrainPath* vtkProjectedTerrainPath::NewInstance ( ) const

Standard methids for printing and determining type information.

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

Standard methids for printing and determining type information.

Reimplemented from vtkPolyDataAlgorithm.

static vtkProjectedTerrainPath* vtkProjectedTerrainPath::New ( )
static

Instantiate the class.

void vtkProjectedTerrainPath::SetSourceData ( vtkImageData source)

Specify the second input (the terrain) onto which the polyline(s) should be projected. Note: This assigns a data object as the input terrain. To establish a pipeline connection, use SetSourceConnection() method.

vtkImageData* vtkProjectedTerrainPath::GetSource ( )

Specify the second input (the terrain) onto which the polyline(s) should be projected. Note: This assigns a data object as the input terrain. To establish a pipeline connection, use SetSourceConnection() method.

void vtkProjectedTerrainPath::SetSourceConnection ( vtkAlgorithmOutput algOutput)

Specify the second input (the terrain) onto which the polyline(s) should be projected. Note: vtkImageData* is required

virtual void vtkProjectedTerrainPath::SetProjectionMode ( int  )
virtual

Determine how to control the projection process. Simple projection just projects the original polyline points. Non-occluded projection insures that the polyline does not intersect the terrain surface. Hug projection is similar to non-occulded projection except that produces a path that is nearly parallel to the terrain (within the user specified height tolerance).

virtual int vtkProjectedTerrainPath::GetProjectionMode ( )
virtual

Determine how to control the projection process. Simple projection just projects the original polyline points. Non-occluded projection insures that the polyline does not intersect the terrain surface. Hug projection is similar to non-occulded projection except that produces a path that is nearly parallel to the terrain (within the user specified height tolerance).

void vtkProjectedTerrainPath::SetProjectionModeToSimple ( )
inline

Determine how to control the projection process. Simple projection just projects the original polyline points. Non-occluded projection insures that the polyline does not intersect the terrain surface. Hug projection is similar to non-occulded projection except that produces a path that is nearly parallel to the terrain (within the user specified height tolerance).

Definition at line 119 of file vtkProjectedTerrainPath.h.

void vtkProjectedTerrainPath::SetProjectionModeToNonOccluded ( )
inline

Determine how to control the projection process. Simple projection just projects the original polyline points. Non-occluded projection insures that the polyline does not intersect the terrain surface. Hug projection is similar to non-occulded projection except that produces a path that is nearly parallel to the terrain (within the user specified height tolerance).

Definition at line 121 of file vtkProjectedTerrainPath.h.

void vtkProjectedTerrainPath::SetProjectionModeToHug ( )
inline

Determine how to control the projection process. Simple projection just projects the original polyline points. Non-occluded projection insures that the polyline does not intersect the terrain surface. Hug projection is similar to non-occulded projection except that produces a path that is nearly parallel to the terrain (within the user specified height tolerance).

Definition at line 123 of file vtkProjectedTerrainPath.h.

virtual void vtkProjectedTerrainPath::SetHeightOffset ( double  )
virtual

This is the height above (or below) the terrain that the projected path should be. Positive values indicate distances above the terrain; negative values indicate distances below the terrain.

virtual double vtkProjectedTerrainPath::GetHeightOffset ( )
virtual

This is the height above (or below) the terrain that the projected path should be. Positive values indicate distances above the terrain; negative values indicate distances below the terrain.

virtual void vtkProjectedTerrainPath::SetHeightTolerance ( double  )
virtual

This is the allowable variation in the altitude of the path with respect to the variation in the terrain. It only comes into play if the hug projection mode is enabled.

virtual double vtkProjectedTerrainPath::GetHeightTolerance ( )
virtual

This is the allowable variation in the altitude of the path with respect to the variation in the terrain. It only comes into play if the hug projection mode is enabled.

virtual void vtkProjectedTerrainPath::SetMaximumNumberOfLines ( vtkIdType  )
virtual

This instance variable can be used to limit the total number of line segments created during subdivision. Note that the number of input line segments will be the minimum number that cab be output.

virtual vtkIdType vtkProjectedTerrainPath::GetMaximumNumberOfLines ( )
virtual

This instance variable can be used to limit the total number of line segments created during subdivision. Note that the number of input line segments will be the minimum number that cab be output.

virtual int vtkProjectedTerrainPath::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
)
protectedvirtual

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkProjectedTerrainPath::FillInputPortInformation ( int  port,
vtkInformation info 
)
protectedvirtual

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkPolyDataAlgorithm.

void vtkProjectedTerrainPath::GetImageIndex ( double  x[3],
double  loc[2],
int  ij[2] 
)
protected
double vtkProjectedTerrainPath::GetHeight ( double  loc[2],
int  ij[2] 
)
protected
void vtkProjectedTerrainPath::ComputeError ( vtkIdType  edgeId)
protected
void vtkProjectedTerrainPath::RemoveOcclusions ( )
protected
void vtkProjectedTerrainPath::HugTerrain ( )
protected
void vtkProjectedTerrainPath::SplitEdge ( vtkIdType  eId,
double  t 
)
protected

Member Data Documentation

int vtkProjectedTerrainPath::ProjectionMode
protected

Definition at line 168 of file vtkProjectedTerrainPath.h.

double vtkProjectedTerrainPath::HeightOffset
protected

Definition at line 169 of file vtkProjectedTerrainPath.h.

double vtkProjectedTerrainPath::HeightTolerance
protected

Definition at line 170 of file vtkProjectedTerrainPath.h.

vtkIdType vtkProjectedTerrainPath::MaximumNumberOfLines
protected

Definition at line 171 of file vtkProjectedTerrainPath.h.

int vtkProjectedTerrainPath::Dimensions[3]
protected

Definition at line 174 of file vtkProjectedTerrainPath.h.

int vtkProjectedTerrainPath::Extent[6]
protected

Definition at line 175 of file vtkProjectedTerrainPath.h.

double vtkProjectedTerrainPath::Origin[3]
protected

Definition at line 176 of file vtkProjectedTerrainPath.h.

double vtkProjectedTerrainPath::Spacing[3]
protected

Definition at line 177 of file vtkProjectedTerrainPath.h.

vtkDataArray* vtkProjectedTerrainPath::Heights
protected

Definition at line 178 of file vtkProjectedTerrainPath.h.

vtkPoints* vtkProjectedTerrainPath::Points
protected

Definition at line 179 of file vtkProjectedTerrainPath.h.

vtkIdType vtkProjectedTerrainPath::NumLines
protected

Definition at line 180 of file vtkProjectedTerrainPath.h.

vtkPriorityQueue* vtkProjectedTerrainPath::PositiveLineError
protected

Definition at line 184 of file vtkProjectedTerrainPath.h.

vtkPriorityQueue* vtkProjectedTerrainPath::NegativeLineError
protected

Definition at line 185 of file vtkProjectedTerrainPath.h.

vtkEdgeList* vtkProjectedTerrainPath::EdgeList
protected

Definition at line 188 of file vtkProjectedTerrainPath.h.


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