Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Basis Geometrical Entities Geo0D and GeoND.

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.

Classes

class  Feel::Geo0D< Dim, T >
 

Typedefs

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
 
typedef Geo0D< Dim, T > Feel::Geo0D< Dim, T >::self_type
 
typedef T Feel::Geo0D< Dim, T >::value_type
 

Functions

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)
 
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)
 
matrix_node_type Feel::Geo0D< Dim, T >::G () const
 
int Feel::Geo0D< Dim, T >::gDim () const
 
 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)
 
int Feel::Geo0D< Dim, T >::gTag () const
 
bool Feel::Geo0D< Dim, T >::isParametric () const
 
bool Feel::Geo0D< Dim, T >::isVertex () const
 
Marker1 const & Feel::Geo0D< Dim, T >::marker () const
 
Marker1 & Feel::Geo0D< Dim, T >::marker ()
 
Marker2 const & Feel::Geo0D< Dim, T >::marker2 () const
 
Marker2 & Feel::Geo0D< Dim, T >::marker2 ()
 
Marker3 const & Feel::Geo0D< Dim, T >::marker3 () const
 
Marker3 & Feel::Geo0D< Dim, T >::marker3 ()
 
value_type Feel::Geo0D< Dim, T >::measure () const
 
MeshBase const * Feel::Geo0D< Dim, T >::mesh () const
 
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)
 
Geo0D const & Feel::Geo0D< Dim, T >::node () const
 
value_type & Feel::Geo0D< Dim, T >::operator() (int i)
 
value_type Feel::Geo0D< Dim, T >::operator() (int i) const
 
template<typename AE >
Geo0D & Feel::Geo0D< Dim, T >::operator+= (ublas::vector_expression< AE > const &expr)
 
bool Feel::Geo0D< Dim, T >::operator< (Geo0D const &e) const
 
bool Feel::Geo0D< Dim, T >::operator< (size_type __i) const
 
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)
 
Geo0D & Feel::Geo0D< Dim, T >::operator= (Geo0D const &G)
 
template<typename AE >
Geo0D & Feel::Geo0D< Dim, T >::operator= (ublas::vector_expression< AE > const &expr)
 
bool Feel::Geo0D< Dim, T >::operator== (Geo0D const &geo0d) const
 
parametric_node_type const & Feel::Geo0D< Dim, T >::parametricCoordinates () const
 
void Feel::Geo0D< Dim, T >::setAsVertex (bool v)
 
void Feel::Geo0D< Dim, T >::setGDim (int gdim)
 
void Feel::Geo0D< Dim, T >::setGTag (int gtag)
 
void Feel::Geo0D< Dim, T >::setMarker (flag_type v)
 
void Feel::Geo0D< Dim, T >::setMarker2 (flag_type v)
 
void Feel::Geo0D< Dim, T >::setMarker3 (flag_type v)
 
void Feel::Geo0D< Dim, T >::setMesh (MeshBase const *m)
 
void Feel::Geo0D< Dim, T >::setNode (node_type const &__n)
 
void Feel::Geo0D< Dim, T >::setParametricCoordinates (parametric_node_type const &x)
 
void Feel::Geo0D< Dim, T >::setParametricCoordinates (value_type u, value_type v)
 
void Feel::Geo0D< Dim, T >::setPoint (uint16_type const , self_type const &p)
 
void Feel::Geo0D< Dim, T >::setTags (std::vector< int > const &tags)
 
std::ostream & Feel::Geo0D< Dim, T >::showMe (bool verbose=false, std::ostream &c=std::cout) const
 
std::vector< int > Feel::Geo0D< Dim, T >::tags () const
 
self_type & Feel::Geo0D< Dim, T >::translate (node_type const &trans)
 
value_type Feel::Geo0D< Dim, T >::u () const
 
value_type Feel::Geo0D< Dim, T >::v () const
 
matrix_node_type Feel::Geo0D< Dim, T >::vertices () const
 

Variables

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

Friends

class Feel::Geo0D< Dim, T >::boost::serialization::access
 

Function Documentation

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

References Feel::operator=().

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
template<uint16_type Dim, typename T = double>
value_type Feel::Geo0D< Dim, T >::v ( ) const
inline
Returns
the first parametric coordinates
template<uint16_type Dim, typename T = double>
matrix_node_type Feel::Geo0D< Dim, T >::vertices ( ) const
inline
Returns
the node data structure

Generated on Sun Dec 22 2013 13:11:16 for Feel++ by doxygen 1.8.5