17 #ifndef TRIANGULATION_H
18 #define TRIANGULATION_H
35 virtual void addLine(
Line3D* line,
bool breakline ) = 0;
37 virtual int addPoint(
Point3D* p ) = 0;
39 virtual bool calcNormal(
double x,
double y,
Vector3D* result ) = 0;
41 virtual void performConsistencyTest() = 0;
43 virtual bool calcPoint(
double x,
double y,
Point3D* result ) = 0;
45 virtual Point3D* getPoint(
unsigned int i )
const = 0;
48 virtual bool getTriangle(
double x,
double y,
Point3D* p1,
int* n1,
Point3D* p2,
int* n2,
Point3D* p3,
int* n3 ) = 0;
52 virtual int getOppositePoint(
int p1,
int p2 ) = 0;
54 virtual double getXMax()
const = 0;
56 virtual double getXMin()
const = 0;
58 virtual double getYMax()
const = 0;
60 virtual double getYMin()
const = 0;
62 virtual int getNumberOfPoints()
const = 0;
64 virtual QList<int>* getSurroundingTriangles(
int pointno ) = 0;
66 virtual QList<int>* getPointsAroundEdge(
double x,
double y ) = 0;
72 virtual void setEdgeColor(
int r,
int g,
int b ) = 0;
74 virtual void setForcedEdgeColor(
int r,
int g,
int b ) = 0;
76 virtual void setBreakEdgeColor(
int r,
int g,
int b ) = 0;
80 virtual void eliminateHorizontalTriangles() = 0;
82 virtual void ruppertRefinement() = 0;
84 virtual bool pointInside(
double x,
double y ) = 0;
90 virtual bool swapEdge(
double x,
double y ) = 0;
93 virtual bool saveAsShapefile(
const QString& fileName )
const = 0;