33 #ifndef __H__UG_problem_detection_util_impl
34 #define __H__UG_problem_detection_util_impl
41 template <
class TIter,
class TAAPos>
42 size_t FindSlivers(std::vector<typename TIter::value_type>& sliversOut,
43 TIter elemsBegin, TIter elemsEnd,
number thresholdRatio,
44 TAAPos aaPos,
bool clearContainer)
51 size_t numInitialSlivers = sliversOut.size();
52 for(TIter iter = elemsBegin; iter != elemsEnd; ++iter){
56 (
IsSliver(aaPos[v[0]], aaPos[v[1]], aaPos[v[2]], aaPos[v[3]], thresholdRatio) != -1))
58 sliversOut.push_back(e);
62 return sliversOut.size() - numInitialSlivers;
Vertex *const * ConstVertexArray
Definition: grid_base_objects.h:319
double number
Definition: types.h:124
@ ROID_TETRAHEDRON
Definition: grid_base_objects.h:80
int IsSliver(const vector3 &v0, const vector3 &v1, const vector3 &v2, const vector3 &v3, number thresholdRatio)
Definition: problem_detection_util.cpp:42
size_t FindSlivers(std::vector< typename TIter::value_type > &sliversOut, TIter elemsBegin, TIter elemsEnd, number thresholdRatio, TAAPos aaPos, bool clearContainer=true)
Searchs for slivers in the given list of elements.
Definition: problem_detection_util_impl.h:42
T value_type
Definition: sparsematrix_interface.h:2