geo_elementabstract

see the `geo_element` page for the full documentation More...

Inheritance diagram for geo_element:

## Classes

struct | parameter_type

## Public Types

enum | { _variant_offset = 0 , _order_offset = 1 , _dis_ie_offset = 2 , _ios_dis_ie_offset = 3 , _master_offset = 4 , _last_offset = 6 }
typedef reference_element::size_type | size_type
typedef reference_element::variant_type | variant_type
typedef size_type * | iterator
typedef const size_type * | const_iterator
typedef size_type | raw_type
typedef geo_element | generic_type
typedef geo_element_auto< heap_allocator< size_type > > | automatic_type
typedef geo_element_indirect::orientation_type | orientation_type
typedef geo_element_indirect::shift_type | shift_type

## Public Member Functions

geo_element & | operator= (const geo_element &K)
virtual | ~geo_element ()
virtual void | reset (variant_type variant, size_type order)=0
| operator reference_element () const
variant_type | variant () const
size_type | order () const
size_type | dis_ie () const
size_type | ios_dis_ie () const
size_type | master (bool i) const
size_type | dimension () const
size_type | size () const
char | name () const
size_type | n_node () const
void | set_dis_ie (size_type dis_ie)
void | set_ios_dis_ie (size_type ios_dis_ie)
void | set_master (bool i, size_type dis_ie) const
iterator | begin ()
const_iterator | begin () const
iterator | end ()
const_iterator | end () const
size_type & | operator[] (size_type loc_inod)
size_type | operator[] (size_type loc_inod) const
size_type & | node (size_type loc_inod)
size_type | node (size_type loc_inod) const
iterator | begin (size_type node_subgeo_dim)
const_iterator | begin (size_type node_subgeo_dim) const
iterator | end (size_type node_subgeo_dim)
const_iterator | end (size_type node_subgeo_dim) const
const geo_element_indirect & | edge_indirect (size_type i) const
const geo_element_indirect & | face_indirect (size_type i) const
geo_element_indirect & | edge_indirect (size_type i)
geo_element_indirect & | face_indirect (size_type i)
size_type | edge (size_type i) const
size_type | face (size_type i) const
size_type | n_subgeo (size_type subgeo_dim) const
size_type | subgeo_dis_index (size_type subgeo_dim, size_type i) const
size_type | subgeo_n_node (size_type subgeo_dim, size_type loc_isid) const
size_type | subgeo_local_node (size_type subgeo_dim, size_type loc_isid, size_type loc_jsidnod) const
size_type | subgeo_size (size_type subgeo_dim, size_type loc_isid) const
size_type | subgeo_local_vertex (size_type subgeo_dim, size_type i_subgeo, size_type i_subgeo_vertex) const
size_type | first_inod (size_type subgeo_dim) const
size_type | last_inod (size_type subgeo_dim) const
size_type | n_edge () const
size_type | n_face () const
orientation_type | get_side_informations (const geo_element &S, size_type &loc_isid, size_type &shift) const
void | get_side_informations (const geo_element &S, side_information_type &sid) const
orientation_type | get_side_orientation (const geo_element &S) const
bool | get_orientation_and_shift (const geo_element &S, orientation_type &orient, shift_type &shift) const
| return orientation and shift between *this element and S More...
orientation_type | get_edge_orientation (size_type dis_iv0, size_type dis_iv1) const
void | get_orientation_and_shift (size_type dis_iv0, size_type dis_iv1, size_type dis_iv2, orientation_type &orient, shift_type &shift) const
void | get_orientation_and_shift (size_type dis_iv0, size_type dis_iv1, size_type dis_iv2, size_type dis_iv3, orientation_type &orient, shift_type &shift) const
void | put (std::ostream &is) const
void | get (std::istream &os)
size_type | _data_size () const
virtual iterator | _data_begin ()=0
virtual iterator | _data_end ()=0
virtual const_iterator | _data_begin () const =0
virtual const_iterator | _data_end () const =0
template<class Archive >
void | serialize (Archive &ar, const unsigned int version)
void | setname (char name)
char | name () const
size_t | variant () const
size_t | dimension () const
size_t | n_vertex () const
size_t | size () const
| geo_element ()
void | setname (char name)
void | setorder (size_t order)
void | setindex (size_t index)
void | setgmshtype (size_t gmshtype)
geo_element_indirect & | edge_indirect (size_t i)
geo_element_indirect & | face_indirect (size_t i)
char | name () const
size_t | order () const
size_t | index () const
size_t | gmshtype () const
size_t | variant () const
size_t | dimension () const
size_t | n_vertex () const
const geo_element_indirect & | edge_indirect (size_t i) const
const geo_element_indirect & | face_indirect (size_t i) const
size_t | n_edge () const
size_t | edge (size_t i) const
size_t | edge_local_vertex (size_t iedg, size_t edg_iv) const
size_t | face (size_t i) const
size_t | n_face () const
size_t | face_n_vertex (size_t loc_ifac) const
size_t | face_local_vertex (size_t iedg, size_t edg_iv) const
| geo_element ()

## Static Public Member Functions

static size_type | fix_edge_indirect (const geo_element &K, size_type loc_iedg, size_type loc_iedg_j, size_type order)
static size_type | fix_edge_indirect (orientation_type orient, size_type order, size_type loc_iedg_j)
static void | loc_tri_inod2lattice (size_type loc_tri_inod, size_type order, point_basic< size_type > &ij_lattice)
static void | loc_qua_inod2lattice (size_type loc_qua_inod, size_type order, point_basic< size_type > &ij_lattice)
static size_type | fix_triangle_indirect (const geo_element &K, size_type loc_itri, size_type loc_itri_j, size_type order)
static size_type | fix_triangle_indirect (orientation_type orient, shift_type shift, size_type order, size_type loc_itri_j)
static size_type | fix_quadrangle_indirect (const geo_element &K, size_type loc_iqua, size_type loc_iqua_j, size_type order)
static size_type | fix_quadrangle_indirect (orientation_type orient, shift_type shift, size_type order, size_type loc_iqua_j)
static size_type | fix_indirect (const geo_element &K, size_type subgeo_variant, size_type loc_ige, size_type loc_comp_idof_on_subgeo, size_type order)
static size_type | _edge_offset (variant_type variant, size_type order)
static size_type | _face_offset (variant_type variant, size_type order)
static size_type | _node_offset (variant_type variant, size_type order)
static size_type | _data_size (variant_type variant, size_type order)
static size_type | _data_size (const parameter_type &p)

## Protected Attributes

size_t | _variant
char | _name
size_t | _order
size_t | _index
size_t | _gmshtype
array< geo_element_indirect, 12 > | _edge
array< geo_element_indirect, 6 > | _face

## Detailed Description

see the `geo_element` page for the full documentation

Definition at line 102 of file geo_element.h.

## Member Typedef Documentation

## size_type

typedef reference_element::size_type size_type

Definition at line 125 of file geo_element.h.

## variant_type

typedef reference_element::variant_type variant_type

Definition at line 126 of file geo_element.h.

## iterator

typedef size_type* iterator

Definition at line 127 of file geo_element.h.

## const_iterator

typedef const size_type* const_iterator

Definition at line 128 of file geo_element.h.

## raw_type

typedef size_type raw_type

Definition at line 129 of file geo_element.h.

## generic_type

typedef geo_element generic_type

Definition at line 131 of file geo_element.h.

## automatic_type

typedef geo_element_auto<heap_allocator<size_type> > automatic_type

Definition at line 132 of file geo_element.h.

## orientation_type

typedef geo_element_indirect::orientation_type orientation_type

Definition at line 134 of file geo_element.h.

## shift_type

typedef geo_element_indirect::shift_type shift_type

Definition at line 135 of file geo_element.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
_variant_offset |
_order_offset |
_dis_ie_offset |
_ios_dis_ie_offset |
_master_offset |
_last_offset |

Definition at line 107 of file geo_element.h.

## Constructor & Destructor Documentation

## ~geo_element()

virtual ~geo_element | ( |  | ) |

virtual

Definition at line 152 of file geo_element.h.

## geo_element() [1/2]

geo_element | ( |  | ) |

Definition at line 95 of file field2gmsh_pos.cc.

## geo_element() [2/2]

geo_element | ( |  | ) |

Definition at line 251 of file msh2geo.cc.

## Member Function Documentation

## operator=()

geo_element& operator= | ( | const geo_element & | K | ) |

Definition at line 145 of file geo_element.h.

## reset()

virtual void reset | ( | variant_type | variant,
|  | size_type | order
| ) |  |

pure virtual

Implemented in geo_element_hack, and geo_element_auto< A >.

## operator reference_element()

operator reference_element | ( |  | ) | const

Definition at line 157 of file geo_element.h.

## variant() [1/3]

variant_type variant | ( |  | ) | const

Definition at line 161 of file geo_element.h.

## order() [1/2]

size_type order | ( |  | ) | const

Definition at line 162 of file geo_element.h.

## dis_ie()

size_type dis_ie | ( |  | ) | const

Definition at line 163 of file geo_element.h.

## ios_dis_ie()

size_type ios_dis_ie | ( |  | ) | const

Definition at line 164 of file geo_element.h.

## master()

size_type master | ( | bool | i | ) | const

Definition at line 165 of file geo_element.h.

## dimension() [1/3]

size_type dimension | ( |  | ) | const

Definition at line 167 of file geo_element.h.

## size() [1/2]

size_type size | ( |  | ) | const

Definition at line 168 of file geo_element.h.

## name() [1/3]

char name | ( |  | ) | const

Definition at line 169 of file geo_element.h.

## n_node()

size_type n_node | ( |  | ) | const

Definition at line 170 of file geo_element.h.

## set_dis_ie()

void set_dis_ie | ( | size_type | dis_ie | ) |

Definition at line 172 of file geo_element.h.

## set_ios_dis_ie()

void set_ios_dis_ie | ( | size_type | ios_dis_ie | ) |

Definition at line 173 of file geo_element.h.

## set_master()

void set_master | ( | bool | i,
|  | size_type | dis_ie
| ) |  | const

Definition at line 174 of file geo_element.h.

## begin() [1/4]

iterator begin | ( |  | ) |

Definition at line 179 of file geo_element.h.

## begin() [2/4]

const_iterator begin | ( |  | ) | const

Definition at line 180 of file geo_element.h.

## end() [1/4]

iterator end | ( |  | ) |

Definition at line 181 of file geo_element.h.

## end() [2/4]

const_iterator end | ( |  | ) | const

Definition at line 182 of file geo_element.h.

## operator[]() [1/2]

size_type& operator[] | ( | size_type | loc_inod | ) |

Definition at line 183 of file geo_element.h.

## operator[]() [2/2]

size_type operator[] | ( | size_type | loc_inod | ) | const

Definition at line 184 of file geo_element.h.

## node() [1/2]

size_type& node | ( | size_type | loc_inod | ) |

Definition at line 185 of file geo_element.h.

## node() [2/2]

size_type node | ( | size_type | loc_inod | ) | const

Definition at line 186 of file geo_element.h.

## begin() [3/4]

iterator begin | ( | size_type | node_subgeo_dim | ) |

Definition at line 188 of file geo_element.h.

## begin() [4/4]

const_iterator begin | ( | size_type | node_subgeo_dim | ) | const

Definition at line 189 of file geo_element.h.

## end() [3/4]

iterator end | ( | size_type | node_subgeo_dim | ) |

Definition at line 190 of file geo_element.h.

## end() [4/4]

const_iterator end | ( | size_type | node_subgeo_dim | ) | const

Definition at line 191 of file geo_element.h.

## edge_indirect() [1/4]

const geo_element_indirect& edge_indirect | ( | size_type | i | ) | const

Definition at line 193 of file geo_element.h.

## face_indirect() [1/4]

const geo_element_indirect& face_indirect | ( | size_type | i | ) | const

Definition at line 197 of file geo_element.h.

## edge_indirect() [2/4]

geo_element_indirect& edge_indirect | ( | size_type | i | ) |

Definition at line 201 of file geo_element.h.

## face_indirect() [2/4]

geo_element_indirect& face_indirect | ( | size_type | i | ) |

Definition at line 205 of file geo_element.h.

## edge() [1/2]

size_type edge | ( | size_type | i | ) | const

Definition at line 209 of file geo_element.h.

## face() [1/2]

size_type face | ( | size_type | i | ) | const

Definition at line 210 of file geo_element.h.

## n_subgeo()

size_type n_subgeo | ( | size_type | subgeo_dim | ) | const

Definition at line 212 of file geo_element.h.

## subgeo_dis_index()

size_type subgeo_dis_index | ( | size_type | subgeo_dim,
|  | size_type | i
| ) |  | const

Definition at line 214 of file geo_element.h.

## subgeo_n_node()

size_type subgeo_n_node | ( | size_type | subgeo_dim,
|  | size_type | loc_isid
| ) |  | const

Definition at line 217 of file geo_element.h.

## subgeo_local_node()

size_type subgeo_local_node | ( | size_type | subgeo_dim,
|  | size_type | loc_isid,
|  | size_type | loc_jsidnod
| ) |  | const

Definition at line 219 of file geo_element.h.

## subgeo_size()

size_type subgeo_size | ( | size_type | subgeo_dim,
|  | size_type | loc_isid
| ) |  | const

Definition at line 221 of file geo_element.h.

## subgeo_local_vertex()

size_type subgeo_local_vertex | ( | size_type | subgeo_dim,
|  | size_type | i_subgeo,
|  | size_type | i_subgeo_vertex
| ) |  | const

Definition at line 223 of file geo_element.h.

## first_inod()

size_type first_inod | ( | size_type | subgeo_dim | ) | const

Definition at line 225 of file geo_element.h.

## last_inod()

size_type last_inod | ( | size_type | subgeo_dim | ) | const

Definition at line 227 of file geo_element.h.

## n_edge() [1/2]

size_type n_edge | ( |  | ) | const

Definition at line 230 of file geo_element.h.

## n_face() [1/2]

size_type n_face | ( |  | ) | const

Definition at line 231 of file geo_element.h.

## get_side_informations() [1/2]

geo_element::orientation_type get_side_informations | ( | const geo_element & | S,
|  | size_type & | loc_isid,
|  | size_type & | shift
| ) |  | const

Definition at line 185 of file geo_element.cc.

## get_side_informations() [2/2]

void get_side_informations | ( | const geo_element & | S,
|  | side_information_type & | sid
| ) |  | const

Definition at line 230 of file geo_element.cc.

## get_side_orientation()

geo_element::orientation_type get_side_orientation | ( | const geo_element & | S | ) | const

Definition at line 240 of file geo_element.cc.

## get_orientation_and_shift() [1/3]

bool get_orientation_and_shift | ( | const geo_element & | S,
|  | orientation_type & | orient,
|  | shift_type & | shift
| ) |  | const

return orientation and shift between *this element and S

assume that vertices of *this and S match this routine is used for domain elements identification shift : such that vertex (*this)[0] == S[shift] matches orient=+1 : when (*this)[1] == S[shift+1] return true when all is ok (does not check fully that elements match)

Definition at line 114 of file geo_element.cc.

## get_edge_orientation()

geo_element::orientation_type get_edge_orientation | ( | size_type | dis_iv0,
|  | size_type | dis_iv1
| ) |  | const

Definition at line 155 of file geo_element.cc.

## get_orientation_and_shift() [2/3]

void get_orientation_and_shift | ( | size_type | dis_iv0,
|  | size_type | dis_iv1,
|  | size_type | dis_iv2,
|  | orientation_type & | orient,
|  | shift_type & | shift
| ) |  | const

Definition at line 163 of file geo_element.cc.

## get_orientation_and_shift() [3/3]

void get_orientation_and_shift | ( | size_type | dis_iv0,
|  | size_type | dis_iv1,
|  | size_type | dis_iv2,
|  | size_type | dis_iv3,
|  | orientation_type & | orient,
|  | shift_type & | shift
| ) |  | const

Definition at line 173 of file geo_element.cc.

## put()

void put | ( | std::ostream & | is | ) | const

Definition at line 93 of file geo_element.cc.

## get()

void get | ( | std::istream & | os | ) |

Definition at line 42 of file geo_element.cc.

## fix_edge_indirect() [1/2]

geo_element::size_type fix_edge_indirect | ( | const geo_element & | K,
|  | size_type | loc_iedg,
|  | size_type | loc_iedg_j,
|  | size_type | order
| ) |  |

static

Definition at line 253 of file geo_element.cc.

## fix_edge_indirect() [2/2]

static size_type fix_edge_indirect | ( | orientation_type | orient,
|  | size_type | order,
|  | size_type | loc_iedg_j
| ) |  |

static

## loc_tri_inod2lattice()

void loc_tri_inod2lattice | ( | size_type | loc_tri_inod,
|  | size_type | order,
|  | point_basic< size_type > & | ij_lattice
| ) |  |

static

Definition at line 265 of file geo_element.cc.

## loc_qua_inod2lattice()

void loc_qua_inod2lattice | ( | size_type | loc_qua_inod,
|  | size_type | order,
|  | point_basic< size_type > & | ij_lattice
| ) |  |

static

Definition at line 294 of file geo_element.cc.

## fix_triangle_indirect() [1/2]

geo_element::size_type fix_triangle_indirect | ( | const geo_element & | K,
|  | size_type | loc_itri,
|  | size_type | loc_itri_j,
|  | size_type | order
| ) |  |

static

Definition at line 282 of file geo_element.cc.

## fix_triangle_indirect() [2/2]

geo_element::size_type fix_triangle_indirect | ( | orientation_type | orient,
|  | shift_type | shift,
|  | size_type | order,
|  | size_type | loc_itri_j
| ) |  |

static

Definition at line 273 of file geo_element.cc.

## fix_quadrangle_indirect() [1/2]

geo_element::size_type fix_quadrangle_indirect | ( | const geo_element & | K,
|  | size_type | loc_iqua,
|  | size_type | loc_iqua_j,
|  | size_type | order
| ) |  |

static

Definition at line 311 of file geo_element.cc.

## fix_quadrangle_indirect() [2/2]

geo_element::size_type fix_quadrangle_indirect | ( | orientation_type | orient,
|  | shift_type | shift,
|  | size_type | order,
|  | size_type | loc_iqua_j
| ) |  |

static

Definition at line 302 of file geo_element.cc.

## fix_indirect()

geo_element::size_type fix_indirect | ( | const geo_element & | K,
|  | size_type | subgeo_variant,
|  | size_type | loc_ige,
|  | size_type | loc_comp_idof_on_subgeo,
|  | size_type | order
| ) |  |

static

Definition at line 320 of file geo_element.cc.

## _edge_offset()

static size_type _edge_offset | ( | variant_type | variant,
|  | size_type | order
| ) |  |

static

Definition at line 324 of file geo_element.h.

## _face_offset()

static size_type _face_offset | ( | variant_type | variant,
|  | size_type | order
| ) |  |

static

Definition at line 325 of file geo_element.h.

## _node_offset()

static size_type _node_offset | ( | variant_type | variant,
|  | size_type | order
| ) |  |

static

Definition at line 326 of file geo_element.h.

## _data_size() [1/3]

static size_type _data_size | ( | variant_type | variant,
|  | size_type | order
| ) |  |

static

Definition at line 327 of file geo_element.h.

## _data_size() [2/3]

static size_type _data_size | ( | const parameter_type & | p | ) |

static

Definition at line 328 of file geo_element.h.

## _data_size() [3/3]

size_type _data_size | ( |  | ) | const

Definition at line 330 of file geo_element.h.

## _data_begin() [1/2]

virtual iterator _data_begin | ( |  | ) |

pure virtual

Implemented in geo_element_hack, and geo_element_auto< A >.

## _data_end() [1/2]

virtual iterator _data_end | ( |  | ) |

pure virtual

Implemented in geo_element_hack, and geo_element_auto< A >.

## _data_begin() [2/2]

virtual const_iterator _data_begin | ( |  | ) | const

pure virtual

Implemented in geo_element_hack, and geo_element_auto< A >.

## _data_end() [2/2]

virtual const_iterator _data_end | ( |  | ) | const

pure virtual

Implemented in geo_element_hack, and geo_element_auto< A >.

## serialize()

void serialize | ( | Archive & | ar,
|  | const unsigned int | version
| ) |  |

Definition at line 338 of file geo_element.h.

## setname() [1/2]

void setname | ( | char | name | ) |

Definition at line 89 of file field2gmsh_pos.cc.

## name() [2/3]

char name | ( |  | ) | const

Definition at line 90 of file field2gmsh_pos.cc.

## variant() [2/3]

size_t variant | ( |  | ) | const

Definition at line 91 of file field2gmsh_pos.cc.

## dimension() [2/3]

size_t dimension | ( |  | ) | const

Definition at line 92 of file field2gmsh_pos.cc.

## n_vertex() [1/2]

size_t n_vertex | ( |  | ) | const

Definition at line 93 of file field2gmsh_pos.cc.

## size() [2/2]

size_t size | ( |  | ) | const

Definition at line 94 of file field2gmsh_pos.cc.

## setname() [2/2]

void setname | ( | char | name | ) |

Definition at line 229 of file msh2geo.cc.

## setorder()

void setorder | ( | size_t | order | ) |

Definition at line 230 of file msh2geo.cc.

## setindex()

void setindex | ( | size_t | index | ) |

Definition at line 231 of file msh2geo.cc.

## setgmshtype()

void setgmshtype | ( | size_t | gmshtype | ) |

Definition at line 232 of file msh2geo.cc.

## edge_indirect() [3/4]

geo_element_indirect& edge_indirect | ( | size_t | i | ) |

Definition at line 233 of file msh2geo.cc.

## face_indirect() [3/4]

geo_element_indirect& face_indirect | ( | size_t | i | ) |

Definition at line 234 of file msh2geo.cc.

## name() [3/3]

char name | ( |  | ) | const

Definition at line 235 of file msh2geo.cc.

## order() [2/2]

size_t order | ( |  | ) | const

Definition at line 236 of file msh2geo.cc.

## index()

size_t index | ( |  | ) | const

Definition at line 237 of file msh2geo.cc.

## gmshtype()

size_t gmshtype | ( |  | ) | const

Definition at line 238 of file msh2geo.cc.

## variant() [3/3]

size_t variant | ( |  | ) | const

Definition at line 239 of file msh2geo.cc.

## dimension() [3/3]

size_t dimension | ( |  | ) | const

Definition at line 240 of file msh2geo.cc.

## n_vertex() [2/2]

size_t n_vertex | ( |  | ) | const

Definition at line 241 of file msh2geo.cc.

## edge_indirect() [4/4]

const geo_element_indirect& edge_indirect | ( | size_t | i | ) | const

Definition at line 242 of file msh2geo.cc.

## face_indirect() [4/4]

const geo_element_indirect& face_indirect | ( | size_t | i | ) | const

Definition at line 243 of file msh2geo.cc.

## n_edge() [2/2]

size_t n_edge | ( |  | ) | const

Definition at line 244 of file msh2geo.cc.

## edge() [2/2]

size_t edge | ( | size_t | i | ) | const

Definition at line 245 of file msh2geo.cc.

## edge_local_vertex()

size_t edge_local_vertex | ( | size_t | iedg,
|  | size_t | edg_iv
| ) |  | const

Definition at line 263 of file msh2geo.cc.

## face() [2/2]

size_t face | ( | size_t | i | ) | const

Definition at line 247 of file msh2geo.cc.

## n_face() [2/2]

size_t n_face | ( |  | ) | const

Definition at line 248 of file msh2geo.cc.

## face_n_vertex()

size_t face_n_vertex | ( | size_t | loc_ifac | ) | const

Definition at line 288 of file msh2geo.cc.

## face_local_vertex()

size_t face_local_vertex | ( | size_t | iedg,
|  | size_t | edg_iv
| ) |  | const

Definition at line 276 of file msh2geo.cc.

## Member Data Documentation

## _variant

size_t _variant

protected

Definition at line 97 of file field2gmsh_pos.cc.

## _name

char _name

protected

Definition at line 255 of file msh2geo.cc.

## _order

size_t _order

protected

Definition at line 256 of file msh2geo.cc.

## _index

size_t _index

protected

Definition at line 257 of file msh2geo.cc.

## _gmshtype

size_t _gmshtype

protected

Definition at line 258 of file msh2geo.cc.

## _edge

array<geo_element_indirect,12> _edge

protected

Definition at line 259 of file msh2geo.cc.

## _face

array<geo_element_indirect,6> _face

protected

Definition at line 260 of file msh2geo.cc.

The documentation for this class was generated from the following files:

- /build/rheolef-FQTnje/rheolef-7.1/fem/geo_element/geo_element.h
- /build/rheolef-FQTnje/rheolef-7.1/main/sbin/field2gmsh_pos.cc
- /build/rheolef-FQTnje/rheolef-7.1/main/sbin/msh2geo.cc
- /build/rheolef-FQTnje/rheolef-7.1/fem/geo_element/geo_element.cc