Euclid
Geometry Processing and Shape Analysis in C++
|
Object oriented bounding box. More...
#include <OBB.h>
Public Types | |
using | Point_3 = typename Kernel::Point_3 |
using | Vector_3 = typename Kernel::Vector_3 |
using | FT = typename Kernel::FT |
Public Member Functions | |
void | build (const std::vector< FT > &positions) |
Build OBB for a set of raw positions. | |
template<typename ForwardIterator , typename VPMap > | |
void | build (ForwardIterator first, ForwardIterator beyond, VPMap vpmap) |
Build OBB for a range of points. | |
template<typename Derived > | |
void | build (const Eigen::MatrixBase< Derived > &v) |
Build OBB for points represented by a matrix. | |
Point_3 | center () const |
Return the center of the box. | |
Vector_3 | axis (int n) const |
Return the unit-length axis. More... | |
FT | length (int n) const |
Return the length of an axis. More... | |
This class uses right-handed coordinate system.
OBB< Kernel >::Vector_3 Euclid::OBB< Kernel >::axis | ( | int | n | ) | const |
The accepted values of n are 0, 1 and 2. The axis are sorted in descending order w.r.t. to the length, so OBB<KerneL>::axis(0) returns the longest axis, although the sign is arbitrary.
OBB< Kernel >::FT Euclid::OBB< Kernel >::length | ( | int | n | ) | const |
The accepted values of n are 0, 1 and 2. The length are sorted in descending order.