Nektar++
Public Member Functions | Protected Member Functions | Friends | List of all members
Nektar::SpatialDomains::PointGeom Class Reference

#include <PointGeom.h>

Inheritance diagram for Nektar::SpatialDomains::PointGeom:
[legend]

Public Member Functions

 PointGeom ()
 
 PointGeom (const int coordim, const int vid, NekDouble x, NekDouble y, NekDouble z)
 
 PointGeom (const PointGeom &T)
 
 ~PointGeom ()
 
int GetVid ()
 
void GetCoords (NekDouble &x, NekDouble &y, NekDouble &z)
 
void GetCoords (Array< OneD, NekDouble > &coords)
 
void UpdatePosition (NekDouble x, NekDouble y, NekDouble z)
 
void Mult (PointGeom &a, PointGeom &b)
 _this = a x b More...
 
void Add (PointGeom &a, PointGeom &b)
 
void Sub (PointGeom &a, PointGeom &b)
 
void Rotate (PointGeom &a, int dir, NekDouble angle)
 _this = rotation of a by angle 'angle' around axis dir More...
 
NekDouble dist (PointGeom &a)
 return distance between this and input a More...
 
NekDouble dot (PointGeom &a)
 retun the dot product between this and input a More...
 
- Public Member Functions inherited from Nektar::SpatialDomains::Geometry0D
 Geometry0D ()
 
 Geometry0D (const int coordim)
 
virtual ~Geometry0D ()
 
- Public Member Functions inherited from Nektar::SpatialDomains::Geometry
 Geometry ()
 Default constructor. More...
 
 Geometry (int coordim)
 Constructor when supplied a coordinate dimension. More...
 
virtual ~Geometry ()
 Default destructor. More...
 
int GetCoordim () const
 Return the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). More...
 
void SetCoordim (int coordim)
 Sets the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). More...
 
GeomFactorsSharedPtr GetGeomFactors ()
 Get the geometric factors for this object, generating them if required. More...
 
GeomFactorsSharedPtr GetRefGeomFactors (const Array< OneD, const LibUtilities::BasisSharedPtr > &tbasis)
 
GeomFactorsSharedPtr GetMetricInfo ()
 Get the geometric factors for this object. More...
 
LibUtilities::ShapeType GetShapeType (void)
 Get the geometric shape type of this object. More...
 
int GetGlobalID (void) const
 Get the ID of this object. More...
 
void SetGlobalID (int globalid)
 Set the ID of this object. More...
 
int GetVid (int i) const
 Get the ID of vertex i of this object. More...
 
int GetEid (int i) const
 Get the ID of edge i of this object. More...
 
int GetFid (int i) const
 Get the ID of face i of this object. More...
 
int GetTid (int i) const
 Get the ID of trace i of this object. More...
 
PointGeomSharedPtr GetVertex (int i) const
 Returns vertex i of this object. More...
 
Geometry1DSharedPtr GetEdge (int i) const
 Returns edge i of this object. More...
 
Geometry2DSharedPtr GetFace (int i) const
 Returns face i of this object. More...
 
StdRegions::Orientation GetEorient (const int i) const
 Returns the orientation of edge i with respect to the ordering of edges in the standard element. More...
 
StdRegions::Orientation GetForient (const int i) const
 Returns the orientation of face i with respect to the ordering of faces in the standard element. More...
 
int GetNumVerts () const
 Get the number of vertices of this object. More...
 
int GetNumEdges () const
 Get the number of edges of this object. More...
 
int GetNumFaces () const
 Get the number of faces of this object. More...
 
int GetShapeDim () const
 Get the object's shape dimension. More...
 
StdRegions::StdExpansionSharedPtr GetXmap () const
 Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. More...
 
const Array< OneD, const NekDouble > & GetCoeffs (const int i) const
 Return the coefficients of the transformation Geometry::m_xmap in coordinate direction i. More...
 
void FillGeom ()
 Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. More...
 
std::array< NekDouble, 6 > GetBoundingBox ()
 Generates the bounding box for the element. More...
 
bool ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0)
 Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\). More...
 
bool ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol)
 Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\). More...
 
bool ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &resid)
 Determine whether an element contains a particular Cartesian coordinate \(\vec{x} = (x,y,z)\). More...
 
NekDouble GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords)
 Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object. More...
 
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. More...
 
bool MinMaxCheck (const Array< OneD, const NekDouble > &gloCoord)
 Check if given global coord is within twice the min/max distance of the element. More...
 
void ClampLocCoords (Array< OneD, NekDouble > &locCoord, NekDouble tol)
 Clamp local coords to be within standard regions [-1, 1]^dim. More...
 
int GetVertexEdgeMap (int i, int j) const
 Returns the standard element edge IDs that are connected to a given vertex. More...
 
int GetVertexFaceMap (int i, int j) const
 Returns the standard element face IDs that are connected to a given vertex. More...
 
int GetEdgeFaceMap (int i, int j) const
 Returns the standard element edge IDs that are connected to a given face. More...
 
void Reset (CurveMap &curvedEdges, CurveMap &curvedFaces)
 Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More...
 
void Setup ()
 
- Public Member Functions inherited from Nektar::NekPoint< NekDouble >
 NekPoint ()
 
 NekPoint (const std::string &pointValues)
 
 NekPoint (typename boost::call_traits< DataType >::param_type x, typename boost::call_traits< DataType >::param_type y, typename boost::call_traits< DataType >::param_type z)
 
 NekPoint (typename boost::call_traits< DataType >::const_reference a)
 
 NekPoint (const NekPoint< DataType > &rhs)
 
 ~NekPoint ()
 
NekPoint< DataType > & operator= (const NekPoint< DataType > &rhs)
 
boost::call_traits< DataType >::reference operator() (unsigned int i)
 Returns i^{th} element. More...
 
boost::call_traits< DataType >::const_reference operator() (unsigned int i) const
 
boost::call_traits< DataType >::reference operator[] (unsigned int i)
 
boost::call_traits< DataType >::const_reference operator[] (unsigned int i) const
 
boost::call_traits< DataType >::const_reference x () const
 
boost::call_traits< DataType >::reference x ()
 
boost::call_traits< DataType >::const_reference y () const
 
boost::call_traits< DataType >::reference y ()
 
boost::call_traits< DataType >::const_reference z () const
 
boost::call_traits< DataType >::reference z ()
 
boost::call_traits< DataType >::const_reference a () const
 
boost::call_traits< DataType >::const_reference b () const
 
boost::call_traits< DataType >::const_reference c () const
 
boost::call_traits< DataType >::const_reference r () const
 
boost::call_traits< DataType >::const_reference s () const
 
boost::call_traits< DataType >::const_reference t () const
 
void SetX (typename boost::call_traits< DataType >::const_reference val)
 
void SetY (typename boost::call_traits< DataType >::const_reference val)
 
void SetZ (typename boost::call_traits< DataType >::const_reference val)
 
const DataTypeGetPtr () const
 
bool operator== (const NekPoint< DataType > &rhs) const
 
bool operator!= (const NekPoint< DataType > &rhs) const
 
void negate ()
 Arithmetic Routines. More...
 
NekPoint< DataTypeoperator- () const
 
NekPoint< DataType > & operator+= (const NekPoint< DataType > &rhs)
 
NekPoint< DataType > & operator+= (typename boost::call_traits< DataType >::param_type rhs)
 
NekPoint< DataType > & operator-= (const NekPoint< DataType > &rhs)
 
NekPoint< DataType > & operator-= (typename boost::call_traits< DataType >::param_type rhs)
 
NekPoint< DataType > & operator*= (typename boost::call_traits< DataType >::param_type rhs)
 
NekPoint< DataType > & operator/= (typename boost::call_traits< DataType >::param_type rhs)
 
std::string AsString () const
 

Protected Member Functions

virtual void v_GenGeomFactors ()
 
virtual PointGeomSharedPtr v_GetVertex (int i) const
 
- Protected Member Functions inherited from Nektar::SpatialDomains::Geometry0D
virtual int v_GetShapeDim () const
 Get the object's shape dimension. More...
 
- Protected Member Functions inherited from Nektar::SpatialDomains::Geometry
void GenGeomFactors ()
 Handles generation of geometry factors. More...
 
virtual Geometry1DSharedPtr v_GetEdge (int i) const
 Returns edge i of this object. More...
 
virtual Geometry2DSharedPtr v_GetFace (int i) const
 Returns face i of this object. More...
 
virtual StdRegions::Orientation v_GetEorient (const int i) const
 Returns the orientation of edge i with respect to the ordering of edges in the standard element. More...
 
virtual StdRegions::Orientation v_GetForient (const int i) const
 Returns the orientation of face i with respect to the ordering of faces in the standard element. More...
 
virtual int v_GetNumVerts () const
 Get the number of vertices of this object. More...
 
virtual int v_GetNumEdges () const
 Get the number of edges of this object. More...
 
virtual int v_GetNumFaces () const
 Get the number of faces of this object. More...
 
virtual StdRegions::StdExpansionSharedPtr v_GetXmap () const
 Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. More...
 
virtual void v_FillGeom ()
 Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. More...
 
virtual bool v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &resid)
 
virtual NekDouble v_GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord)
 Given local collapsed coordinate Lcoord, return the value of physical coordinate in direction i. More...
 
virtual NekDouble v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords)
 Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object. More...
 
virtual int v_GetVertexEdgeMap (int i, int j) const
 Returns the standard element edge IDs that are connected to a given vertex. More...
 
virtual int v_GetVertexFaceMap (int i, int j) const
 Returns the standard element face IDs that are connected to a given vertex. More...
 
virtual int v_GetEdgeFaceMap (int i, int j) const
 Returns the standard element edge IDs that are connected to a given face. More...
 
virtual void v_Reset (CurveMap &curvedEdges, CurveMap &curvedFaces)
 Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More...
 
virtual void v_Setup ()
 
void SetUpCoeffs (const int nCoeffs)
 Initialise the Geometry::m_coeffs array. More...
 

Friends

bool operator== (const PointGeom &x, const PointGeom &y)
 Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa. More...
 
bool operator== (const PointGeom &x, const PointGeom *y)
 
bool operator== (const PointGeom *x, const PointGeom &y)
 
bool operator!= (const PointGeom &x, const PointGeom &y)
 
bool operator!= (const PointGeom &x, const PointGeom *y)
 
bool operator!= (const PointGeom *x, const PointGeom &y)
 

Additional Inherited Members

- Public Types inherited from Nektar::NekPoint< NekDouble >
typedef NekDouble DataType
 
typedef ThreeD dim
 
- Static Public Member Functions inherited from Nektar::NekPoint< NekDouble >
static unsigned int dimension ()
 Returns the number of dimensions for the point. More...
 
- Static Public Attributes inherited from Nektar::SpatialDomains::Geometry0D
static const int kDim = 0
 
- Static Protected Member Functions inherited from Nektar::SpatialDomains::Geometry
static GeomFactorsSharedPtr ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor)
 Check to see if a geometric factor has already been created that contains the same regular information. More...
 
- Protected Attributes inherited from Nektar::SpatialDomains::Geometry
int m_coordim
 Coordinate dimension of this geometry object. More...
 
GeomFactorsSharedPtr m_geomFactors
 Geometric factors. More...
 
GeomState m_geomFactorsState
 State of the geometric factors. More...
 
StdRegions::StdExpansionSharedPtr m_xmap
 \(\chi\) mapping containing isoparametric transformation. More...
 
GeomState m_state
 Enumeration to dictate whether coefficients are filled. More...
 
bool m_setupState
 Wether or not the setup routines have been run. More...
 
GeomType m_geomType
 Type of geometry. More...
 
LibUtilities::ShapeType m_shapeType
 Type of shape. More...
 
int m_globalID
 Global ID. More...
 
Array< OneD, Array< OneD, NekDouble > > m_coeffs
 Array containing expansion coefficients of m_xmap. More...
 
- Static Protected Attributes inherited from Nektar::SpatialDomains::Geometry
static GeomFactorsVector m_regGeomFactorsManager
 

Detailed Description

Definition at line 56 of file PointGeom.h.

Constructor & Destructor Documentation

◆ PointGeom() [1/3]

Nektar::SpatialDomains::PointGeom::PointGeom ( )

Definition at line 45 of file PointGeom.cpp.

References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.

Referenced by v_GetVertex().

45  : NekPoint<NekDouble>(0.0, 0.0, 0.0)
46 {
48  m_coordim = 0;
49  m_globalID = 0;
50 }
LibUtilities::ShapeType m_shapeType
Type of shape.
Definition: Geometry.h:197
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ PointGeom() [2/3]

Nektar::SpatialDomains::PointGeom::PointGeom ( const int  coordim,
const int  vid,
NekDouble  x,
NekDouble  y,
NekDouble  z 
)

Definition at line 52 of file PointGeom.cpp.

References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.

54  : NekPoint<NekDouble>(x, y, z)
55 {
57  m_coordim = coordim;
58  m_globalID = vid;
59 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference z() const
Definition: NekPoint.hpp:170
LibUtilities::ShapeType m_shapeType
Type of shape.
Definition: Geometry.h:197
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ PointGeom() [3/3]

Nektar::SpatialDomains::PointGeom::PointGeom ( const PointGeom T)

Definition at line 62 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.

63  : Geometry0D(T),
64  NekPoint<NekDouble>(T),
65  std::enable_shared_from_this<PointGeom>(T)
66 {
67  m_shapeType = T.m_shapeType;
68  m_globalID = T.m_globalID;
69  m_coordim = T.m_coordim;
70 }
LibUtilities::ShapeType m_shapeType
Type of shape.
Definition: Geometry.h:197
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ ~PointGeom()

Nektar::SpatialDomains::PointGeom::~PointGeom ( )

Definition at line 72 of file PointGeom.cpp.

73 {
74 }

Member Function Documentation

◆ Add()

void Nektar::SpatialDomains::PointGeom::Add ( PointGeom a,
PointGeom b 
)

Definition at line 116 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.

Referenced by GetVid().

117 {
118  (*this)(0) = a[0] + b[0];
119  (*this)(1) = a[1] + b[1];
120  (*this)(2) = a[2] + b[2];
121  m_coordim = std::max(a.GetCoordim(), b.GetCoordim());
122 }
boost::call_traits< DataType >::const_reference a() const
Definition: NekPoint.hpp:176
boost::call_traits< DataType >::const_reference b() const
Definition: NekPoint.hpp:182
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ dist()

NekDouble Nektar::SpatialDomains::PointGeom::dist ( PointGeom a)

◆ dot()

NekDouble Nektar::SpatialDomains::PointGeom::dot ( PointGeom a)

retun the dot product between this and input a

Definition at line 188 of file PointGeom.cpp.

References Nektar::NekPoint< NekDouble >::x(), Nektar::NekPoint< data_type >::x(), Nektar::NekPoint< data_type >::y(), Nektar::NekPoint< NekDouble >::y(), Nektar::NekPoint< data_type >::z(), and Nektar::NekPoint< NekDouble >::z().

Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().

189 {
190  return (x() * a.x() + y() * a.y() + z() * a.z());
191 }
boost::call_traits< DataType >::const_reference a() const
Definition: NekPoint.hpp:176
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference z() const
Definition: NekPoint.hpp:170
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ GetCoords() [1/2]

void Nektar::SpatialDomains::PointGeom::GetCoords ( NekDouble x,
NekDouble y,
NekDouble z 
)

Definition at line 76 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::m_coordim.

Referenced by Nektar::LocalRegions::PointExp::GetCoords(), GetVid(), and Nektar::LocalRegions::PointExp::v_GetCoords().

77 {
78  switch (m_coordim)
79  {
80  case 3:
81  z = (*this)(2);
82  /* Falls through. */
83  case 2:
84  y = (*this)(1);
85  /* Falls through. */
86  case 1:
87  x = (*this)(0);
88  break;
89  }
90 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference z() const
Definition: NekPoint.hpp:170
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ GetCoords() [2/2]

void Nektar::SpatialDomains::PointGeom::GetCoords ( Array< OneD, NekDouble > &  coords)

Definition at line 92 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::m_coordim.

93 {
94  switch (m_coordim)
95  {
96  case 3:
97  coords[2] = (*this)(2);
98  /* Falls through. */
99  case 2:
100  coords[1] = (*this)(1);
101  /* Falls through. */
102  case 1:
103  coords[0] = (*this)(0);
104  break;
105  }
106 }
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ GetVid()

int Nektar::SpatialDomains::PointGeom::GetVid ( )
inline

◆ Mult()

void Nektar::SpatialDomains::PointGeom::Mult ( PointGeom a,
PointGeom b 
)

_this = a x b

Definition at line 134 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::m_coordim.

Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().

135 {
136  (*this)(0) = a[1] * b[2] - a[2] * b[1];
137  (*this)(1) = a[2] * b[0] - a[0] * b[2];
138  (*this)(2) = a[0] * b[1] - a[1] * b[0];
139  m_coordim = 3;
140 }
boost::call_traits< DataType >::const_reference a() const
Definition: NekPoint.hpp:176
boost::call_traits< DataType >::const_reference b() const
Definition: NekPoint.hpp:182
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ Rotate()

void Nektar::SpatialDomains::PointGeom::Rotate ( PointGeom a,
int  dir,
NekDouble  angle 
)

_this = rotation of a by angle 'angle' around axis dir

Definition at line 143 of file PointGeom.cpp.

References Nektar::NekPoint< data_type >::x(), Nektar::NekPoint< data_type >::y(), and Nektar::NekPoint< data_type >::z().

Referenced by Nektar::MultiRegions::DisContField3D::FindPeriodicFaces(), Nektar::SpatialDomains::QuadGeom::GetFaceOrientation(), Nektar::SpatialDomains::TriGeom::GetFaceOrientation(), and GetVid().

144 {
145  switch(dir)
146  {
147  case 0:
148  {
149  NekDouble yrot = cos(angle)*a.y() - sin(angle)*a.z();
150  NekDouble zrot = sin(angle)*a.y() + cos(angle)*a.z();
151 
152  (*this)(0) = a.x();
153  (*this)(1) = yrot;
154  (*this)(2) = zrot;
155  }
156  break;
157  case 1:
158  {
159  NekDouble zrot = cos(angle)*a.z() - sin(angle)*a.x();
160  NekDouble xrot = sin(angle)*a.z() + cos(angle)*a.x();
161 
162  (*this)(0) = xrot;
163  (*this)(1) = a.y();
164  (*this)(2) = zrot;
165  }
166  break;
167  case 2:
168  {
169  NekDouble xrot = cos(angle)*a.x() - sin(angle)*a.y();
170  NekDouble yrot = sin(angle)*a.x() + cos(angle)*a.y();
171 
172  (*this)(0) = xrot;
173  (*this)(1) = yrot;
174  (*this)(2) = a.z();
175  }
176  break;
177  }
178 }
boost::call_traits< DataType >::const_reference a() const
Definition: NekPoint.hpp:176
double NekDouble

◆ Sub()

void Nektar::SpatialDomains::PointGeom::Sub ( PointGeom a,
PointGeom b 
)

Definition at line 125 of file PointGeom.cpp.

References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.

Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().

126 {
127  (*this)(0) = a[0] - b[0];
128  (*this)(1) = a[1] - b[1];
129  (*this)(2) = a[2] - b[2];
130  m_coordim = std::max(a.GetCoordim(), b.GetCoordim());
131 }
boost::call_traits< DataType >::const_reference a() const
Definition: NekPoint.hpp:176
boost::call_traits< DataType >::const_reference b() const
Definition: NekPoint.hpp:182
int m_coordim
Coordinate dimension of this geometry object.
Definition: Geometry.h:183

◆ UpdatePosition()

void Nektar::SpatialDomains::PointGeom::UpdatePosition ( NekDouble  x,
NekDouble  y,
NekDouble  z 
)

Definition at line 108 of file PointGeom.cpp.

Referenced by GetVid().

109 {
110  (*this)(0) = x;
111  (*this)(1) = y;
112  (*this)(2) = z;
113 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference z() const
Definition: NekPoint.hpp:170
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ v_GenGeomFactors()

void Nektar::SpatialDomains::PointGeom::v_GenGeomFactors ( )
protectedvirtual

Implements Nektar::SpatialDomains::Geometry.

Definition at line 233 of file PointGeom.cpp.

Referenced by GetVid().

234 {
235 }

◆ v_GetVertex()

PointGeomSharedPtr Nektar::SpatialDomains::PointGeom::v_GetVertex ( int  i) const
protectedvirtual

Implements Nektar::SpatialDomains::Geometry.

Definition at line 225 of file PointGeom.cpp.

References ASSERTL0, and PointGeom().

Referenced by GetVid().

226 {
227  ASSERTL0(i == 0, "Index other than 0 is meaningless.");
228  // shared_this_ptr() returns const PointGeom, which cannot be
229  // returned.
230  return PointGeomSharedPtr(new PointGeom(*this));
231 }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
std::shared_ptr< PointGeom > PointGeomSharedPtr
Definition: Geometry.h:59

Friends And Related Function Documentation

◆ operator!= [1/3]

bool operator!= ( const PointGeom x,
const PointGeom y 
)
friend

Definition at line 210 of file PointGeom.cpp.

Referenced by GetVid().

211 {
212  return (x.m_globalID != y.m_globalID);
213 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ operator!= [2/3]

bool operator!= ( const PointGeom x,
const PointGeom y 
)
friend

Definition at line 215 of file PointGeom.cpp.

216 {
217  return (x.m_globalID != y->m_globalID);
218 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ operator!= [3/3]

bool operator!= ( const PointGeom x,
const PointGeom y 
)
friend

Definition at line 220 of file PointGeom.cpp.

221 {
222  return (x->m_globalID != y.m_globalID);
223 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ operator== [1/3]

bool operator== ( const PointGeom x,
const PointGeom y 
)
friend

Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa.

Definition at line 195 of file PointGeom.cpp.

Referenced by GetVid().

196 {
197  return (x.m_globalID == y.m_globalID);
198 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ operator== [2/3]

bool operator== ( const PointGeom x,
const PointGeom y 
)
friend

Definition at line 200 of file PointGeom.cpp.

201 {
202  return (x.m_globalID == y->m_globalID);
203 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158

◆ operator== [3/3]

bool operator== ( const PointGeom x,
const PointGeom y 
)
friend

Definition at line 205 of file PointGeom.cpp.

206 {
207  return (x->m_globalID == y.m_globalID);
208 }
boost::call_traits< DataType >::const_reference y() const
Definition: NekPoint.hpp:164
boost::call_traits< DataType >::const_reference x() const
Definition: NekPoint.hpp:158