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;
47 virtual bool getTriangle(
double x,
double y,
Point3D* p1,
int* n1,
Point3D* p2,
int* n2,
Point3D* p3,
int* n3 ) = 0;
51 virtual int getOppositePoint(
int p1,
int p2 ) = 0;
53 virtual double getXMax()
const = 0;
55 virtual double getXMin()
const = 0;
57 virtual double getYMax()
const = 0;
59 virtual double getYMin()
const = 0;
61 virtual int getNumberOfPoints()
const = 0;
63 virtual QList<int>* getSurroundingTriangles(
int pointno ) = 0;
65 virtual QList<int>* getPointsAroundEdge(
double x,
double y ) = 0;
71 virtual void setEdgeColor(
int r,
int g,
int b ) = 0;
73 virtual void setForcedEdgeColor(
int r,
int g,
int b ) = 0;
75 virtual void setBreakEdgeColor(
int r,
int g,
int b ) = 0;
79 virtual void eliminateHorizontalTriangles() = 0;
81 virtual void ruppertRefinement() = 0;
83 virtual bool pointInside(
double x,
double y ) = 0;
89 virtual bool swapEdge(
double x,
double y ) = 0;
92 virtual bool saveAsShapefile(
const QString& fileName )
const = 0;