mf
Media Framework
|
Axis-aligned 3D cuboid bounding box. More...
#include <bounding_box.h>
Public Types | |
using | edge = std::pair< Eigen::Vector3f, Eigen::Vector3f > |
using | face = std::array< Eigen::Vector3f, 4 > |
using | corners_array = std::array< Eigen::Vector3f, 8 > |
using | edges_array = std::array< edge, 12 > |
using | faces_array = std::array< face, 6 > |
Public Member Functions | |
bounding_box ()=default | |
bounding_box (const bounding_box &)=default | |
bounding_box (const Eigen::Vector3f &o, const Eigen::Vector3f &e) | |
Eigen::Vector3f | center () const |
Eigen::Vector3f | side_lengths () const |
float | side_length (std::ptrdiff_t i=0) const |
float | volume () const |
void | expand_extremity (float ep=0.1) |
bool | contains (const Eigen::Vector3f &) const |
bool | contains (const bounding_box &) const |
corners_array | corners () const |
edges_array | edges () const |
faces_array | faces () const |
std::string | to_string () const |
Static Public Member Functions | |
static bounding_box | from_string (const std::string &) |
Public Attributes | |
Eigen::Vector3f | origin |
Eigen::Vector3f | extremity |
Friends | |
std::ostream & | operator<< (std::ostream &, const bounding_box &) |
Axis-aligned 3D cuboid bounding box.
Represented using origin and extremity coordinates. Point is inside iff for every coordinate i
, origin[i] <= p[i] < extremity[i]
.
using mf::bounding_box::corners_array = std::array<Eigen::Vector3f, 8> |
using mf::bounding_box::edge = std::pair<Eigen::Vector3f, Eigen::Vector3f> |
using mf::bounding_box::edges_array = std::array<edge, 12> |
using mf::bounding_box::face = std::array<Eigen::Vector3f, 4> |
using mf::bounding_box::faces_array = std::array<face, 6> |
|
default |
|
default |
mf::bounding_box::bounding_box | ( | const Eigen::Vector3f & | o, |
const Eigen::Vector3f & | e | ||
) |
Eigen::Vector3f mf::bounding_box::center | ( | ) | const |
bool mf::bounding_box::contains | ( | const Eigen::Vector3f & | p | ) | const |
bool mf::bounding_box::contains | ( | const bounding_box & | cub | ) | const |
bounding_box::corners_array mf::bounding_box::corners | ( | ) | const |
bounding_box::edges_array mf::bounding_box::edges | ( | ) | const |
void mf::bounding_box::expand_extremity | ( | float | ep = 0.1 | ) |
bounding_box::faces_array mf::bounding_box::faces | ( | ) | const |
|
static |
float mf::bounding_box::side_length | ( | std::ptrdiff_t | i = 0 | ) | const |
Eigen::Vector3f mf::bounding_box::side_lengths | ( | ) | const |
std::string mf::bounding_box::to_string | ( | ) | const |
float mf::bounding_box::volume | ( | ) | const |
|
friend |
Eigen::Vector3f mf::bounding_box::extremity |
Eigen::Vector3f mf::bounding_box::origin |