27 DAGTetrahedraTree(
const DAGTetrahedraTree&);
28 virtual ~DAGTetrahedraTree();
29 DAGTetrahedraTree& operator=(
const DAGTetrahedraTree&);
35 void setInitSizeFactor(
float);
40 bool isOK()
const {
return tetrahedras_.size(); }
49 bool insertPoint(
int pointidx,
int& dupid);
50 int insertPoint(
const Coord3&,
int& dupid);
51 char locationToTetrahedra(
const Coord3& checkpt,
52 const Coord3* v,
char& face,
53 int& dupididx,
int& edgeend0idx,
54 int& edgeend1idx,
double& dist)
const;
57 char searchTetrahedra(
const Coord3&);
96 void splitInitialBox(
int ci);
97 void splitTetrahedraInside(
int ci,
int ti);
98 void splitTetrahedraOnFace(
int ci,
int ti0,
int ti1,
char face);
99 void splitTetrahedraOnEdge(
int ci,
const TypeSet<int>& tis,
100 int& sharedv0,
int& sharedv1);
103 char searchTetrahedra(
int ci,
int start,
TypeSet<int>& tis,
char& face,
104 int& sharedv0,
int& sharedv1,
int& dupid)
const;
105 int searchFaceOnNeighbor(
int a,
int b,
int c,
int ti)
const;
106 int searchFaceOnChild(
int a,
int b,
int c,
int ti)
const;
107 int searchFaceOnList(
int ci,
int v0,
int v1,
int rep,
109 char location(
int ci,
int ti,
char& face,
int& dupid,
110 int& edgeend0,
int& edgeend1,
double& dist)
const;
112 const Coord3 planenormal,
bool& duponfirst,
113 double& signedsqdist)
const;
114 char locationToTriangle(
const Coord3& pt,
const Coord3& a,
116 double& closeedgedist,
char& dupid,
char& edgeidx)
const;
122 void addTriangle(
int v0,
int v1,
int v2,
TypeSet<int>& triangles)
const;
131 int coordindices_[4];
132 int childindices_[4];
#define mExpClass(module)
Definition: commondefs.h:157
Coord3 center_
Definition: delaunay3d.h:138
static char cNoVertex()
Definition: delaunay3d.h:71
float initsizefactor_
Definition: delaunay3d.h:143
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:51
TypeSet< Coord3 > * coordlist_
Definition: delaunay3d.h:137
#define od_int64
Definition: plftypes.h:34
int maxNrThreads() const
Definition: delaunay3d.h:160
DAGTetrahedraTree & tree_
Definition: delaunay3d.h:167
void setEpsilon(double err)
Definition: delaunay3d.h:70
Delaunay triangulation for 3D points. Should make sure all the points are defined.
Definition: delaunay3d.h:23
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:64
Delaunay triangulation for 3D points.
Definition: delaunay3d.h:151
static char cEdge12()
Definition: delaunay3d.h:80
static char cEdge20()
Definition: delaunay3d.h:81
3D point or vector
Definition: commontypes.h:57
Set of (small) copyable elements.
Definition: commontypes.h:26
static char cInitVertex0()
Definition: delaunay3d.h:91
static char cIsInside()
Definition: delaunay3d.h:75
Definition: delaunay3d.h:125
TypeSet< DAGTetrahedra > tetrahedras_
Definition: delaunay3d.h:136
double epsilon_
Definition: delaunay3d.h:142
void dataIsRandom(bool yn)
Definition: delaunay3d.h:156
static char cIsOutside()
Definition: delaunay3d.h:84
TypeSet< int > permutation_
Definition: delaunay3d.h:165
static char cNotOnPlane()
Definition: delaunay3d.h:86
static char cNoFace()
Definition: delaunay3d.h:90
static char cNoTetrahedra()
Definition: delaunay3d.h:89
bool isOK() const
Definition: delaunay3d.h:40
static char cEdge01()
Definition: delaunay3d.h:79
const TypeSet< Coord3 > & coordList() const
Definition: delaunay3d.h:32
static char cError()
Definition: delaunay3d.h:87
static char cNotOnEdge()
Definition: delaunay3d.h:85
float getInitSizeFactor() const
Definition: delaunay3d.h:38
static char cInitVertex2()
Definition: delaunay3d.h:93
static char cIsDuplicate()
Definition: delaunay3d.h:83
bool ownscoordlist_
Definition: delaunay3d.h:141
static char cIsOnFace()
Definition: delaunay3d.h:76
void copy(TypeSetBase< T, I > &to, const TypeSetBase< S, I > &from)
Definition: typeset.h:221
static char cInitVertex3()
Definition: delaunay3d.h:94
static char cInitVertex1()
Definition: delaunay3d.h:92
bool isDataRandom()
Definition: delaunay3d.h:155
bool israndom_
Definition: delaunay3d.h:166
static char cIsOnEdge()
Definition: delaunay3d.h:77