KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
entity_point.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // license: OptimizationApplication/license.txt
9 //
10 // Main author: Suneth Warnakulasuriya
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // Project includes
18 #include "includes/define.h"
19 #include "geometries/point.h"
20 
21 // Application includes
22 
23 namespace Kratos {
24 
27 
28 template<class TEntityType>
29 class KRATOS_API(OPTIMIZATION_APPLICATION) EntityPoint : public Point
30 {
31 public:
34 
35  using EntityType = TEntityType;
36 
39 
43 
44  EntityPoint() = default;
45 
47  const TEntityType& rEntity,
48  const IndexType Id);
49 
50  IndexType Id() const;
51 
52  const TEntityType& GetEntity() const;
53 
55 private:
58 
59  const IndexType mId = 0;
60 
61  const TEntityType* mpEntity;
62 
66 
67  static Point GetPoint(const TEntityType& rEntity);
68 
70 };
71 
73 } // namespace Kratos
Definition: entity_point.h:30
TEntityType EntityType
Definition: entity_point.h:35
KRATOS_CLASS_POINTER_DEFINITION(EntityPoint)
Pointer definition of ContainerData.
Point class.
Definition: point.h:59
std::size_t IndexType
Definition: point.h:79
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21