OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <BoundingBox.h>
Public Member Functions | |
BoundingBox () | |
void | enlargeToContainPosition (const Vector_t &position) |
void | enlargeToContainBoundingBox (const BoundingBox &boundingBox) |
boost::optional< Vector_t > | getIntersectionPoint (const Vector_t &position, const Vector_t &direction) const |
bool | isInside (const Vector_t &position) const |
bool | isOutside (const Vector_t &position) const |
void | print (std::ostream &output) const |
std::pair< Vector_t, Vector_t > | getCorners () const |
Static Public Member Functions | |
static BoundingBox | getBoundingBox (const std::vector< Vector_t > &positions) |
Private Attributes | |
Vector_t | lowerLeftCorner_m |
Vector_t | upperRightCorner_m |
Definition at line 33 of file BoundingBox.h.
BoundingBox::BoundingBox | ( | ) |
Definition at line 26 of file BoundingBox.cpp.
void BoundingBox::enlargeToContainBoundingBox | ( | const BoundingBox & | boundingBox | ) |
Definition at line 49 of file BoundingBox.cpp.
References lowerLeftCorner_m, max(), min(), and upperRightCorner_m.
Referenced by OrbitThreader::computeBoundingBox().
void BoundingBox::enlargeToContainPosition | ( | const Vector_t & | position | ) |
Definition at line 41 of file BoundingBox.cpp.
References lowerLeftCorner_m, max(), min(), and upperRightCorner_m.
Referenced by getBoundingBox(), Bend2D::getBoundingBoxInLabCoords(), OrbitThreader::integrate(), and OrbitThreader::updateBoundingBoxWithCurrentPosition().
|
static |
Definition at line 31 of file BoundingBox.cpp.
References enlargeToContainPosition().
Referenced by ElementBase::getBoundingBoxInLabCoords().
Definition at line 57 of file BoundingBox.h.
References lowerLeftCorner_m, and upperRightCorner_m.
boost::optional< Vector_t > BoundingBox::getIntersectionPoint | ( | const Vector_t & | position, |
const Vector_t & | direction | ||
) | const |
Definition at line 57 of file BoundingBox.cpp.
References dot(), euclidean_norm(), lowerLeftCorner_m, max(), sign(), and upperRightCorner_m.
Referenced by OrbitThreader::computeDriftLengthToBoundingBox().
bool BoundingBox::isInside | ( | const Vector_t & | position | ) | const |
Definition at line 99 of file BoundingBox.cpp.
References lowerLeftCorner_m, and upperRightCorner_m.
Referenced by isOutside().
|
inline |
Definition at line 62 of file BoundingBox.h.
References isInside().
Referenced by ParallelTTracker::hasEndOfLineReached().
void BoundingBox::print | ( | std::ostream & | output | ) | const |
Definition at line 109 of file BoundingBox.cpp.
References endl(), lowerLeftCorner_m, Inform::precision(), and upperRightCorner_m.
|
private |
Definition at line 52 of file BoundingBox.h.
Referenced by enlargeToContainBoundingBox(), enlargeToContainPosition(), getCorners(), getIntersectionPoint(), isInside(), and print().
|
private |
Definition at line 53 of file BoundingBox.h.
Referenced by enlargeToContainBoundingBox(), enlargeToContainPosition(), getCorners(), getIntersectionPoint(), isInside(), and print().