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.
point_object.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Vicente Mataix Ferrandiz
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "includes/node.h"
21 #include "includes/element.h"
22 #include "includes/condition.h"
23 #include "geometries/point.h"
24 
25 namespace Kratos
26 {
29 
33 
37 
41 
45 
53 template<class TObject>
54 class KRATOS_API(KRATOS_CORE) PointObject
55  : public Point
56 {
57 public:
58 
61 
63  using BaseType = Point;
64 
66  using ObjectType = TObject;
67 
70 
74 
76  PointObject();
77 
82  PointObject(const array_1d<double, 3>& Coords);
83 
88  PointObject(typename TObject::Pointer pObject);
89 
93 
97  void UpdatePoint();
98 
102 
107  typename TObject::Pointer pGetObject() const;
108 
113  void pSetObject(typename TObject::Pointer pObject);
114 
118  void Check() const;
119 
121 private:
125 
126  typename TObject::Pointer mpObject = nullptr;
127 
129 
130 }; // Class PointObject
131 
135 
139 
141 
143 
144 } // namespace Kratos.
Point class.
Definition: point.h:59
Custom Point container to be used by the search.
Definition: point_object.h:56
KRATOS_CLASS_POINTER_DEFINITION(PointObject)
Counted pointer of PointObject.
TObject ObjectType
Definition of the object type.
Definition: point_object.h:66
Short class definition.
Definition: array_1d.h:61
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21