37 template<
class Triangulation>
40 const fileName& fName,
41 const Triangulation& t,
42 const indexedVertexEnum::vertexType startPointType,
43 const indexedVertexEnum::vertexType endPointType
49 <<
"Writing points of types ("
50 << int(startPointType) <<
"-" << int(endPointType)
51 <<
") to " << str.name() <<
endl;
55 typename Triangulation::Finite_vertices_iterator vit =
56 t.finite_vertices_begin();
57 vit != t.finite_vertices_end();
61 if (vit->type() >= startPointType && vit->type() <= endPointType)
69 template<
class Triangulation>
72 const fileName& fName,
73 const Triangulation& t,
74 const indexedVertexEnum::vertexType pointType
77 writeOBJ(fName, t, pointType, pointType);
81 template<
class Triangulation>
84 const fileName& fName,
85 const Triangulation& t
91 <<
"Writing fixed points to " << str.name() <<
endl;
95 typename Triangulation::Finite_vertices_iterator vit =
96 t.finite_vertices_begin();
97 vit != t.finite_vertices_end();
109 template<
class Triangulation>
112 const fileName& fName,
113 const Triangulation& t
119 <<
"Writing boundary points to " << str.name() <<
endl;
123 typename Triangulation::Finite_vertices_iterator vit =
124 t.finite_vertices_begin();
125 vit != t.finite_vertices_end();
129 if (!vit->internalPoint())
137 template<
class Triangulation>
140 const fileName& fName,
141 const Triangulation& t,
151 typename Triangulation::Finite_cells_iterator cit =
152 t.finite_cells_begin();
153 cit != t.finite_cells_end();
157 if (!cit->hasFarPoint() && !t.is_infinite(cit))
159 points[cit->cellIndex()] = cit->dual();
167 template<
class Triangulation>
170 const fileName& instance,
171 const Triangulation& t
174 pointField internalDelaunayVertices(t.number_of_vertices());
180 typename Triangulation::Finite_vertices_iterator vit =
181 t.finite_vertices_begin();
182 vit != t.finite_vertices_end();
186 if (vit->internalPoint())
188 internalDelaunayVertices[vertI++] =
topoint(vit->point());
192 internalDelaunayVertices.setSize(vertI);
198 "internalDelaunayVertices",
204 internalDelaunayVertices
208 <<
"Writing " << internalDVs.name()
209 <<
" to " << internalDVs.instance()
216 template<
class CellHandle>
227 os <<
"# cell index: " << label(
c->cellIndex())
228 <<
" INT_MIN = " << INT_MIN
231 os <<
"# circumradius "
235 for (
int i = 0; i < 4; i++)
237 os <<
"# index / type / procIndex: "
238 << label(
c->vertex(i)->index()) <<
" "
239 << label(
c->vertex(i)->type()) <<
" "
240 << label(
c->vertex(i)->procIndex())
244 ?
" # This vertex is uninitialised!"
252 os <<
"f " << 1 + offset <<
" " << 3 + offset <<
" " << 2 + offset <<
nl
253 <<
"f " << 2 + offset <<
" " << 3 + offset <<
" " << 4 + offset <<
nl
254 <<
"f " << 1 + offset <<
" " << 4 + offset <<
" " << 3 + offset <<
nl
255 <<
"f " << 1 + offset <<
" " << 2 + offset <<
" " << 4 + offset <<
endl;
265 template<
class Triangulation>
268 const Triangulation& t
276 typename Triangulation::Finite_vertices_iterator vit =
277 t.finite_vertices_begin();
278 vit != t.finite_vertices_end();
282 if (vit->internalOrBoundaryPoint() && !vit->referred())
284 pts[vit->index()] =
topoint(vit->point());