|
OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <ElementBase.h>

Public Member Functions | |
| void | getCombinedBoundingBox (const BoundingBox &other) |
| bool | isInside (const Vector_t &) const |
| void | print (std::ostream &) const |
| boost::optional< Vector_t > | getPointOfIntersection (const Vector_t &position, const Vector_t &direction) const |
Static Public Member Functions | |
| static BoundingBox | getBoundingBox (const std::vector< Vector_t > &points) |
Public Attributes | |
| Vector_t | lowerLeftCorner |
| Vector_t | upperRightCorner |
Definition at line 341 of file ElementBase.h.
|
static |
Definition at line 331 of file ElementBase.cpp.
Referenced by OrbitThreader::updateBoundingBoxWithCurrentPosition().
|
inline |
Definition at line 347 of file ElementBase.h.
References lowerLeftCorner, max(), min(), and upperRightCorner.
Referenced by OrbitThreader::computeBoundingBox(), and OrbitThreader::updateBoundingBoxWithCurrentPosition().

| boost::optional< Vector_t > ElementBase::BoundingBox::getPointOfIntersection | ( | const Vector_t & | position, |
| const Vector_t & | direction | ||
| ) | const |
Computes the intersection point between a bounding box and the ray which has the direction 'direction' and starts at the position 'position'. If the position is inside the box then the algorithm should find an inter- section point.
| position | the position where the ray starts |
| direction | the direction of the ray |
Definition at line 357 of file ElementBase.cpp.
References abs(), Physics::e, and euclidean_norm().
Referenced by OrbitThreader::computeDriftLengthToBoundingBox().

| bool ElementBase::BoundingBox::isInside | ( | const Vector_t & | position | ) | const |
Definition at line 342 of file ElementBase.cpp.
| void ElementBase::BoundingBox::print | ( | std::ostream & | out | ) | const |
Definition at line 427 of file ElementBase.cpp.
References endl().

| Vector_t ElementBase::BoundingBox::lowerLeftCorner |
Definition at line 342 of file ElementBase.h.
Referenced by OrbitThreader::computeBoundingBox(), ElementBase::getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), and getCombinedBoundingBox().
| Vector_t ElementBase::BoundingBox::upperRightCorner |
Definition at line 343 of file ElementBase.h.
Referenced by OrbitThreader::computeBoundingBox(), ElementBase::getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), and getCombinedBoundingBox().