00001
00002
00008 #if !defined(__geom_mesh_iss_distinct_points_h__)
00009 #define __geom_mesh_iss_distinct_points_h__
00010
00011 #include "IndSimpSet.h"
00012
00013 #include "../../kernel/BBox.h"
00014 #include "../../orq/CellArray.h"
00015
00016 #include <iostream>
00017 #include <vector>
00018
00019 #include <cassert>
00020
00021 BEGIN_NAMESPACE_GEOM
00022
00023
00024
00027
00029
00045 template<int N, typename PtForIter, typename PtOutIter, typename IntOutIter,
00046 typename T>
00047 void
00048 buildDistinctPoints(PtForIter pointsBeginning, PtForIter pointsEnd,
00049 PtOutIter distinctPointsOutput,
00050 IntOutIter indicesOutput,
00051 const T minDistance);
00052
00053
00055
00071 template<int N, typename PtForIter, typename PtOutIter, typename IntOutIter>
00072 void
00073 buildDistinctPoints(PtForIter pointsBeginning, PtForIter pointsEnd,
00074 PtOutIter distinctPoints, IntOutIter indices);
00075
00076
00078 template<int N, int M, bool A, typename T, typename V, typename IS>
00079 void
00080 removeDuplicateVertices(IndSimpSet<N,M,A,T,V,IS>* x, T minDistance);
00081
00082
00084
00088 template<int N, int M, bool A, typename T, typename V, typename IS>
00089 void
00090 removeDuplicateVertices(IndSimpSet<N,M,A,T,V,IS>* x);
00091
00093
00094 END_NAMESPACE_GEOM
00095
00096 #define __geom_mesh_iss_distinct_points_ipp__
00097 #include "distinct_points.ipp"
00098 #undef __geom_mesh_iss_distinct_points_ipp__
00099
00100 #endif