37 #ifndef NEKTAR_SPATIALDOMAINS_GEOMETRY_H
38 #define NEKTAR_SPATIALDOMAINS_GEOMETRY_H
43 #include <boost/unordered_set.hpp>
44 #include <boost/functional/hash.hpp>
45 #include <boost/shared_ptr.hpp>
50 namespace SpatialDomains
55 typedef boost::unordered_set< GeometrySharedPtr >
GeometrySet;
65 const boost::shared_ptr<Geometry>& rhs);
68 const boost::shared_ptr<Geometry>& rhs);
101 const Array<OneD, const LibUtilities::BasisSharedPtr>& tbasis);
123 const Array<OneD, const NekDouble>& gloCoord,
126 const Array<OneD, const NekDouble>& gloCoord,
127 Array<OneD, NekDouble> &locCoord,
130 const Array<OneD, const NekDouble>& gloCoord,
131 Array<OneD, NekDouble> &locCoord,
140 const Array<OneD, const NekDouble> &coords,
141 Array<OneD, NekDouble> &Lcoords);
143 const int i,
const Array<OneD, const NekDouble> &Lcoord);
205 const Array<OneD, const NekDouble>& gloCoord,
208 const Array<OneD, const NekDouble>& gloCoord,
209 Array<OneD, NekDouble>& locCoord,
212 const Array<OneD, const NekDouble>& gloCoord,
213 Array<OneD, NekDouble>& locCoord,
224 const Array<OneD,const NekDouble>& Lcoord);
226 const Array<OneD,const NekDouble>& coords,
227 Array<OneD,NekDouble>& Lcoords);
237 struct GeometryHash : std::unary_function<GeometrySharedPtr, std::size_t>
243 int nVert = p->GetNumVerts();
244 std::vector<unsigned int> ids(nVert);
246 for (i = 0; i < nVert; ++i)
248 ids[i] = p->GetVid(i);
250 std::sort(ids.begin(), ids.end());
251 boost::hash_range(seed, ids.begin(), ids.end());
365 const Array<OneD, const NekDouble>& gloCoord,
372 const Array<OneD, const NekDouble>& gloCoord,
373 Array<OneD, NekDouble> &locCoord,
380 const Array<OneD, const NekDouble>& gloCoord,
381 Array<OneD, NekDouble> &locCoord,
422 const Array<OneD, const NekDouble> &coords,
423 Array<OneD, NekDouble> &Lcoords)
433 const int i,
const Array<OneD, const NekDouble> &Lcoord)
458 m_coeffs[i] = Array<OneD, NekDouble>(nCoeffs, 0.0);
464 return m_xmap->GetPointsKeys();
469 #endif //NEKTAR_SPATIALDOMAINS_GEOMETRY_H