MoReFEM
|
Class used to store an face inside a GeometricElement. More...
#include <OrientedFace.hpp>
Public Types | |
using | shared_ptr = std::shared_ptr<OrientedFace> |
Alias to shared pointer. | |
using | vector_shared_ptr = std::vector<shared_ptr> |
Alias to vector of shared_pointer. | |
Public Member Functions | |
const Face & | GetUnorientedInterface () const noexcept |
Return the underlying Interface object (without orientation). | |
Face & | GetNonCstUnorientedInterface () noexcept |
Return the underlying Interface object (without orientation). | |
UnorientedInterfaceT::shared_ptr | GetUnorientedInterfacePtr () const noexcept |
Return the underlying Interface object as a smart pointer (without orientation). | |
const Coords::vector_shared_ptr & | GetCoordsList () const noexcept |
Return the list of Coords that delimit the interface. | |
std::size_t | GetOrientation () const noexcept |
Return the orientation. | |
InterfaceNS::program_wise_index_type | GetProgramWiseIndex () const noexcept |
Get the identifier associated to the unoriented interface. | |
void | Print (std::ostream &stream) const |
Print the underlying coords list and the orientation. | |
Special members. | |
template<Concept::TopologyIndexedSectionDescriptionType TopologyIndexedSectionDescriptionT> | |
OrientedFace (const Face::shared_ptr &face, const Coords::vector_shared_ptr &coords_list_in_geom_elt, std::size_t local_face_index, TopologyIndexedSectionDescriptionT topology_token) | |
Constructor. | |
~OrientedFace ()=default | |
Destructor. | |
OrientedFace (const OrientedFace &rhs)=delete | |
The copy constructor. | |
OrientedFace (OrientedFace &&rhs)=delete | |
The move constructor. | |
OrientedFace & | operator= (const OrientedFace &rhs)=delete |
The (copy) operator=. | |
OrientedFace & | operator= (OrientedFace &&rhs)=delete |
The (move) operator=. | |
Static Public Member Functions | |
static const std::string & | ClassName () |
Name of the class. | |
static constexpr InterfaceNS::Nature | StaticNature () noexcept |
Nature of the Interface as a static method. | |
Private Attributes | |
UnorientedInterfaceT::shared_ptr | unoriented_interface_ |
Underlying unoriented object. | |
const std::size_t | orientation_ |
Orientation. | |
Class used to store an face inside a GeometricElement.
An face may be shared among several GeometricElement, but their orientation might differ inside each of the GeometricElement. The purpose of the current object is therefore to store two information:
|
explicit |
Constructor.
[in] | face | Face before any orientation is applied. |
[in] | local_face_index | Index of the face in the local (topology) element; between 0 and Nface - 1. |
[in] | coords_list_in_geom_elt | List of Coords relared to the considered GeometricElt. |
[in] | topology_token | A token there for a C++ trick to enable a template argument in a constructor without making the whole class a templated one. The argument itself is not used: it is its type that matters. Said type must be an instantiation of Utilities::Type2Type class - to enable to call it without actually instantiating an object. The template parameter given to this class is expected to fulfill the Concept::TopologyTraitsClass concept. |
|
delete |
The copy constructor.
[in] | rhs | The object from which the construction occurs. |
|
delete |
The move constructor.
[in] | rhs | The object from which the construction occurs. |
|
delete |
The (copy) operator=.
[in] | rhs | The object from which the affectation occurs. |
|
delete |
The (move) operator=.
[in] | rhs | The object from which the affectation occurs. |
|
noexceptinherited |
|
inherited |
Print the underlying coords list and the orientation.
[in,out] | stream | Stream upon which object information are written. |