OpenMEEG
Loading...
Searching...
No Matches
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 unsigned n)
 
 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

Definition at line 50 of file geometry.h.

◆ MeshParts

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

Definition at line 51 of file geometry.h.

◆ MeshList

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

Definition at line 53 of file geometry.h.

Constructor & Destructor Documentation

◆ Geometry() [1/6]

OpenMEEG::Geometry::Geometry ( )
inline

Constructors.

Definition at line 57 of file geometry.h.

◆ Geometry() [2/6]

OpenMEEG::Geometry::Geometry ( const unsigned n)
inline

Definition at line 59 of file geometry.h.

◆ Geometry() [3/6]

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

Definition at line 63 of file geometry.h.

◆ Geometry() [4/6]

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

Definition at line 67 of file geometry.h.

◆ Geometry() [5/6]

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

Definition at line 73 of file geometry.h.

◆ Geometry() [6/6]

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

Definition at line 74 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 78 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 91 of file geometry.h.

◆ vertices() [1/2]

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

Return the list of vertices involved in the geometry.

Definition at line 95 of file geometry.h.

◆ vertices() [2/2]

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

Definition at line 96 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 100 of file geometry.h.

◆ add_mesh()

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

Definition at line 111 of file geometry.h.

◆ add_vertices()

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

Definition at line 122 of file geometry.h.

◆ meshes() [1/2]

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

Return the list of meshes involved in the geometry.

Definition at line 131 of file geometry.h.

◆ meshes() [2/2]

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

Definition at line 132 of file geometry.h.

◆ communicating_mesh_pairs()

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

Definition at line 134 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 142 of file geometry.h.

◆ domains() [2/3]

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

Definition at line 143 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 152 of file geometry.h.

◆ nb_parameters()

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

the total number of vertices + triangles

Definition at line 160 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 167 of file geometry.h.

◆ is_outermost()

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

Definition at line 173 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 182 of file geometry.h.

◆ sigma_inv()

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

Definition at line 183 of file geometry.h.

◆ indicator()

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

Definition at line 184 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 188 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 201 of file geometry.h.

◆ load() [1/2]

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

Definition at line 211 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 217 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 228 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 253 of file geometry.h.

◆ nb_current_barrier_triangles() [2/2]

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

Definition at line 254 of file geometry.h.

◆ nb_invalid_vertices()

size_t OpenMEEG::Geometry::nb_invalid_vertices ( )
inline

Definition at line 255 of file geometry.h.

◆ isolated_parts()

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

Definition at line 257 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: