33 #ifndef __H__UG__resolve_intersections__
34 #define __H__UG__resolve_intersections__
40 template <
class TAAPosVRT>
42 Edge* e, TAAPosVRT& aaPos,
50 template <
class TAAPosVRT>
52 Face* f, TAAPosVRT& aaPos,
54 std::vector<Face*>* pNewFacesOut);
61 template <
class TAAPosVRT>
63 TAAPosVRT& aaPos,
number snapThreshold);
70 template <
class TAAPosVRT>
72 TAAPosVRT& aaPos,
number snapThreshold);
80 template <
class TAAPosVRT>
89 template <
class TObjectCollection,
class TAPos>
91 TObjectCollection& elems,
98 template <
class TObjectCollection,
class TAAPosVRT>
100 TObjectCollection& elems,
107 template <
class TAAPosVRT>
109 const typename TAAPosVRT::ValueType& p,
110 TAAPosVRT& aaPos,
number snapThreshold);
113 template <
class TAAPosVRT>
115 TAAPosVRT& aaPos,
number snapThreshold);
118 template <
class TAAPosVRT,
class vector_t>
120 TAAPosVRT& aaPos,
number snapThreshold,
126 template <
class TAPos>
Manages the elements of a grid and their interconnection.
Definition: grid.h:132
a helper class that holds a collection of possibly unconnected geometric-objects.
Definition: grid_object_collection.h:96
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
double number
Definition: types.h:124
int FindClosestVertexInPointSet(const vector_t *pointSet, const Vertex *p, TAAPosVRT &aaPos, number snapThreshold, size_t numPoints)
returns the index of the closest vertex to p if closer than snapThreshold
Definition: resolve_intersections_impl.hpp:1039
bool ProjectVerticesToCloseEdges(Grid &grid, GridObjectCollection elems, TAAPosVRT &aaPos, number snapThreshold)
bool ResolveVertexFaceIntersection(Grid &grid, Vertex *v, Face *f, TAAPosVRT &aaPos, number snapThreshold, std::vector< Face * > *pNewFacesOut)
Definition: resolve_intersections_impl.hpp:188
Vertex * ResolveEdgeEdgeIntersection(Grid &grid, Edge *e1, Edge *e2, TAAPosVRT &aaPos, number snapThreshold)
Definition: resolve_intersections_impl.hpp:417
geometry_traits< Triangle >::iterator TriangleIterator
Definition: grid_objects_2d.h:211
int FindCloseVertexInArray(const std::vector< Vertex * > &array, const typename TAAPosVRT::ValueType &p, TAAPosVRT &aaPos, number snapThreshold)
returns the index of the first vertex closer to p than snapThreshold.
int FindClosestVertexInArray(const std::vector< Vertex * > &array, const Vertex *p, TAAPosVRT &aaPos, number snapThreshold)
returns the index of the closest vertex to p if closer than snapThreshold.
bool IntersectCloseEdges(Grid &grid, TObjectCollection &elems, TAAPosVRT &aaPos, number snapThreshold)
Definition: resolve_intersections_impl.hpp:932
bool ResolveEdgeFaceIntersection(Grid &grid, Edge *e, Face *f, TAAPosVRT &aaPos, number snapThreshold)
Definition: resolve_intersections_impl.hpp:477
Vertex * ResolveVertexEdgeIntersection(Grid &grid, Vertex *v, Edge *e, TAAPosVRT &aaPos, number snapThreshold)
Definition: resolve_intersections_impl.hpp:137
bool ResolveTriangleIntersections(Grid &grid, TriangleIterator trisBegin, TriangleIterator trisEnd, number snapThreshold, TAPos &aPos)
Definition: resolve_intersections_impl.hpp:1353
bool ProjectVerticesToCloseFaces(Grid &grid, TObjectCollection &elems, TAPos &aPos, number snapThreshold)
Definition: resolve_intersections_impl.hpp:826