17 #ifndef TRIANGULATION_H 18 #define TRIANGULATION_H 44 virtual void addLine(
Line3D* line,
bool breakline ) = 0;
50 virtual int addPoint(
Point3D* p ) = 0;
56 virtual bool calcNormal(
double x,
double y,
Vector3D* result ) = 0;
59 virtual void performConsistencyTest() = 0;
65 virtual bool calcPoint(
double x,
double y,
Point3D* result ) = 0;
68 virtual Point3D* getPoint(
unsigned int i )
const = 0;
73 virtual bool getTriangle(
double x,
double y,
Point3D* p1,
int* n1,
Point3D* p2,
int* n2,
Point3D* p3,
int* n3 ) = 0;
79 virtual int getOppositePoint(
int p1,
int p2 ) = 0;
82 virtual double getXMax()
const = 0;
85 virtual double getXMin()
const = 0;
88 virtual double getYMax()
const = 0;
91 virtual double getYMin()
const = 0;
94 virtual int getNumberOfPoints()
const = 0;
103 virtual QList<int>* getSurroundingTriangles(
int pointno ) = 0;
110 virtual QList<int>* getPointsAroundEdge(
double x,
double y ) = 0;
119 virtual void setEdgeColor(
int r,
int g,
int b ) = 0;
122 virtual void setForcedEdgeColor(
int r,
int g,
int b ) = 0;
125 virtual void setBreakEdgeColor(
int r,
int g,
int b ) = 0;
131 virtual void eliminateHorizontalTriangles() = 0;
134 virtual void ruppertRefinement() = 0;
137 virtual bool pointInside(
double x,
double y ) = 0;
146 virtual bool swapEdge(
double x,
double y ) = 0;
152 virtual bool saveAsShapefile(
const QString& fileName )
const = 0;
the status of the first inserted forced line is reset to that of a normal edge (so that the second in...
This class represents a line.
forcedCrossBehaviour
Enumeration describing the behaviour, if two forced lines cross.
Point3D is a class to represent a three dimensional point.
Class Vector3D represents a 3D-Vector, capable to store x-,y- and z-coordinates in double values...
This is an interface for interpolator classes for triangulations.
Interface for Triangulation classes.
the second inserted forced line is snapped to the closest vertice of the first inserted forced line...