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
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.

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