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);
126 const Array<OneD, const NekDouble>& gloCoord,
129 const Array<OneD, const NekDouble>& gloCoord,
130 Array<OneD, NekDouble> &locCoord,
133 const Array<OneD, const NekDouble>& gloCoord,
134 Array<OneD, NekDouble> &locCoord,
143 const Array<OneD, const NekDouble> &coords,
144 Array<OneD, NekDouble> &Lcoords);
146 const int i,
const Array<OneD, const NekDouble> &Lcoord);
210 const Array<OneD, const NekDouble>& gloCoord,
213 const Array<OneD, const NekDouble>& gloCoord,
214 Array<OneD, NekDouble>& locCoord,
217 const Array<OneD, const NekDouble>& gloCoord,
218 Array<OneD, NekDouble>& locCoord,
229 const Array<OneD,const NekDouble>& Lcoord);
231 const Array<OneD,const NekDouble>& coords,
232 Array<OneD,NekDouble>& Lcoords);
242 struct GeometryHash : std::unary_function<GeometrySharedPtr, std::size_t>
248 int nVert = p->GetNumVerts();
249 std::vector<unsigned int> ids(nVert);
251 for (i = 0; i < nVert; ++i)
253 ids[i] = p->GetVid(i);
255 std::sort(ids.begin(), ids.end());
256 boost::hash_range(seed, ids.begin(), ids.end());
384 const Array<OneD, const NekDouble>& gloCoord,
391 const Array<OneD, const NekDouble>& gloCoord,
392 Array<OneD, NekDouble> &locCoord,
399 const Array<OneD, const NekDouble>& gloCoord,
400 Array<OneD, NekDouble> &locCoord,
441 const Array<OneD, const NekDouble> &coords,
442 Array<OneD, NekDouble> &Lcoords)
452 const int i,
const Array<OneD, const NekDouble> &Lcoord)
477 m_coeffs[i] = Array<OneD, NekDouble>(nCoeffs, 0.0);
483 return m_xmap->GetPointsKeys();
488 #endif //NEKTAR_SPATIALDOMAINS_GEOMETRY_H