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 |