49 namespace SpatialDomains
82 std::list<CompToElmt>::const_iterator def;
109 std::list<CompToElmt>::const_iterator def;
141 coords[2] = (*this)(2);
143 coords[1] = (*this)(1);
145 coords[0] = (*this)(0);
161 (*this)(0) = a[0] + b[0];
162 (*this)(1) = a[1] + b[1];
163 (*this)(2) = a[2] + b[2];
170 (*this)(0) = a[0] - b[0];
171 (*this)(1) = a[1] - b[1];
172 (*this)(2) = a[2] - b[2];
179 (*this)(0) = a[1]*b[2] - a[2]*b[1];
180 (*this)(1) = a[2]*b[0] - a[0]*b[2];
181 (*this)(2) = a[0]*b[1] - a[1]*b[0];
188 return sqrt((
x()-a.
x())*(
x()-a.
x()) + (
y()-a.
y())*(
y()-a.
y()) + (
z()-a.
z())*(
z()-a.
z()));
194 return (
x()*a.
x() +
y()*a.
y() +
z()*a.
z());
246 ASSERTL0(i == 0,
"Index other than 0 is meaningless.");
284 std::ostringstream errstrm;
285 errstrm <<
"Connected edges do not share a vertex. Edges ";
#define ASSERTL0(condition, msg)
virtual NekDouble v_GetLocCoords(const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords)
boost::call_traits< DataType >::const_reference y() const
void Add(PointGeom &a, PointGeom &b)
virtual int v_GetVid(int id) const
void GetCoords(NekDouble &x, NekDouble &y, NekDouble &z)
Structure holding graphvertexobject id and local element facet id.
NekDouble dot(PointGeom &a)
bool operator!=(const PointGeom &x, const PointGeom &y)
void UpdatePosition(NekDouble x, NekDouble y, NekDouble z)
void Sub(PointGeom &a, PointGeom &b)
virtual NekDouble v_GetCoord(const int i, const Array< OneD, const NekDouble > &Lcoord)
int NumElmtConnected() const
boost::call_traits< DataType >::const_reference z() const
boost::call_traits< DataType >::const_reference x() const
PointGeomSharedPtr GetVertex(const int i) const
std::list< CompToElmt > m_elmtMap
void Mult(PointGeom &a, PointGeom &b)
bool IsElmtConnected(int gvo_id, int locid) const
bool operator==(const GeomFactors &lhs, const GeomFactors &rhs)
Equivalence test for GeomFactors objects.
NekDouble GetLocCoords(const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords)
LibUtilities::ShapeType m_shapeType
static StdRegions::Orientation GetPointOrientation(const SegGeom &edge1, const SegGeom &edge2)
Get the orientation of point1; to be used later for normal convention.
InputIterator find(InputIterator first, InputIterator last, InputIterator startingpoint, const EqualityComparable &value)
NekDouble dist(PointGeom &a)
NekDouble GetCoord(const int i, const Array< OneD, const NekDouble > &Lcoord)
Given local collapsed coordinate Lcoord return the value of physical coordinate in direction i...
void AddElmtConnected(int gvo_id, int locid)
int m_coordim
coordinate dimension
virtual PointGeomSharedPtr v_GetVertex(int i) const
boost::shared_ptr< PointGeom > PointGeomSharedPtr
virtual void v_GenGeomFactors()