55 typedef std::pair<Mesh *, bool>
base;
72 class OPENMEEG_EXPORT
Interface:
public std::vector<OrientedMesh> {
82 Interface(
const std::string _name): name_(_name), outermost_(false) { }
84 const std::string
name()
const {
return name_; }
85 const bool &
outermost()
const {
return outermost_; }
88 bool check(
bool checked =
false);
93 for ( const_iterator omit = begin(); omit != end(); ++omit) {
94 nb += omit->mesh().nb_vertices();
102 for ( const_iterator omit = begin(); omit != end(); ++omit) {
103 nb += omit->mesh().nb_triangles();
111 for ( const_iterator omit = begin(); omit != end(); ++omit) {
113 triangles.insert(triangles.end(), tri.begin(), tri.end());
Interface class An interface is a closed-shape composed of oriented meshes (here pointer to meshes)
bool check(bool checked=false)
Check the global orientation.
const std::string name() const
size_t nb_triangles() const
size_t nb_vertices() const
bool contains_point(const Vect3 &p) const
void set_to_outermost()
set all interface meshes to outermost state.
const bool & outermost() const
Interface(const std::string _name)
Constructor from a name.
bool outermost_
tell weather or not the interface touches the Air (Outermost) Domain.
double compute_solid_angle(const Vect3 &p) const
Given a point p, it computes the solid angle.
Mesh::VectPTriangle VectPTriangle
Interface()
Default Constructor.
std::string name_
is "" by default
VectPTriangle adjacent_triangles(const Triangle &t) const
std::vector< Triangle * > VectPTriangle
An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented.
std::pair< Mesh *, bool > base
OrientedMesh()
default constructors
int orientation() const
orientation is +1 or -1 ?
OrientedMesh(Mesh &_mesh, bool _inside)
const Mesh & mesh() const
access mesh
std::vector< Interface > Interfaces
A vector of Interface is called Interfaces.