OpenMEEG
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
OpenMEEG::Geometry Class Reference

Geometry contains the electrophysiological model Vertices, meshes and domains are stored in this geometry. More...

#include <geometry.h>

Classes

struct  MeshPair
 

Public Types

typedef std::vector< MeshPairMeshPairs
 
typedef std::vector< const Domain * > DomainsReference
 
typedef std::vector< std::vector< const Mesh * > > MeshParts
 
typedef std::vector< std::pair< std::string, std::string > > MeshList
 

Public Member Functions

 Geometry ()
 Constructors.
 
 Geometry (const std::string &geomFileName, const bool OLD_ORDERING=false)
 
 Geometry (const std::string &geomFileName, const std::string &condFileName, const bool OLD_ORDERING=false)
 
 Geometry (const char *geomFileName, const bool OLD_ORDERING=false)
 
 Geometry (const char *geomFileName, const char *condFileName, const bool OLD_ORDERING=false)
 
void info (const bool verbose=false) const
 Print information on the geometry.
 
bool has_conductivities () const
 
bool selfCheck () const
 the geometry meshes intersect each other
 
bool check (const Mesh &m) const
 check if m intersect geometry meshes
 
bool check_inner (const Matrix &m) const
 check if dipoles are outside of geometry meshes
 
void check_geometry_is_nested ()
 
bool is_nested () const
 
Verticesvertices ()
 Return the list of vertices involved in the geometry.
 
const Verticesvertices () const
 
unsigned add_vertex (const Vertex &V)
 Add a vertex.
 
Meshadd_mesh (const std::string &name="")
 
IndexMap add_vertices (const Vertices &vs)
 
Meshesmeshes ()
 Return the list of meshes involved in the geometry.
 
const Meshesmeshes () const
 
const MeshPairscommunicating_mesh_pairs () const
 
Meshmesh (const std::string &name)
 returns the Mesh called
 
Domainsdomains ()
 Return the list of domains.
 
const Domainsdomains () const
 
const Domaindomain (const std::string &name) const
 Get specific domains.
 
const Domaindomain (const Vect3 &p) const
 returns the Domain containing the point p
 
DomainsReference domains (const Mesh &m) const
 Return the list of domains containing a mesh.
 
size_t nb_parameters () const
 the total number of vertices + triangles
 
Domainoutermost_domain ()
 Returns the outermost domain.
 
void set_outermost_domain (Domain &domain)
 
bool is_outermost (const Domain &domain) const
 
const Interfaceoutermost_interface () const
 returns the outermost interface (only valid for nested geometries).
 
const Interfaceinnermost_interface () const
 returns the innermost interface (only valid for nested geometries).
 
const Interfaceinterface (const std::string &name) const
 returns the Interface called
 
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 conductivity_jump (const Mesh &m) const
 Return the conductivity jump across a mesh (i.e. between the 2 domains it separates).
 
int relative_orientation (const Mesh &m1, const Mesh &m2) const
 Give the relative orientation of two meshes:
 
void load (const std::string &filename, const bool OLD_ORDERING=false)
 
void load (const std::string &geomFileName, const std::string &condFileName, const bool OLD_ORDERING=false)
 
void import (const MeshList &meshes)
 
void save (const std::string &filename) const
 
void finalize (const bool OLD_ORDERING=false)
 
size_t nb_current_barrier_triangles () const
 Handle multiple isolated domains.
 
size_t & nb_current_barrier_triangles ()
 
size_t nb_invalid_vertices ()
 
const MeshPartsisolated_parts () const
 
void mark_current_barriers ()
 
const Meshmesh (const std::string &id) const
 

Detailed Description

Geometry contains the electrophysiological model Vertices, meshes and domains are stored in this geometry.

Definition at line 31 of file geometry.h.

Member Typedef Documentation

◆ MeshPairs

Definition at line 48 of file geometry.h.

◆ DomainsReference

typedef std::vector<const Domain*> OpenMEEG::Geometry::DomainsReference

Definition at line 50 of file geometry.h.

◆ MeshParts

typedef std::vector<std::vector<const Mesh*> > OpenMEEG::Geometry::MeshParts

Definition at line 51 of file geometry.h.

◆ MeshList

typedef std::vector<std::pair<std::string,std::string> > OpenMEEG::Geometry::MeshList

Definition at line 53 of file geometry.h.

Constructor & Destructor Documentation

◆ Geometry() [1/5]

OpenMEEG::Geometry::Geometry ( )
inline

Constructors.

Definition at line 57 of file geometry.h.

◆ Geometry() [2/5]

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

Definition at line 59 of file geometry.h.

◆ Geometry() [3/5]

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

Definition at line 63 of file geometry.h.

◆ Geometry() [4/5]

OpenMEEG::Geometry::Geometry ( const char *  geomFileName,
const bool  OLD_ORDERING = false 
)
inline

Definition at line 69 of file geometry.h.

◆ Geometry() [5/5]

OpenMEEG::Geometry::Geometry ( const char *  geomFileName,
const char *  condFileName,
const bool  OLD_ORDERING = false 
)
inline

Definition at line 70 of file geometry.h.

Member Function Documentation

◆ info()

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

Print information on the geometry.

◆ has_conductivities()

bool OpenMEEG::Geometry::has_conductivities ( ) const
inline

Definition at line 74 of file geometry.h.

◆ selfCheck()

bool OpenMEEG::Geometry::selfCheck ( ) const

the geometry meshes intersect each other

◆ check()

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

check if m intersect geometry meshes

◆ check_inner()

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

check if dipoles are outside of geometry meshes

◆ check_geometry_is_nested()

void OpenMEEG::Geometry::check_geometry_is_nested ( )

◆ is_nested()

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

Definition at line 86 of file geometry.h.

◆ vertices() [1/2]

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

Return the list of vertices involved in the geometry.

Definition at line 90 of file geometry.h.

◆ vertices() [2/2]

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

Definition at line 91 of file geometry.h.

◆ add_vertex()

unsigned OpenMEEG::Geometry::add_vertex ( const Vertex V)
inline

Add a vertex.

Parameters
Vto the geometry and return the index of V in the vector of vertices.

Definition at line 95 of file geometry.h.

◆ add_mesh()

Mesh & OpenMEEG::Geometry::add_mesh ( const std::string &  name = "")
inline

Definition at line 106 of file geometry.h.

◆ add_vertices()

IndexMap OpenMEEG::Geometry::add_vertices ( const Vertices vs)
inline

Definition at line 117 of file geometry.h.

◆ meshes() [1/2]

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

Return the list of meshes involved in the geometry.

Definition at line 126 of file geometry.h.

◆ meshes() [2/2]

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

Definition at line 127 of file geometry.h.

◆ communicating_mesh_pairs()

const MeshPairs & OpenMEEG::Geometry::communicating_mesh_pairs ( ) const
inline

Definition at line 129 of file geometry.h.

◆ mesh() [1/2]

Mesh & OpenMEEG::Geometry::mesh ( const std::string &  name)

returns the Mesh called

Parameters
name.

◆ domains() [1/3]

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

Return the list of domains.

Definition at line 137 of file geometry.h.

◆ domains() [2/3]

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

Definition at line 138 of file geometry.h.

◆ domain() [1/2]

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

Get specific domains.

returns the Domain called

Parameters
name

◆ domain() [2/2]

const Domain & OpenMEEG::Geometry::domain ( const Vect3 p) const

returns the Domain containing the point p

Parameters
pa point

◆ domains() [3/3]

DomainsReference OpenMEEG::Geometry::domains ( const Mesh m) const
inline

Return the list of domains containing a mesh.

Definition at line 147 of file geometry.h.

◆ nb_parameters()

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

the total number of vertices + triangles

Definition at line 155 of file geometry.h.

◆ outermost_domain()

Domain & OpenMEEG::Geometry::outermost_domain ( )

Returns the outermost domain.

◆ set_outermost_domain()

void OpenMEEG::Geometry::set_outermost_domain ( Domain domain)
inline

Definition at line 162 of file geometry.h.

◆ is_outermost()

bool OpenMEEG::Geometry::is_outermost ( const Domain domain) const
inline

Definition at line 168 of file geometry.h.

◆ outermost_interface()

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

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

◆ innermost_interface()

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

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

◆ interface()

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

returns the Interface called

Parameters
name

◆ sigma()

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

Definition at line 177 of file geometry.h.

◆ sigma_inv()

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

Definition at line 178 of file geometry.h.

◆ indicator()

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

Definition at line 179 of file geometry.h.

◆ conductivity_jump()

double OpenMEEG::Geometry::conductivity_jump ( const Mesh m) const
inline

Return the conductivity jump across a mesh (i.e. between the 2 domains it separates).

Definition at line 183 of file geometry.h.

◆ relative_orientation()

int OpenMEEG::Geometry::relative_orientation ( const Mesh m1,
const Mesh m2 
) const
inline

Give the relative orientation of two meshes:

Returns
0, if they don't have any domains in common 1, if they are both oriented toward the same domain -1, if they are not

Definition at line 196 of file geometry.h.

◆ load() [1/2]

void OpenMEEG::Geometry::load ( const std::string &  filename,
const bool  OLD_ORDERING = false 
)
inline

Definition at line 206 of file geometry.h.

◆ load() [2/2]

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

Definition at line 212 of file geometry.h.

◆ import()

void OpenMEEG::Geometry::import ( const MeshList meshes)

◆ save()

void OpenMEEG::Geometry::save ( const std::string &  filename) const

◆ finalize()

void OpenMEEG::Geometry::finalize ( const bool  OLD_ORDERING = false)
inline

Definition at line 223 of file geometry.h.

◆ nb_current_barrier_triangles() [1/2]

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

Handle multiple isolated domains.

Definition at line 244 of file geometry.h.

◆ nb_current_barrier_triangles() [2/2]

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

Definition at line 245 of file geometry.h.

◆ nb_invalid_vertices()

size_t OpenMEEG::Geometry::nb_invalid_vertices ( )
inline

Definition at line 246 of file geometry.h.

◆ isolated_parts()

const MeshParts & OpenMEEG::Geometry::isolated_parts ( ) const
inline

Definition at line 248 of file geometry.h.

◆ mark_current_barriers()

void OpenMEEG::Geometry::mark_current_barriers ( )

◆ mesh() [2/2]

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

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