29 DAGTetrahedraTree(
const DAGTetrahedraTree&);
30 virtual ~DAGTetrahedraTree();
31 DAGTetrahedraTree& operator=(
const DAGTetrahedraTree&);
37 void setInitSizeFactor(
float);
42 bool isOK()
const {
return tetrahedras_.size(); }
51 bool insertPoint(
int pointidx,
int& dupid);
52 int insertPoint(
const Coord3&,
int& dupid);
53 char locationToTetrahedra(
const Coord3& checkpt,
54 const Coord3* v,
char& face,
55 int& dupididx,
int& edgeend0idx,
56 int& edgeend1idx,
double& dist)
const;
59 char searchTetrahedra(
const Coord3&);
98 void splitInitialBox(
int ci);
99 void splitTetrahedraInside(
int ci,
int ti);
100 void splitTetrahedraOnFace(
int ci,
int ti0,
int ti1,
char face);
101 void splitTetrahedraOnEdge(
int ci,
const TypeSet<int>& tis,
102 int& sharedv0,
int& sharedv1);
105 char searchTetrahedra(
int ci,
int start,
TypeSet<int>& tis,
char& face,
106 int& sharedv0,
int& sharedv1,
int& dupid)
const;
107 int searchFaceOnNeighbor(
int a,
int b,
int c,
int ti)
const;
108 int searchFaceOnChild(
int a,
int b,
int c,
int ti)
const;
109 int searchFaceOnList(
int ci,
int v0,
int v1,
int rep,
111 char location(
int ci,
int ti,
char& face,
int& dupid,
112 int& edgeend0,
int& edgeend1,
double& dist)
const;
114 const Coord3 planenormal,
bool& duponfirst,
115 double& signedsqdist)
const;
116 char locationToTriangle(
const Coord3& pt,
const Coord3& a,
118 double& closeedgedist,
char& dupid,
char& edgeidx)
const;
124 void addTriangle(
int v0,
int v1,
int v2,
TypeSet<int>& triangles)
const;
133 int coordindices_[4];
134 int childindices_[4];
#define mExpClass(module)
Definition: commondefs.h:160
Coord3 center_
Definition: delaunay3d.h:140
static char cNoVertex()
Definition: delaunay3d.h:73
float initsizefactor_
Definition: delaunay3d.h:145
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:53
TypeSet< Coord3 > * coordlist_
Definition: delaunay3d.h:139
#define od_int64
Definition: plftypes.h:36
int maxNrThreads() const
Definition: delaunay3d.h:162
DAGTetrahedraTree & tree_
Definition: delaunay3d.h:169
void setEpsilon(double err)
Definition: delaunay3d.h:72
Delaunay triangulation for 3D points. Should make sure all the points are defined.
Definition: delaunay3d.h:25
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
Delaunay triangulation for 3D points.
Definition: delaunay3d.h:153
static char cEdge12()
Definition: delaunay3d.h:82
static char cEdge20()
Definition: delaunay3d.h:83
static char cInitVertex0()
Definition: delaunay3d.h:93
static char cIsInside()
Definition: delaunay3d.h:77
Definition: delaunay3d.h:127
TypeSet< DAGTetrahedra > tetrahedras_
Definition: delaunay3d.h:138
double epsilon_
Definition: delaunay3d.h:144
void dataIsRandom(bool yn)
Definition: delaunay3d.h:158
static char cIsOutside()
Definition: delaunay3d.h:86
TypeSet< int > permutation_
Definition: delaunay3d.h:167
static char cNotOnPlane()
Definition: delaunay3d.h:88
static char cNoFace()
Definition: delaunay3d.h:92
static char cNoTetrahedra()
Definition: delaunay3d.h:91
A cartesian coordinate in 3D space.
Definition: coord.h:72
bool isOK() const
Definition: delaunay3d.h:42
static char cEdge01()
Definition: delaunay3d.h:81
const TypeSet< Coord3 > & coordList() const
Definition: delaunay3d.h:34
static char cError()
Definition: delaunay3d.h:89
static char cNotOnEdge()
Definition: delaunay3d.h:87
float getInitSizeFactor() const
Definition: delaunay3d.h:40
static char cInitVertex2()
Definition: delaunay3d.h:95
static char cIsDuplicate()
Definition: delaunay3d.h:85
bool ownscoordlist_
Definition: delaunay3d.h:143
static char cIsOnFace()
Definition: delaunay3d.h:78
void copy(TypeSetBase< T, I > &to, const TypeSetBase< S, I > &from)
Definition: typeset.h:212
static char cInitVertex3()
Definition: delaunay3d.h:96
static char cInitVertex1()
Definition: delaunay3d.h:94
bool isDataRandom()
Definition: delaunay3d.h:157
bool israndom_
Definition: delaunay3d.h:168
static char cIsOnEdge()
Definition: delaunay3d.h:79