Public Member Functions | Public Attributes | List of all members
ApproxMVBB::OOBB Class Reference

#include <OOBB.hpp>

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 &)=default
 
 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 More...
 
Vector3 m_minPoint
 in K Frame More...
 
Quaternion m_q_KI
 Rotation of frame I to frame K, corresponds to a transformation A_IK;. More...
 

Detailed Description

Definition at line 21 of file OOBB.hpp.

Constructor & Destructor Documentation

EIGEN_MAKE_ALIGNED_OPERATOR_NEW ApproxMVBB_DEFINE_MATRIX_TYPES ApproxMVBB_DEFINE_POINTS_CONFIG_TYPES ApproxMVBB::OOBB::OOBB ( )
inline

Definition at line 29 of file OOBB.hpp.

ApproxMVBB::OOBB::OOBB ( const OOBB )
default
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.

void ApproxMVBB::OOBB::expandToMinExtentAbsolute ( PREC  minExtent)

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.

void ApproxMVBB::OOBB::reset ( )

Definition at line 89 of file OOBB.cpp.

void ApproxMVBB::OOBB::setZAxisLongest ( )
inline

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

Vector3 ApproxMVBB::OOBB::m_maxPoint

in K Frame

Definition at line 177 of file OOBB.hpp.

Vector3 ApproxMVBB::OOBB::m_minPoint

in K Frame

Definition at line 176 of file OOBB.hpp.

Quaternion ApproxMVBB::OOBB::m_q_KI

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 Mon Jun 10 2019 12:38:09