Class in charge of the Vertex interface.
More...
#include <Vertex.hpp>
|
using | shared_ptr = std::shared_ptr<Vertex> |
| Alias over shared_ptr.
|
|
using | vector_shared_ptr = std::vector<shared_ptr> |
| Alias over vector of shared_ptr.
|
|
using | InterfaceMap |
| Alias useful when the vertices are built.
|
|
|
static const std::string & | ClassName () |
| Name of the class.
|
|
static constexpr enum::MoReFEM::InterfaceNS::Nature | StaticNature () |
| Nature of the Interface as a static method.
|
|
|
LocalVector & | GetNonCstPseudoNormal () noexcept |
| Non constant accessor on the pseudo-normal.
|
|
|
std::unique_ptr< LocalVector > | pseudo_normal_ = nullptr |
| Pseudo-normal of the interface.
|
|
|
static std::size_t | Nvertice_ |
| Number of vertices.
|
|
Class in charge of the Vertex interface.
◆ InterfaceMap
Initial value: Utilities::PointerComparison::
Map<Vertex::shared_ptr, std::vector<const GeometricElt*>, InterfaceNS::LessByCoords>
Alias useful when the vertices are built.
When a new Vertex is built, index is not yet associated to it; one must determine first whether it has already been built by another GeometricElt. The type below is used to list all those already built.
◆ Vertex() [1/3]
◆ Vertex() [2/3]
MoReFEM::Vertex::Vertex |
( |
const Vertex & | rhs | ) |
|
|
delete |
The copy constructor.
- Parameters
-
[in] | rhs | The object from which the construction occurs. |
◆ Vertex() [3/3]
MoReFEM::Vertex::Vertex |
( |
Vertex && | rhs | ) |
|
|
delete |
The move constructor.
- Parameters
-
[in] | rhs | The object from which the construction occurs. |
◆ operator=() [1/2]
The (copy) operator=.
- Parameters
-
[in] | rhs | The object from which the affectation occurs. |
- Returns
- Reference to the object (to enable chained affectation).
◆ operator=() [2/2]
The (move) operator=.
- Parameters
-
[in] | rhs | The object from which the affectation occurs. |
- Returns
- Reference to the object (to enable chained affectation).
◆ ComputePseudoNormal()
void MoReFEM::Vertex::ComputePseudoNormal |
( |
const std::vector< const GeometricElt * > & | geom_elt_list | ) |
|
|
private |
Compute the pseudo-normal of a vertex.
- Parameters
-
[in] | geom_elt_list | List of the geometric elements that share this vertex. |
- Warning
- Should not be called directly. To compute pseudo-normals use PseudoNormals1 in Lua that will use the dedicated magager to compute them.
◆ Print()
Print the underlying coords list.
- Parameters
-
[in,out] | stream | Stream upon which object information are written. |
◆ GetNature()
|
finaloverridevirtualnoexceptinherited |
◆ SetProgramWiseIndex()
Set the identifier associated to this interface.
- Parameters
-
[in] | id | Identifier to be associated to the interface. Identifier is unique for all interfaces of the same nature: there should be for instance only one edge with id = 124. |
◆ GetCoordsList()
Get the list of Coords that belongs to the interface.
This methods is overridden only for Volume, as we do not store directly the Coords in this very specific case to avoid redundancy with the GeometricElt which already got them.
Reimplemented in MoReFEM::Volume.
◆ ComputeCoordsIndexList()
Compute the list of Coords indexes that belongs to the interface.
- Template Parameters
-
TypeT | The type of Coords index requested. |
- Returns
- List of Coords indexes that belongs to the interface.
This method should not be used that much; that is the reason a return by copy has been adopted here.
◆ SetCoordsList()
Set coords_list_ and sort it so that the same interface used by another geometric element could match it.
The convention is to put first the Coords with the lower index, and then choose the rotation that put the lowest possible index in second. The index used to do so is the one used to define operator< for Coords class (i.e. the processor-wise one).
For instance let's consider quadrangle 3 5 1 10.
The lower is 1, and there are still two possibilities by rotating it:
- 1 10 3 5
- 1 5 3 10 The latter is chosen because 5 is lower than 10.
This method is used only for faces and edges: it is obviously unrequired for vertices, and no Coords is stored for Volumes.
- Parameters
-
[in] | coords_list | List of Coords, not yet sort. |
[internal]
It is intended to be called only in Edge and Face constructor.
◆ GetNonCstCoordsList()
Non constant accessor to the underlying list of Coords.
- Returns
- Non constant access to the underlying list of Coords.
◆ Nvertice_
std::size_t MoReFEM::Vertex::Nvertice_ |
|
staticprivate |
Number of vertices.
[internal]
This is a purely internal attribute used in vertices creation; should not be used outside of Vertex.cpp!
◆ coords_list_
Coords that belongs to the edge_or_face.
The convention is that the first Coords is the one with the lowest index. The relative ordering is local_coords.
For instance, if (89, 42, 15) is read in Init(), (15, 89, 42) will be stored.
[internal]
This information is really important when the interfaces are built: it is the way we can figure out if a given interface already exist or not.
◆ program_wise_index_
Initial value:=
NumericNS::UninitializedIndex<InterfaceNS::program_wise_index_type>()
Facility which handles the indexes related to the Interface.
The documentation for this class was generated from the following file:
- /builds/2mk6rsew/0/MoReFEM/CoreLibrary/MoReFEM/Sources/Geometry/Interfaces/Instances/Vertex.hpp