70 #ifndef __vtkProjectedTerrainPath_h
71 #define __vtkProjectedTerrainPath_h
73 #include "vtkFiltersHybridModule.h"
76 class vtkPriorityQueue;
87 void PrintSelf(ostream& os, vtkIndent indent);
98 void SetSourceData(vtkImageData *
source);
99 vtkImageData *GetSource();
107 enum {SIMPLE_PROJECTION=0,NONOCCLUDED_PROJECTION,HUG_PROJECTION};
117 vtkSetClampMacro(ProjectionMode,
int,SIMPLE_PROJECTION,HUG_PROJECTION);
118 vtkGetMacro(ProjectionMode,
int);
120 {this->SetProjectionMode(SIMPLE_PROJECTION);}
122 {this->SetProjectionMode(NONOCCLUDED_PROJECTION);}
124 {this->SetProjectionMode(HUG_PROJECTION);}
131 vtkSetMacro(HeightOffset,
double);
132 vtkGetMacro(HeightOffset,
double);
139 vtkSetClampMacro(HeightTolerance,
double,0.0,VTK_FLOAT_MAX);
140 vtkGetMacro(HeightTolerance,
double);
147 vtkSetClampMacro(MaximumNumberOfLines,vtkIdType,1,VTK_ID_MAX);
148 vtkGetMacro(MaximumNumberOfLines,vtkIdType);
155 virtual int RequestData(vtkInformation *, vtkInformationVector **,
156 vtkInformationVector *);
160 void GetImageIndex(
double x[3],
double loc[2],
int ij[2]);
161 double GetHeight(
double loc[2],
int ij[2]);
162 void ComputeError(vtkIdType edgeId);
163 void RemoveOcclusions();
165 void SplitEdge(vtkIdType eId,
double t);
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
project a polyline onto a terrain
void SetProjectionModeToSimple()
Proxy object to connect input/output ports.
vtkPriorityQueue * NegativeLineError
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
vtkIdType MaximumNumberOfLines
void SetProjectionModeToNonOccluded()
vtkPriorityQueue * PositiveLineError
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetProjectionModeToHug()