#include <interface_object_configure.h>
|
|
static void | CalculateBoundingBox (const PointerType &rObject, PointType &rLowPoint, PointType &rHighPoint) |
|
static void | CalculateBoundingBox (const PointerType &rObject, PointType &rLowPoint, PointType &rHighPoint, const double &Radius) |
|
static void | CalculateCenter (const PointerType &rObject, PointType &rCentralPoint) |
|
static bool | Intersection (const PointerType &rObj_1, const PointerType &rObj_2) |
|
static bool | Intersection (const PointerType &rObj_1, const PointerType &rObj_2, double Radius) |
|
static bool | IntersectionBox (const PointerType &rObject, const PointType &rLowPoint, const PointType &rHighPoint) |
|
static bool | IntersectionBox (const PointerType &rObject, const PointType &rLowPoint, const PointType &rHighPoint, const double &Radius) |
|
static void | Distance (const PointerType &rObj_1, const PointerType &rObj_2, double &distance) |
|
static double | GetObjectRadius (const PointerType &rObject, const double &Radius) |
|
Configuration file for InterfaceObject. This class provides a configuration file to calculate a 'Bins' using InterfaceObject. It is an adapted copy of "kratos/spatial_containers/configures/point_configure.h"
◆ ContainerType
◆ CoordinateArray
◆ CoordinateType
◆ DistanceIteratorType
◆ IteratorType
◆ ObjectContainerType
◆ ObjectType
Additional types needed by the bins.
- Parameters
-
PointContainerType | Point Container. |
ContainerType | Base container Type. |
ResultContainerType | Result Container. For this configure should be the same as ContainerType. |
ContactPairType | Contact pair for points. |
IteratorType | Iterator of points. |
ResultIteratorType | Iterator of results. For this configure should be the same as PointIteratorType. |
DistanceIteratorType | Iterato of distances (doubles) |
◆ PointerType
◆ PointType
Point and Pointer Types
- Parameters
-
PointType | Point of doubles with 3 coordinates (Dimension = 3) |
PointerType | Pointer to Point of doubles with 3 coordinates (Dimension = 3) |
◆ ResultContainerType
◆ ResultIteratorType
◆ InterfaceObjectConfigure()
Kratos::InterfaceObjectConfigure::InterfaceObjectConfigure |
( |
| ) |
|
|
inline |
◆ ~InterfaceObjectConfigure()
virtual Kratos::InterfaceObjectConfigure::~InterfaceObjectConfigure |
( |
| ) |
|
|
inlinevirtual |
◆ CalculateBoundingBox() [1/2]
static void Kratos::InterfaceObjectConfigure::CalculateBoundingBox |
( |
const PointerType & |
rObject, |
|
|
PointType & |
rLowPoint, |
|
|
PointType & |
rHighPoint |
|
) |
| |
|
inlinestatic |
Calculates the bounding box for the given object. For this configuation file, the bounding box is the equal to the point given in 'rObject'.
- Parameters
-
rObject | Point for which the bounding box will be calculated. |
rLowPoint | Lower point of the boundingbox. |
rHighPoint | Higher point of the boundingbox. |
◆ CalculateBoundingBox() [2/2]
Calculates the bounding box for the given object extended with a Radius. For this configuation file, the bounding box is the equal to the point given in 'rObject' + - a radius.
- Parameters
-
rObject | Point for which the bounding box will be calculated. |
rLowPoint | Lower point of the boundingbox. |
rHighPoint | Higher point of the boundingbox. |
Radius | The extension radius to be applied to the boundingbox. |
◆ CalculateCenter()
static void Kratos::InterfaceObjectConfigure::CalculateCenter |
( |
const PointerType & |
rObject, |
|
|
PointType & |
rCentralPoint |
|
) |
| |
|
inlinestatic |
Calculates the Center of the object.
- Parameters
-
rObject | Point for which the bounding box will be calculated. |
rCentralPoint | The center point of the object. |
◆ Data()
virtual std::string Kratos::InterfaceObjectConfigure::Data |
( |
| ) |
const |
|
inlinevirtual |
Turns back data as a string.
◆ Distance()
Calculates the distance betwen two objects. For this configuation file, calculates the euclidean distance between 'rObj_1' and 'rObj_2'.
Performance
In C++11 'std::pow(T, int)' provides the optimal solution in terms of speed.
References
(http://en.cppreference.com/w/cpp/numeric/math/pow) (http://stackoverflow.com/questions/2940367)
- Parameters
-
rObj_1 | First point. |
rLowPoint | Lower point. |
rHighPoint | Higher point of the boundingbox. |
distance | The euclidean distance between 'rObj_1' and 'rObj_2'. |
◆ GetObjectRadius()
static double Kratos::InterfaceObjectConfigure::GetObjectRadius |
( |
const PointerType & |
rObject, |
|
|
const double & |
Radius |
|
) |
| |
|
inlinestatic |
Returns a radius associated to the object Returns a radius associated to the object
- Parameters
-
rObject | the object |
Radius | an extension factor. |
- Returns
- 0.0f always.
◆ Info()
virtual std::string Kratos::InterfaceObjectConfigure::Info |
( |
| ) |
const |
|
inlinevirtual |
Turns back information as a string.
◆ Intersection() [1/2]
Tests the intersection of two objects For this configuation file, tests if the two points are the same within a Epsilon tolerance range.
- Parameters
-
rObj_1 | First point of the tests |
rObj_2 | Second point of the tests |
- Returns
- Boolean indicating the result of the intersection test described.
◆ Intersection() [2/2]
Tests the intersection of two objects extended with a given radius. For this configuation file, tests if the two points extended with a radius are the same within a Epsilon tolerance range.
- Parameters
-
rObj_1 | First point of the tests |
rObj_2 | Second point of the tests |
Radius | The extension radius to be applied in the intersection. |
- Returns
- Boolean indicating the result of the intersection test described.
◆ IntersectionBox() [1/2]
Tests the intersection of one object with a boundingbox descrived by 'rLowPoint' and 'rHighPoint'. For this configuation file, tests if one point is inside the boundingbox described by 'rLowPoint' and 'rHighPoint' within a Epsilon tolerance range.
- Parameters
-
rObject | Point of the tests. |
rLowPoint | Lower point of the boundingbox. |
rHighPoint | Higher point of the boundingbox. |
- Returns
- Boolean indicating the result of the intersection test described.
◆ IntersectionBox() [2/2]
Tests the intersection of one object with a boundingbox descrived by 'rLowPoint' and 'rHighPoint'. For this configuation file, tests if one point extended by radius is inside the boundingbox described by 'rLowPoint' and 'rHighPoint' within a Epsilon tolerance range.
- Parameters
-
rObject | Point of the tests. |
rLowPoint | Lower point of the boundingbox. |
rHighPoint | Higher point of the boundingbox. |
Radius | The extension radius to be applied in the intersection. |
- Returns
- Boolean indicating the result of the intersection test described.
◆ KRATOS_CLASS_POINTER_DEFINITION()
◆ PrintData()
virtual void Kratos::InterfaceObjectConfigure::PrintData |
( |
std::ostream & |
rOStream | ) |
const |
|
inlinevirtual |
◆ PrintInfo()
virtual void Kratos::InterfaceObjectConfigure::PrintInfo |
( |
std::ostream & |
rOStream | ) |
const |
|
inlinevirtual |
Prints object's information.
◆ Dimension
constexpr auto Kratos::InterfaceObjectConfigure::Dimension = 3 |
|
staticconstexpr |
◆ Epsilon
constexpr auto Kratos::InterfaceObjectConfigure::Epsilon = std::numeric_limits<double>::epsilon() |
|
staticconstexpr |
Compile time definitions
- Parameters
-
Epsilon | Error tolerance for cmparison operations with doubles |
Dimension | Dimension of the problem. Fixed to 3. |
The documentation for this class was generated from the following file:
- /home/runner/work/Documentation/Documentation/master/applications/MappingApplication/custom_searching/custom_configures/interface_object_configure.h