Public Member Functions | Public Attributes
ApproxMVBB::OOBB Class Reference

#include <OOBB.hpp>

List of all members.

Public Member Functions

Vector3 center ()
void expand (PREC d)
void expand (Vector3 d)
void expandToMinExtentAbsolute (PREC minExtent)
void expandToMinExtentRelative (PREC p=0.1, PREC defaultExtent=0.1, PREC eps=1e-10)
Array3 extent () const
template<bool coordinateSystemIsI = true>
Vector3List getCornerPoints () const
Vector3 getDirection (unsigned int i) const
bool isEmpty () const
PREC maxExtent () const
PREC maxExtent (Vector3::Index &i) const
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
ApproxMVBB_DEFINE_MATRIX_TYPES
ApproxMVBB_DEFINE_POINTS_CONFIG_TYPES 
OOBB ()
 OOBB (const OOBB &)
 OOBB (const Vector3 &l, const Vector3 &u, const Matrix33 &A_IK)
 OOBB (AABB3d &aabb)
OOBBoperator= (AABB3d &aabb)
template<typename Derived , bool coordinateSystemIsI = true>
bool overlaps (const MatrixBase< Derived > &p) const
void reset ()
void setZAxisLongest ()
void switchZAxis (unsigned int i)
template<typename Derived >
OOBBunite (const MatrixBase< Derived > &p)
PREC volume () const

Public Attributes

Vector3 m_maxPoint
 in K Frame
Vector3 m_minPoint
 in K Frame
Quaternion m_q_KI
 Rotation of frame I to frame K, corresponds to a transformation A_IK;.

Detailed Description

Definition at line 21 of file OOBB.hpp.


Constructor & Destructor Documentation

Definition at line 29 of file OOBB.hpp.

ApproxMVBB::OOBB::OOBB ( const Vector3 &  l,
const Vector3 &  u,
const Matrix33 &  A_IK 
)

Definition at line 13 of file OOBB.cpp.

ApproxMVBB::OOBB::OOBB ( AABB3d &  aabb) [inline]

Initializes OOBB with AABB3d values, rotation is set to identity!

Definition at line 40 of file OOBB.hpp.


Member Function Documentation

Vector3 ApproxMVBB::OOBB::center ( ) [inline]

Definition at line 79 of file OOBB.hpp.

void ApproxMVBB::OOBB::expand ( PREC  d) [inline]

Definition at line 121 of file OOBB.hpp.

void ApproxMVBB::OOBB::expand ( Vector3  d) [inline]

Definition at line 127 of file OOBB.hpp.

Adjust box that all axes have at least a minimal extent minExtent

Definition at line 75 of file OOBB.cpp.

void ApproxMVBB::OOBB::expandToMinExtentRelative ( PREC  p = 0.1,
PREC  defaultExtent = 0.1,
PREC  eps = 1e-10 
)

Adjust box that all axes have at least a minimal extent of maxExtent*p, if maxExtent*p < eps then all axes to default extent

Definition at line 53 of file OOBB.cpp.

Array3 ApproxMVBB::OOBB::extent ( ) const [inline]

Definition at line 81 of file OOBB.hpp.

template<bool coordinateSystemIsI = true>
Vector3List ApproxMVBB::OOBB::getCornerPoints ( ) const [inline]

Get all corner points in I Frame

Returns:
A list of all corner points sorted according to (x,y,z) index in K frame
Parameters:
coordinateSystemIsIdetermines if the the output points are represented in the coordinate system I or if false they are represented in the coordinate system of the OOBB, that is, system K (move semantics make this fast)

Definition at line 153 of file OOBB.hpp.

Vector3 ApproxMVBB::OOBB::getDirection ( unsigned int  i) const [inline]

Get direction vectors in I Frame

Definition at line 139 of file OOBB.hpp.

bool ApproxMVBB::OOBB::isEmpty ( ) const [inline]

Definition at line 93 of file OOBB.hpp.

PREC ApproxMVBB::OOBB::maxExtent ( ) const [inline]

Definition at line 85 of file OOBB.hpp.

PREC ApproxMVBB::OOBB::maxExtent ( Vector3::Index &  i) const [inline]

Definition at line 89 of file OOBB.hpp.

OOBB& ApproxMVBB::OOBB::operator= ( AABB3d &  aabb) [inline]

Initializes OOBB with AABB3d values, rotation is set to identity!

Definition at line 47 of file OOBB.hpp.

template<typename Derived , bool coordinateSystemIsI = true>
bool ApproxMVBB::OOBB::overlaps ( const MatrixBase< Derived > &  p) const [inline]

Checks if a point overlaps the OOBB

Parameters:
pinput point which is regar
coordinateSystemIsIdetermines if the the input point p is in the coordinate system I or if false it is regarded to be in the coordinate system of the OOBB, that is, system K

Definition at line 104 of file OOBB.hpp.

Definition at line 89 of file OOBB.cpp.

Definition at line 54 of file OOBB.hpp.

void ApproxMVBB::OOBB::switchZAxis ( unsigned int  i)

Switch the z-Axis to the axis with index i (default x-Axis)

Definition at line 23 of file OOBB.cpp.

template<typename Derived >
OOBB& ApproxMVBB::OOBB::unite ( const MatrixBase< Derived > &  p) [inline]

Add point expressed in OOBB's K frame to the OOBB

Definition at line 69 of file OOBB.hpp.

PREC ApproxMVBB::OOBB::volume ( ) const [inline]

Definition at line 133 of file OOBB.hpp.


Member Data Documentation

in K Frame

Definition at line 177 of file OOBB.hpp.

in K Frame

Definition at line 176 of file OOBB.hpp.

Rotation of frame I to frame K, corresponds to a transformation A_IK;.

Definition at line 175 of file OOBB.hpp.


The documentation for this class was generated from the following files:


asr_approx_mvbb
Author(s): Gassner Nikolai
autogenerated on Sat Jun 8 2019 20:21:50