|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
#include <BoundingBox.h>

Public Member Functions | |
| BoundingBox () | |
| void | enlargeToContainPosition (const Vector_t< double, 3 > &position) |
| void | enlargeToContainBoundingBox (const BoundingBox &boundingBox) |
| std::optional< Vector_t< double, 3 > > | getIntersectionPoint (const Vector_t< double, 3 > &position, const Vector_t< double, 3 > &direction) const |
| bool | isInside (const Vector_t< double, 3 > &position) const |
| bool | isOutside (const Vector_t< double, 3 > &position) const |
| void | print (std::ostream &output) const |
| std::pair< Vector_t< double, 3 >, Vector_t< double, 3 > > | getCorners () const |
Static Public Member Functions | |
| static BoundingBox | getBoundingBox (const std::vector< Vector_t< double, 3 > > &positions) |
Private Attributes | |
| Vector_t< double, 3 > | lowerLeftCorner_m |
| Vector_t< double, 3 > | upperRightCorner_m |
Definition at line 32 of file BoundingBox.h.
| BoundingBox::BoundingBox | ( | ) |
Definition at line 27 of file BoundingBox.cpp.
| void BoundingBox::enlargeToContainBoundingBox | ( | const BoundingBox & | boundingBox | ) |
Definition at line 47 of file BoundingBox.cpp.
References lowerLeftCorner_m, and upperRightCorner_m.
Referenced by OrbitThreader::computeBoundingBox().
| void BoundingBox::enlargeToContainPosition | ( | const Vector_t< double, 3 > & | position | ) |
Definition at line 40 of file BoundingBox.cpp.
References lowerLeftCorner_m, and upperRightCorner_m.
Referenced by getBoundingBox(), OrbitThreader::integrate(), and OrbitThreader::updateBoundingBoxWithCurrentPosition().
|
static |
Definition at line 31 of file BoundingBox.cpp.
References enlargeToContainPosition().
Referenced by ElementBase::getBoundingBoxInLabCoords().

Definition at line 55 of file BoundingBox.h.
References lowerLeftCorner_m, and upperRightCorner_m.
| std::optional< Vector_t< double, 3 > > BoundingBox::getIntersectionPoint | ( | const Vector_t< double, 3 > & | position, |
| const Vector_t< double, 3 > & | direction | ||
| ) | const |
Definition at line 54 of file BoundingBox.cpp.
References dot(), euclidean_norm(), lowerLeftCorner_m, and upperRightCorner_m.
Referenced by OrbitThreader::computeDriftLengthToBoundingBox().

| bool BoundingBox::isInside | ( | const Vector_t< double, 3 > & | position | ) | const |
Definition at line 103 of file BoundingBox.cpp.
References lowerLeftCorner_m, and upperRightCorner_m.
Referenced by isOutside().
|
inline |
Definition at line 59 of file BoundingBox.h.
References isInside().
Referenced by ParallelTracker::hasEndOfLineReached().

| void BoundingBox::print | ( | std::ostream & | output | ) | const |
Definition at line 112 of file BoundingBox.cpp.
References lowerLeftCorner_m, and upperRightCorner_m.
|
private |
Definition at line 51 of file BoundingBox.h.
Referenced by enlargeToContainBoundingBox(), enlargeToContainPosition(), getCorners(), getIntersectionPoint(), isInside(), and print().
|
private |
Definition at line 52 of file BoundingBox.h.
Referenced by enlargeToContainBoundingBox(), enlargeToContainPosition(), getCorners(), getIntersectionPoint(), isInside(), and print().