62 Interface(
const std::string& interfname): interface_name(interfname) { }
64 const std::string&
name()
const {
return interface_name; }
69 bool outermost()
const {
return outermost_interface; }
80 for (
const auto& omesh : oriented_meshes())
81 nb += omesh.mesh().vertices().size();
89 for (
const auto& omesh : oriented_meshes())
90 nb += omesh.mesh().triangles().size();
98 for (
const auto& omesh : oriented_meshes()) {
99 const TrianglesRefs& tri = omesh.mesh().adjacent_triangles(t);
100 triangles.insert(triangles.end(),tri.begin(),tri.end());
107 double solid_angle(
const Vect3& p)
const;
109 std::string interface_name =
"";
110 bool outermost_interface =
false;
111 OrientedMeshes orientedmeshes;
Interface class An interface is a closed-shape composed of oriented meshes (vector of oriented meshes...
const OrientedMeshes & oriented_meshes() const
size_t nb_triangles() const
size_t nb_vertices() const
const std::string & name() const
void set_to_outermost()
set all interface meshes to outermost state.
bool contains(const Vect3 &p) const
bool is_mesh_orientations_coherent(const bool doublechecked=false)
Check the global orientation.
std::vector< OrientedMesh > OrientedMeshes
Interface(const std::string &interfname)
Constructor from a name.
OrientedMeshes & oriented_meshes()
Interface()
Default Constructor.
TrianglesRefs adjacent_triangles(const Triangle &t) const
An Oriented Mesh is a mesh associated with a boolean stating if it is well oriented.
void change_orientation()
const Mesh & mesh() const
access mesh
int orientation() const
orientation is +1 or -1 ?
OrientedMesh(Mesh &m, const Orientation o)
std::vector< Triangle * > TrianglesRefs
std::vector< Interface > Interfaces
A vector of Interface is called Interfaces.