OpenMEEG
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
OpenMEEG::Geometry Class Reference

Geometry contains the electrophysiological model Here are stored the vertices, meshes and domains. More...

#include <geometry.h>

Public Types

enum  VersionId { UNKNOWN_VERSION =-1, VERSION10, VERSION11 }
 
typedef Meshes::iterator iterator
 Default iterator of a Geometry is an Iterator on the meshes. More...
 
typedef Meshes::const_iterator const_iterator
 

Public Member Functions

VersionId version () const
 
iterator begin ()
 Iterators. More...
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
Vertices::iterator vertex_begin ()
 
Vertices::const_iterator vertex_begin () const
 
Vertices::iterator vertex_end ()
 
Vertices::const_iterator vertex_end () const
 
Domains::iterator domain_begin ()
 
Domains::const_iterator domain_begin () const
 
Domains::iterator domain_end ()
 
Domains::const_iterator domain_end () const
 
 Geometry ()
 Constructors. More...
 
 Geometry (const std::string &geomFileName, const std::string &condFileName="", const bool OLD_ORDERING=false)
 
void info (const bool verbous=false) const
 Print information on the geometry. More...
 
const bool & has_cond () const
 
const bool & is_nested () const
 
bool selfCheck () const
 the geometry meshes intersect each other More...
 
bool check (const Mesh &m) const
 check if m intersect geometry meshes More...
 
bool check_inner (const Matrix &m) const
 check if dipoles are outside of geometry meshes More...
 
const Verticesvertices () const
 returns the geometry vertices More...
 
const Meshesmeshes () const
 returns the geometry meshes More...
 
const Domainsdomains () const
 returns the geometry domains More...
 
size_t size () const
 the total number of vertices + triangles More...
 
size_t nb_vertices () const
 
size_t nb_triangles () const
 
size_t nb_domains () const
 
size_t nb_meshes () const
 
const Interfaceoutermost_interface () const
 returns the outermost interface (only valid for nested geometries). More...
 
const Interfaceinnermost_interface () const
 returns the innermost interface (only valid for nested geometries). More...
 
const Interfaceinterface (const std::string &id) const
 returns the Interface called id More...
 
const Domaindomain (const std::string &id) const
 returns the Domain called id More...
 
const Domaindomain (const Vect3 &p) const
 returns the Domain containing the point p More...
 
void import_meshes (const Meshes &m)
 imports meshes from a list of meshes More...
 
const double & sigma (const Domain &d) const
 
double sigma (const Mesh &m1, const Mesh &m2) const
 
double sigma_inv (const Mesh &m1, const Mesh &m2) const
 
double indicator (const Mesh &m1, const Mesh &m2) const
 
double sigma_diff (const Mesh &m) const
 
double sigma (const std::string &) const
 
int oriented (const Mesh &, const Mesh &) const
 
void read (const std::string &geomFileName, const std::string &condFileName="", const bool OLD_ORDERING=false)
 
void load_vtp (const std::string &filename)
 
void load_vtp (const std::string &filename, Matrix &data, const bool READ_DATA=true)
 load a VTK\vtp file More...
 
void write_vtp (const std::string &filename, const Matrix &data=Matrix()) const
 write a VTK\vtp file More...
 
const size_t & nb_current_barrier_triangles () const
 handle multiple 0 conductivity domains More...
 
size_t & nb_current_barrier_triangles ()
 
const size_t nb_invalid_vertices ()
 
const std::vector< Strings > & geo_group () const
 
void mark_current_barrier ()
 
const Meshmesh (const std::string &id) const
 

Private Types

enum  Function { IDENTITY, INVERSE, INDICATOR }
 

Private Member Functions

Meshmesh (const std::string &id)
 returns the Mesh called id More...
 
void generate_indices (const bool)
 
const Domains common_domains (const Mesh &, const Mesh &) const
 
double funct_on_domains (const Mesh &, const Mesh &, const Function &) const
 

Private Attributes

VersionId version_id
 Members. More...
 
Vertices vertices_
 
Meshes meshes_
 
Domains domains_
 
bool has_cond_
 
bool is_nested_
 
size_t size_
 
std::set< Vertexinvalid_vertices_
 handle multiple 0 conductivity domains More...
 
size_t nb_current_barrier_triangles_
 number of triangles with 0 normal current. Including triangles of invalid meshes. More...
 
std::vector< Stringsgeo_group_
 Mesh names that belong to different isolated groups. More...
 

Friends

class GeometryReader
 

Detailed Description

Geometry contains the electrophysiological model Here are stored the vertices, meshes and domains.

Definition at line 61 of file geometry.h.

Member Typedef Documentation

typedef Meshes::iterator OpenMEEG::Geometry::iterator

Default iterator of a Geometry is an Iterator on the meshes.

Definition at line 72 of file geometry.h.

typedef Meshes::const_iterator OpenMEEG::Geometry::const_iterator

Definition at line 73 of file geometry.h.

Member Enumeration Documentation

Enumerator
UNKNOWN_VERSION 
VERSION10 
VERSION11 

Definition at line 67 of file geometry.h.

Enumerator
IDENTITY 
INVERSE 
INDICATOR 

Definition at line 140 of file geometry.h.

Constructor & Destructor Documentation

OpenMEEG::Geometry::Geometry ( )
inline

Constructors.

Definition at line 90 of file geometry.h.

OpenMEEG::Geometry::Geometry ( const std::string &  geomFileName,
const std::string &  condFileName = "",
const bool  OLD_ORDERING = false 
)
inline

Definition at line 91 of file geometry.h.

Member Function Documentation

VersionId OpenMEEG::Geometry::version ( ) const
inline

Definition at line 69 of file geometry.h.

iterator OpenMEEG::Geometry::begin ( )
inline

Iterators.

Definition at line 76 of file geometry.h.

const_iterator OpenMEEG::Geometry::begin ( ) const
inline

Definition at line 77 of file geometry.h.

iterator OpenMEEG::Geometry::end ( )
inline

Definition at line 78 of file geometry.h.

const_iterator OpenMEEG::Geometry::end ( ) const
inline

Definition at line 79 of file geometry.h.

Vertices::iterator OpenMEEG::Geometry::vertex_begin ( )
inline

Definition at line 80 of file geometry.h.

Vertices::const_iterator OpenMEEG::Geometry::vertex_begin ( ) const
inline

Definition at line 81 of file geometry.h.

Vertices::iterator OpenMEEG::Geometry::vertex_end ( )
inline

Definition at line 82 of file geometry.h.

Vertices::const_iterator OpenMEEG::Geometry::vertex_end ( ) const
inline

Definition at line 83 of file geometry.h.

Domains::iterator OpenMEEG::Geometry::domain_begin ( )
inline

Definition at line 84 of file geometry.h.

Domains::const_iterator OpenMEEG::Geometry::domain_begin ( ) const
inline

Definition at line 85 of file geometry.h.

Domains::iterator OpenMEEG::Geometry::domain_end ( )
inline

Definition at line 86 of file geometry.h.

Domains::const_iterator OpenMEEG::Geometry::domain_end ( ) const
inline

Definition at line 87 of file geometry.h.

void OpenMEEG::Geometry::info ( const bool  verbous = false) const

Print information on the geometry.

const bool& OpenMEEG::Geometry::has_cond ( ) const
inline

Definition at line 94 of file geometry.h.

const bool& OpenMEEG::Geometry::is_nested ( ) const
inline

Definition at line 95 of file geometry.h.

bool OpenMEEG::Geometry::selfCheck ( ) const

the geometry meshes intersect each other

bool OpenMEEG::Geometry::check ( const Mesh m) const

check if m intersect geometry meshes

bool OpenMEEG::Geometry::check_inner ( const Matrix m) const

check if dipoles are outside of geometry meshes

const Vertices& OpenMEEG::Geometry::vertices ( ) const
inline

returns the geometry vertices

Definition at line 99 of file geometry.h.

const Meshes& OpenMEEG::Geometry::meshes ( ) const
inline

returns the geometry meshes

Definition at line 100 of file geometry.h.

const Domains& OpenMEEG::Geometry::domains ( ) const
inline

returns the geometry domains

Definition at line 101 of file geometry.h.

size_t OpenMEEG::Geometry::size ( ) const
inline

the total number of vertices + triangles

Definition at line 102 of file geometry.h.

size_t OpenMEEG::Geometry::nb_vertices ( ) const
inline

Definition at line 103 of file geometry.h.

size_t OpenMEEG::Geometry::nb_triangles ( ) const
inline

Definition at line 104 of file geometry.h.

size_t OpenMEEG::Geometry::nb_domains ( ) const
inline

Definition at line 105 of file geometry.h.

size_t OpenMEEG::Geometry::nb_meshes ( ) const
inline

Definition at line 106 of file geometry.h.

const Interface& OpenMEEG::Geometry::outermost_interface ( ) const

returns the outermost interface (only valid for nested geometries).

const Interface& OpenMEEG::Geometry::innermost_interface ( ) const

returns the innermost interface (only valid for nested geometries).

const Interface& OpenMEEG::Geometry::interface ( const std::string &  id) const

returns the Interface called id

Parameters
idInterface name
const Domain& OpenMEEG::Geometry::domain ( const std::string &  id) const

returns the Domain called id

Parameters
idDomain name
const Domain& OpenMEEG::Geometry::domain ( const Vect3 p) const

returns the Domain containing the point p

Parameters
pa point
void OpenMEEG::Geometry::import_meshes ( const Meshes m)

imports meshes from a list of meshes

const double& OpenMEEG::Geometry::sigma ( const Domain d) const
inline

Definition at line 117 of file geometry.h.

double OpenMEEG::Geometry::sigma ( const Mesh m1,
const Mesh m2 
) const
inline

Definition at line 118 of file geometry.h.

double OpenMEEG::Geometry::sigma_inv ( const Mesh m1,
const Mesh m2 
) const
inline

Definition at line 119 of file geometry.h.

double OpenMEEG::Geometry::indicator ( const Mesh m1,
const Mesh m2 
) const
inline

Definition at line 120 of file geometry.h.

double OpenMEEG::Geometry::sigma_diff ( const Mesh m) const
double OpenMEEG::Geometry::sigma ( const std::string &  ) const
int OpenMEEG::Geometry::oriented ( const Mesh ,
const Mesh  
) const
void OpenMEEG::Geometry::read ( const std::string &  geomFileName,
const std::string &  condFileName = "",
const bool  OLD_ORDERING = false 
)
void OpenMEEG::Geometry::load_vtp ( const std::string &  filename)
inline

Definition at line 126 of file geometry.h.

void OpenMEEG::Geometry::load_vtp ( const std::string &  filename,
Matrix data,
const bool  READ_DATA = true 
)

load a VTK\vtp file

Parameters
filenameinto a mesh. Optionally read some associated data in matrix
dataif
READ_DATAis true.

Definition at line 65 of file geometry_io.h.

void OpenMEEG::Geometry::write_vtp ( const std::string &  filename,
const Matrix data = Matrix() 
) const

write a VTK\vtp file

Parameters
filenamewith associated data in
data.

Definition at line 161 of file geometry_io.h.

const size_t& OpenMEEG::Geometry::nb_current_barrier_triangles ( ) const
inline

handle multiple 0 conductivity domains

Definition at line 131 of file geometry.h.

size_t& OpenMEEG::Geometry::nb_current_barrier_triangles ( )
inline

Definition at line 132 of file geometry.h.

const size_t OpenMEEG::Geometry::nb_invalid_vertices ( )
inline

Definition at line 133 of file geometry.h.

const std::vector<Strings>& OpenMEEG::Geometry::geo_group ( ) const
inline

Definition at line 134 of file geometry.h.

void OpenMEEG::Geometry::mark_current_barrier ( )
const Mesh& OpenMEEG::Geometry::mesh ( const std::string &  id) const
Mesh& OpenMEEG::Geometry::mesh ( const std::string &  id)
private

returns the Mesh called id

Parameters
idMesh name
void OpenMEEG::Geometry::generate_indices ( const bool  )
private
const Domains OpenMEEG::Geometry::common_domains ( const Mesh ,
const Mesh  
) const
private
double OpenMEEG::Geometry::funct_on_domains ( const Mesh ,
const Mesh ,
const Function  
) const
private

Friends And Related Function Documentation

friend class GeometryReader
friend

Definition at line 63 of file geometry.h.

Member Data Documentation

VersionId OpenMEEG::Geometry::version_id
private

Members.

Definition at line 145 of file geometry.h.

Vertices OpenMEEG::Geometry::vertices_
private

Definition at line 146 of file geometry.h.

Meshes OpenMEEG::Geometry::meshes_
private

Definition at line 147 of file geometry.h.

Domains OpenMEEG::Geometry::domains_
private

Definition at line 148 of file geometry.h.

bool OpenMEEG::Geometry::has_cond_
private

Definition at line 149 of file geometry.h.

bool OpenMEEG::Geometry::is_nested_
private

Definition at line 150 of file geometry.h.

size_t OpenMEEG::Geometry::size_
private

Definition at line 151 of file geometry.h.

std::set<Vertex> OpenMEEG::Geometry::invalid_vertices_
private

handle multiple 0 conductivity domains

does not equal to the vertices of invalid meshes because there are shared vertices

Definition at line 158 of file geometry.h.

size_t OpenMEEG::Geometry::nb_current_barrier_triangles_
private

number of triangles with 0 normal current. Including triangles of invalid meshes.

Definition at line 159 of file geometry.h.

std::vector<Strings> OpenMEEG::Geometry::geo_group_
private

Mesh names that belong to different isolated groups.

Definition at line 160 of file geometry.h.


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