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.
apply_ray_casting_interface_recognition_process.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: Daniel Diez
11 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 #include <iostream>
18 
19 // External includes
20 
21 // Project includes
23 
24 namespace Kratos
25 {
28 
31 
33 
36 template<std::size_t TDim>
37 class KRATOS_API(KRATOS_CORE) ApplyRayCastingInterfaceRecognitionProcess : public ApplyRayCastingProcess<TDim>
38 {
39 
40 public:
43 
46 
49 
50 
53 
55 
56 
61 
72  Model& rModel,
73  Parameters ThisParameters);
74 
81  FindIntersectedGeometricalObjectsProcess& TheFindIntersectedObjectsProcess,
82  Parameters ThisParameters = Parameters());
83 
84 
87  {}
88 
92 
95 
98 
101 
102  // Move assignment operator
104 
108 
109  const Parameters GetDefaultParameters() const override;
110 
112  void PrintInfo(std::ostream& rOStream) const override
113  {
114  rOStream << "ApplyRayCastingInterfaceRecognitionProcess";
115  }
116 
118  void PrintData(std::ostream& rOStream) const override
119  {
120  }
121 
123 protected:
126 
127 
131 
132 
136 
137 
141 
142 
149  std::function<void(Node&, const double)> CreateApplyNodalFunction() const override;
150 
154 
155 
159 
160 
164 
165 
166 
168 }; // Class ApplyRayCastingProcess
169 
173 
174 
178 
180 template<std::size_t TDim>
181 inline std::istream& operator >> (
182  std::istream& rIStream,
184 
186 template<std::size_t TDim>
187 inline std::ostream& operator << (
188  std::ostream& rOStream,
190 {
191  rThis.PrintInfo(rOStream);
192  rOStream << std::endl;
193  rThis.PrintData(rOStream);
194 
195  return rOStream;
196 }
199 
200 } // namespace Kratos.
Applies ray casting to distinguish the color (like in/out) of each node in modelpart.
Definition: apply_ray_casting_interface_recognition_process.h:38
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: apply_ray_casting_interface_recognition_process.h:112
ApplyRayCastingInterfaceRecognitionProcess(ApplyRayCastingInterfaceRecognitionProcess &&rOther)=delete
Move constructor.
ApplyRayCastingInterfaceRecognitionProcess & operator=(ApplyRayCastingInterfaceRecognitionProcess const &rOther)=delete
Assignment operator.
KRATOS_CLASS_POINTER_DEFINITION(ApplyRayCastingInterfaceRecognitionProcess)
Pointer definition of ApplyRayCastingInterfaceRecognitionProcess.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: apply_ray_casting_interface_recognition_process.h:118
ApplyRayCastingInterfaceRecognitionProcess & operator=(ApplyRayCastingInterfaceRecognitionProcess &&rOther)=delete
ApplyRayCastingInterfaceRecognitionProcess(ApplyRayCastingInterfaceRecognitionProcess const &rOther)=delete
Copy constructor.
Applies ray casting to distinguish the color (like in/out) of each node in modelpart.
Definition: apply_ray_casting_process.h:38
This class takes two modelparts and marks the intersected ones with SELECTED flag.
Definition: find_intersected_geometrical_objects_process.h:321
This class aims to manage different model parts across multi-physics simulations.
Definition: model.h:60
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
The base class for all processes in Kratos.
Definition: process.h:49
#define KRATOS_REGISTRY_ADD_TEMPLATE_PROTOTYPE(NAME, X, Y,...)
Definition: define_registry.h:56
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
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
default
Definition: generate_gid_list_file.py:35