Feel++  0.91.4
Classes | Typedefs | Functions | Variables
Basis Geometrical Entities Geo0D and GeoND.

Classes

class  Feel::Geo0D< Dim, T >

Typedefs

typedef Geo0D< Dim, T > Feel::Geo0D< Dim, T >::self_type
typedef T Feel::Geo0D< Dim, T >::value_type
typedef matrix_node
< value_type >::type 
Feel::Geo0D< Dim, T >::matrix_node_type
typedef super2 Feel::Geo0D< Dim, T >::node_type
typedef node< T, 2 >::type Feel::Geo0D< Dim, T >::parametric_node_type
typedef Geo0D< 3 > Feel::Point

Functions

 Feel::Geo0D< Dim, T >::Geo0D ()
 Feel::Geo0D< Dim, T >::Geo0D (size_type id, bool boundary=false, bool is_vertex=false)
 Feel::Geo0D< Dim, T >::Geo0D (size_type id, value_type x, value_type y, value_type z, bool boundary=false, bool is_vertex=false)
 Feel::Geo0D< Dim, T >::Geo0D (value_type x, value_type y, value_type z)
 Feel::Geo0D< Dim, T >::Geo0D (size_type id, node_type const &__x, bool boundary=false, bool is_vertex=false)
 Feel::Geo0D< Dim, T >::Geo0D (node_type const &__x)
template<typename AE >
 Feel::Geo0D< Dim, T >::Geo0D (ublas::vector_expression< AE > const &__expr)
 Feel::Geo0D< Dim, T >::Geo0D (Geo0D const &G)
Geo0D & Feel::Geo0D< Dim, T >::operator= (Geo0D const &G)
template<typename AE >
Geo0D & Feel::Geo0D< Dim, T >::operator= (ublas::vector_expression< AE > const &expr)
template<typename AE >
Geo0D & Feel::Geo0D< Dim, T >::operator+= (ublas::vector_expression< AE > const &expr)
value_type & Feel::Geo0D< Dim, T >::operator() (int i)
value_type Feel::Geo0D< Dim, T >::operator() (int i) const
bool Feel::Geo0D< Dim, T >::isVertex () const
void Feel::Geo0D< Dim, T >::setAsVertex (bool v)
void Feel::Geo0D< Dim, T >::setMesh (MeshBase const *m)
MeshBase const * Feel::Geo0D< Dim, T >::mesh () const
Geo0D const & Feel::Geo0D< Dim, T >::node () const
matrix_node_type Feel::Geo0D< Dim, T >::G () const
matrix_node_type Feel::Geo0D< Dim, T >::vertices () const
value_type Feel::Geo0D< Dim, T >::measure () const
bool Feel::Geo0D< Dim, T >::isParametric () const
int Feel::Geo0D< Dim, T >::gDim () const
int Feel::Geo0D< Dim, T >::gTag () const
parametric_node_type const & Feel::Geo0D< Dim, T >::parametricCoordinates () const
value_type Feel::Geo0D< Dim, T >::u () const
value_type Feel::Geo0D< Dim, T >::v () const
void Feel::Geo0D< Dim, T >::setNode (node_type const &__n)
bool Feel::Geo0D< Dim, T >::operator== (Geo0D const &geo0d) const
bool Feel::Geo0D< Dim, T >::operator< (Geo0D const &e) const
bool Feel::Geo0D< Dim, T >::operator< (size_type __i) const
std::ostream & Feel::Geo0D< Dim, T >::showMe (bool verbose=false, std::ostream &c=std::cout) const
void Feel::Geo0D< Dim, T >::setPoint (uint16_type const , self_type const &p)
self_type & Feel::Geo0D< Dim, T >::translate (node_type const &trans)
Marker1 const & Feel::Geo0D< Dim, T >::marker () const
Marker1 & Feel::Geo0D< Dim, T >::marker ()
void Feel::Geo0D< Dim, T >::setMarker (flag_type v)
Marker2 const & Feel::Geo0D< Dim, T >::marker2 () const
Marker2 & Feel::Geo0D< Dim, T >::marker2 ()
void Feel::Geo0D< Dim, T >::setMarker2 (flag_type v)
Marker3 const & Feel::Geo0D< Dim, T >::marker3 () const
Marker3 & Feel::Geo0D< Dim, T >::marker3 ()
void Feel::Geo0D< Dim, T >::setMarker3 (flag_type v)
void Feel::Geo0D< Dim, T >::setTags (std::vector< int > const &tags)
void Feel::Geo0D< Dim, T >::setGDim (int gdim)
void Feel::Geo0D< Dim, T >::setGTag (int gtag)
void Feel::Geo0D< Dim, T >::setParametricCoordinates (parametric_node_type const &x)
void Feel::Geo0D< Dim, T >::setParametricCoordinates (value_type u, value_type v)
template<uint16_type Dim, typename T >
DebugStream & Feel::operator<< (DebugStream &__os, Geo0D< Dim, T > const &__n)
template<uint16_type Dim, typename T >
NdebugStream & Feel::operator<< (NdebugStream &__os, Geo0D< Dim, T > const &__n)
template<typename T >
Feel::distance (Geo0D< 1, T > const &p1, Geo0D< 1, T > const &p2)
template<typename T >
Feel::distance (Geo0D< 2, T > const &p1, Geo0D< 2, T > const &p2)
template<typename T >
Feel::distance (Geo0D< 3, T > const &p1, Geo0D< 3, T > const &p2)
template<typename T >
Geo0D< 1, T > Feel::middle (Geo0D< 1, T > const &p1, Geo0D< 1, T > const &p2)
template<typename T >
Geo0D< 2, T > Feel::middle (Geo0D< 2, T > const &p1, Geo0D< 2, T > const &p2)
template<typename T >
Geo0D< 3, T > Feel::middle (Geo0D< 3, T > const &p1, Geo0D< 3, T > const &p2)
template<typename E1 , typename E2 >
ublas::vector< double > Feel::cross (ublas::vector_expression< E1 > _p1, ublas::vector_expression< E2 > _p2)
template<typename T >
ublas::vector< double > Feel::cross (Geo0D< 3, T > p1, Geo0D< 3, T > p2)

Variables

static const uint16_type Feel::Geo0D< Dim, T >::nDim = Dim

Detailed Description

They are intermediate classes used to build the actual Geometry classes

Warning:
Geo1D/2D/3D are template classes because some of the info is not known a priori and I want all vector dimensions determined at compile time to enhance memory access time.

Function Documentation

template<uint16_type Dim, typename T = double>
matrix_node_type Feel::Geo0D< Dim, T >::G ( ) const
inline
Returns:
the node data structure

Referenced by Feel::Geo0D< 3 >::vertices().

template<uint16_type Dim, typename T = double>
int Feel::Geo0D< Dim, T >::gDim ( ) const
inline
Returns:
the geometric dimension of the entity the point belongs to
template<uint16_type Dim, typename T >
Feel::Geo0D< Dim, T >::Geo0D ( )

default constructor

template<uint16_type Dim, typename T >
Feel::Geo0D< Dim, T >::Geo0D ( size_type  id,
bool  boundary = false,
bool  is_vertex = false 
)
explicit

constructor where I give the id and declare if Geo0D object is on a boundary

Parameters:
ididentifier of the Geo0D
boundarytrue if on the boundary, false otherwise
is_vertextrue if the point is a vertex
Returns:

References Feel::GeoEntity< Simplex< 0, 1, Dim > >::setOnBoundary().

template<uint16_type Dim, typename T >
Feel::Geo0D< Dim, T >::Geo0D ( size_type  id,
value_type  x,
value_type  y,
value_type  z,
bool  boundary = false,
bool  is_vertex = false 
)
explicit

constructor where I give the id, the point coordinate and I declare if the Geo0D object is on a boundary

Parameters:
ididentifier of the node
xx-coordinate of the node
yy-coordinate of the node
zz-coordinate of the node
boundarytrue if on the boundary, false otherwise
is_vertextrue if the point is a vertex

References Feel::GeoEntity< Simplex< 0, 1, Dim > >::setOnBoundary().

template<uint16_type Dim, typename T = double>
Feel::Geo0D< Dim, T >::Geo0D ( value_type  x,
value_type  y,
value_type  z 
)
inline

give the point coordinate

Parameters:
xx-coordinate of the node
yy-coordinate of the node
zz-coordinate of the node
template<uint16_type Dim, typename T >
Feel::Geo0D< Dim, T >::Geo0D ( size_type  id,
node_type const &  __x,
bool  boundary = false,
bool  is_vertex = false 
)

constructor where I give the id, the point coordinate and I declare if the Geo0D object is on a boundary

Parameters:
ididentifier
__xnode coordinate
boundarytrue if on the boundary, false otherwise
is_vertextrue if the point is a vertex

References Feel::GeoEntity< Simplex< 0, 1, Dim > >::setOnBoundary().

template<uint16_type Dim, typename T = double>
Feel::Geo0D< Dim, T >::Geo0D ( node_type const &  __x)
inline

the point coordinate

Parameters:
__xnode coordinate
template<uint16_type Dim, typename T = double>
template<typename AE >
Feel::Geo0D< Dim, T >::Geo0D ( ublas::vector_expression< AE > const &  __expr)
inline

the point coordinate expression

Parameters:
__exprexpression for the coordinates
template<uint16_type Dim, typename T >
Feel::Geo0D< Dim, T >::Geo0D ( Geo0D< Dim, T > const &  G)

copy constructor

Parameters:
Gthe Geo0D to copy
template<uint16_type Dim, typename T = double>
int Feel::Geo0D< Dim, T >::gTag ( ) const
inline
Returns:
the geometric dimension of the entity the point belongs to
template<uint16_type Dim, typename T = double>
bool Feel::Geo0D< Dim, T >::isParametric ( ) const
inline
Returns:
true if the point has parametric coordinates
template<uint16_type Dim, typename T = double>
bool Feel::Geo0D< Dim, T >::isVertex ( ) const
inline
Returns:
true if point is a vertex, false otherwise
Attention:
DO NOT USE YET, returns always false
template<uint16_type Dim, typename T = double>
value_type Feel::Geo0D< Dim, T >::measure ( ) const
inlinevirtual
Returns:
the measure of a point

Implements Feel::GeoEntity< Simplex< 0, 1, Dim > >.

template<uint16_type Dim, typename T = double>
MeshBase const* Feel::Geo0D< Dim, T >::mesh ( ) const
inline
Returns:
the mesh to which this geometric entity belongs to

Reimplemented in Feel::GeoElement0D< Dim, SubFace, T >.

Referenced by Feel::GeoElement0D< Dim, SubFace, T >::mesh().

template<uint16_type Dim, typename T = double>
Geo0D const& Feel::Geo0D< Dim, T >::node ( ) const
inline
Returns:
the node data structure

Referenced by Feel::Sphere::closestPoint(), Feel::Sphere::surfaceCoords(), and Feel::Sphere::unitNormal().

template<uint16_type Dim, typename T >
Geo0D< Dim, T > & Feel::Geo0D< Dim, T >::operator= ( Geo0D< Dim, T > const &  G)

assignement operator

Parameters:
Gthe geo0D to copy
Returns:
the newly assigned Geo0D
template<uint16_type Dim, typename T = double>
bool Feel::Geo0D< Dim, T >::operator== ( Geo0D< Dim, T > const &  geo0d) const
inline
Returns:
true if points are equal, false otherwise
template<uint16_type Dim, typename T = double>
parametric_node_type const& Feel::Geo0D< Dim, T >::parametricCoordinates ( ) const
inline
Returns:
the parametric coordinates
template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setAsVertex ( bool  v)
inline

set the point as a vertex or not using v

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setGDim ( int  gdim)
inline

set the geometric dimension of the entity the points belongs to

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setGTag ( int  gtag)
inline

set the geometric tag of the entity the points belongs to

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setMesh ( MeshBase const *  m)
inline

set the mesh to which this geometric entity belongs to

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setNode ( node_type const &  __n)
inline

set the node coordinates

Parameters:
__nthe node coordinates
template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setParametricCoordinates ( parametric_node_type const &  x)
inline

set the parametric coordinates of the node (if it is on an point, edge or surface geometric entity)

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setParametricCoordinates ( value_type  u,
value_type  v 
)
inline

set the parametric coordinates of the node (if it is on an point, edge or surface geometric entity)

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setPoint ( uint16_type  const,
self_type const &  p 
)
inline

set the point coordinates. This will typically be called when creating faces (points) in 1D.

Reimplemented in Feel::GeoElement0D< Dim, SubFace, T >.

template<uint16_type Dim, typename T = double>
void Feel::Geo0D< Dim, T >::setTags ( std::vector< int > const &  tags)
inline

set the tags associated to the points

  • tags[0] physical region
  • tags[1] elementary region
  • tags[2] particular region
template<uint16_type Dim, typename T >
std::ostream & Feel::Geo0D< Dim, T >::showMe ( bool  verbose = false,
std::ostream &  c = std::cout 
) const

show the information about the Geo0D

Parameters:
verbosetrue if verbose mode, false otherwise
cthe output stream to use
Returns:
the output stream
template<uint16_type Dim, typename T = double>
self_type& Feel::Geo0D< Dim, T >::translate ( node_type const &  trans)
inline

translate the point by trans

template<uint16_type Dim, typename T = double>
value_type Feel::Geo0D< Dim, T >::u ( ) const
inline
Returns:
the first parametric coordinates

Referenced by Feel::Geo0D< 3 >::setParametricCoordinates().

template<uint16_type Dim, typename T = double>
value_type Feel::Geo0D< Dim, T >::v ( ) const
inline
Returns:
the first parametric coordinates

Referenced by Feel::Geo0D< 3 >::setAsVertex(), and Feel::Geo0D< 3 >::setParametricCoordinates().

template<uint16_type Dim, typename T = double>
matrix_node_type Feel::Geo0D< Dim, T >::vertices ( ) const
inline
Returns:
the node data structure