13 #if !defined(KRATOS_TETRAHEDRA_MESH_EDGE_SWAPPING_PROCESS_H_INCLUDED )
14 #define KRATOS_TETRAHEDRA_MESH_EDGE_SWAPPING_PROCESS_H_INCLUDED
21 #include <unordered_map>
76 void Execute()
override;
94 std::string
Info()
const override;
97 void PrintInfo(std::ostream& rOStream)
const override;
100 void PrintData(std::ostream& rOStream)
const override;
118 Edge():mpPoint1(nullptr), mpPoint2(nullptr){}
122 return ((mpPoint1 == rOther.mpPoint1) && (mpPoint2 == rOther.mpPoint2))
123 || ((mpPoint1 == rOther.mpPoint2) && (mpPoint2 == rOther.mpPoint1));
126 std::size_t operator()(Edge
const& TheEdge)
const
128 std::size_t h1 = std::hash<PointType*>{}(TheEdge.mpPoint1);
129 std::size_t h2 = std::hash<PointType*>{}(TheEdge.mpPoint2);
133 PointType const * GetPoint1()
const {
return mpPoint1;}
134 PointType const * GetPoint2()
const {
return mpPoint2;}
137 using EdgesContainerType = std::unordered_map<Edge, TetrahedraEdgeShell, Edge>;
175 TetrahedraMeshEdgeSwappingProcess&
operator=(TetrahedraMeshEdgeSwappingProcess
const& rOther);
178 TetrahedraMeshEdgeSwappingProcess(TetrahedraMeshEdgeSwappingProcess
const& rOther);
205 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
Point class.
Definition: point.h:59
The base class for all processes in Kratos.
Definition: process.h:49
Short class definition.
Definition: tetrahedra_mesh_edge_swapping_process.h:44
TetrahedraMeshEdgeSwappingProcess()=delete
Default constructor.
KRATOS_CLASS_POINTER_DEFINITION(TetrahedraMeshEdgeSwappingProcess)
Pointer definition of TetrahedraMeshEdgeSwappingProcess.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: tetrahedra_mesh_edge_swapping_process.cpp:79
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: tetrahedra_mesh_edge_swapping_process.cpp:84
Kratos::ModelPart ModelPart
Definition: kratos_wrapper.h:31
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
bool operator==(const Flags &Left, const Flags &Right)
Definition: flags.cpp:45
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
Configure::PointType PointType
Definition: transfer_utility.h:245