50 typedef std::unordered_multimap<Int32, std::pair<const Real3, Int64>> map_type;
52 typedef std::unordered_set<Int64> set_type;
53 static const Real TOLERANCE;
61 void init(
IMesh* mesh);
62 void init2(
IMesh* mesh);
68#ifdef ACTIVATE_PERF_COUNTER
85 MapCoordToUid(
IMesh* mesh);
92 void clear() { m_map.clear(); }
95 void updateNodeData(ArrayView<ItemInternal*> coarsen_cells);
96 void updateFaceData(ArrayView<ItemInternal*> coarsen_cells);
98 void clearNodeData(ArrayView<ItemInternal*> coarsen_cells);
99 void clearFaceData(ArrayView<ItemInternal*> coarsen_cells);
101 Int64 insert(
const Real3,
const Int64,
const Real tol = TOLERANCE);
102 void erase(
const Real3,
const Real tol = TOLERANCE);
104 bool empty()
const {
return m_map.empty(); }
106 Int64 find(
const Real3,
const Real tol = TOLERANCE);
108 bool areClose(Real3
const& p1, Real3
const& p2,
Real tol)
110 return Arcane::math::abs(p1.x - p2.x) +
111 Arcane::math::abs(p1.y - p2.y) +
112 Arcane::math::abs(p1.z - p2.z) <=
116#ifdef ACTIVATE_PERF_COUNTER
117 PerfCounterMng<PerfCounter>& getPerfCounter()
119 return m_perf_counter;
124 Int64 key(
const Real3);
132#ifdef ACTIVATE_PERF_COUNTER
133 PerfCounterMng<PerfCounter> m_perf_counter;