![]() |
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.
|
This is a class that provides auxiliar utilities for projections. More...
#include <geometrical_projection_utilities.h>
Public Member Functions | |
Life Cycle | |
| GeometricalProjectionUtilities ()=delete | |
Static Public Member Functions | |
Operations | |
| template<class TGeometryType > | |
| static double | FastProjectDirection (const TGeometryType &rGeom, const PointType &rPointToProject, PointType &rPointProjected, const array_1d< double, 3 > &rNormal, const array_1d< double, 3 > &rVector, const SizeType EchoLevel=0) |
| Project a point over a line/plane following an arbitrary direction. More... | |
| template<class TPointClass1 , class TPointClass2 = TPointClass1, class TPointClass3 = PointType> | |
| static TPointClass3 | FastProject (const TPointClass1 &rPointOrigin, const TPointClass2 &rPointToProject, const array_1d< double, 3 > &rNormal, double &rDistance) |
| Project a point over a plane (avoiding some steps) More... | |
| template<class TGeometryType > | |
| static double | FastProjectOnGeometry (const TGeometryType &rGeom, const Point &rPointToProject, PointType &rPointProjected, const SizeType EchoLevel=0) |
| Project a point over a line/plane (simplified since using the normal in the center) More... | |
| template<class TGeometryType > | |
| static double | FastProjectOnLine (const TGeometryType &rGeometry, const PointType &rPointToProject, PointType &rPointProjected) |
| Project a point over a line (2D or 3D) More... | |
| template<class TGeometryType > | |
| static double | FastMinimalDistanceOnLine (const TGeometryType &rGeometry, const PointType &rPoint, const double Tolerance=1.0e-9) |
| Computes the minimal distance to a line. More... | |
| static DistanceComputed | FastMinimalDistanceOnLineWithRadius (double &rDistance, const Geometry< Node > &rSegment, const Point &rPoint, const double Radius, const double Tolerance=1.0e-9) |
| Computes the minimal distance to a line with radius contribution. More... | |
| template<class TGeometryType , class TPointClass1 , class TPointClass2 = TPointClass1> | |
| static double | FastProjectOnLine2D (const TGeometryType &rGeometry, const TPointClass1 &rPointToProject, TPointClass2 &rPointProjected) |
| Project a point over a line (2D only) More... | |
| template<class TGeometryType > | |
| static bool | ProjectIterativeLine2D (TGeometryType &rGeomOrigin, const array_1d< double, 3 > &rPointDestiny, array_1d< double, 3 > &rResultingPoint, const array_1d< double, 3 > &rNormal, const double Tolerance=1.0e-8, double DeltaXi=0.5) |
| Projects iteratively to get the coordinate. More... | |
Type Definitions | |
| enum class | DistanceComputed { NO_RADIUS , PROJECTION_ERROR , RADIUS_PROJECTED , RADIUS_NOT_PROJECTED_OUTSIDE , RADIUS_NOT_PROJECTED_INSIDE } |
| How the distance is computed enum. More... | |
| typedef Node | NodeType |
| typedef Point | PointType |
| typedef std::size_t | IndexType |
| Index type definition. More... | |
| typedef std::size_t | SizeType |
| Size type definition. More... | |
| KRATOS_CLASS_POINTER_DEFINITION (GeometricalProjectionUtilities) | |
| Pointer definition of GeometricalProjectionUtilities. More... | |
This is a class that provides auxiliar utilities for projections.
This is a class that provides auxiliar utilities for the projections. Check the documentation for more details
| typedef std::size_t Kratos::GeometricalProjectionUtilities::IndexType |
Index type definition.
| typedef std::size_t Kratos::GeometricalProjectionUtilities::SizeType |
Size type definition.
|
delete |
|
inlinestatic |
Computes the minimal distance to a line.
Projects over a line and if the point projected is inside the line that distance is taken into consideration, otherwise the minimal between the two points in the line is considered
| TGeometryType | The type of the line |
| rGeometry | The line where compute the distance |
| rPoint | The point to compute the distance |
| Tolerance | Tolerance to check it falls inside the line |
|
static |
Computes the minimal distance to a line with radius contribution.
Projects over a line and if the point projected is inside the line that distance is taken into consideration, otherwise the minimal between the two points in the line is considered
| rDistance | The distance |
| rSegment | The line segment |
| rPoint | The point to compute distance |
| Radius | The radius |
| Tolerance | Tolerance to check it falls inside the line |
|
inlinestatic |
Project a point over a plane (avoiding some steps)
| TPointClass1 | The type of point (I) |
| TPointClass2 | The type of point (II) |
| TPointClass2 | The type of point (III) |
| rPointOrigin | A point in the plane |
| rPointToProject | The point to be projected |
| rNormal | The normal of the plane |
| rDistance | The distance to the projection |
|
inlinestatic |
Project a point over a line/plane following an arbitrary direction.
| TGeometryType | The type of the geometry |
| rGeom | The geometry where to be projected |
| rPointToProject | The point to be projected |
| rPointProjected | The point pojected over the plane |
| rNormal | The normal of the geometry |
| rVector | The direction to project |
| EchoLevel | If we want debugging info we should consider greater than 0 |
|
inlinestatic |
Project a point over a line/plane (simplified since using the normal in the center)
| TGeometryType | The type of the geometry |
| rGeom | The geometry where to be projected |
| rPointToProject | The point to be projected |
| rPointProjected | The point pojected over the line/plane |
| EchoLevel | If we want debugging info we should consider greater than 0 |
|
inlinestatic |
Project a point over a line (2D or 3D)
| TGeometryType | The type of the line |
| rGeometry | The line where to be projected |
| rPointToProject | The point to be projected |
| rPointProjected | The point pojected over the line |
|
inlinestatic |
Project a point over a line (2D only)
| TGeometryType | The type of the line |
| TPointClass1 | The type of point (I) |
| TPointClass2 | The type of point (II) |
| rGeometry | The line where to be projected |
| rPointToProject | The point to be projected |
| rPointProjected | The point pojected over the line |
| Kratos::GeometricalProjectionUtilities::KRATOS_CLASS_POINTER_DEFINITION | ( | GeometricalProjectionUtilities | ) |
Pointer definition of GeometricalProjectionUtilities.
|
inlinestatic |
Projects iteratively to get the coordinate.
| TGeometryType | The type of the geometry |
| rGeomOrigin | The origin geometry |
| rPointDestiny | The destination point |
| rResultingPoint | The distance between the point and the plane |