Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gte::MinimumAreaBox2< InputType, ComputeType > Class Template Reference

#include <GteMinimumAreaBox2.h>

Classes

struct  Box
 

Public Member Functions

InputType GetArea () const
 
std::vector< int > const & GetHull () const
 
int GetNumPoints () const
 
Vector2< InputType > const * GetPoints () const
 
std::array< int, 4 > const & GetSupportIndices () const
 
 MinimumAreaBox2 ()
 
OrientedBox2< InputType > operator() (int numPoints, Vector2< InputType > const *points, bool useRotatingCalipers=!std::is_floating_point< ComputeType >::value)
 
OrientedBox2< InputType > operator() (int numPoints, Vector2< InputType > const *points, int numIndices, int const *indices, bool useRotatingCalipers=!std::is_floating_point< ComputeType >::value)
 

Private Member Functions

bool ComputeAngles (std::vector< Vector2< ComputeType >> const &vertices, Box const &box, std::array< std::pair< ComputeType, int >, 4 > &A, int &numA) const
 
Box ComputeBoxForEdgeOrderN (std::vector< Vector2< ComputeType >> const &vertices)
 
Box ComputeBoxForEdgeOrderNSqr (std::vector< Vector2< ComputeType >> const &vertices)
 
void ConvertTo (Box const &minBox, std::vector< Vector2< ComputeType >> const &computePoints, OrientedBox2< InputType > &itMinBox)
 
void RemoveCollinearPoints (std::vector< Vector2< ComputeType >> &vertices)
 
Box SmallestBox (int i0, int i1, std::vector< Vector2< ComputeType >> const &vertices)
 
std::array< int, 4 > SortAngles (std::array< std::pair< ComputeType, int >, 4 > const &A, int numA) const
 
bool UpdateSupport (std::array< std::pair< ComputeType, int >, 4 > const &A, int numA, std::array< int, 4 > const &sort, std::vector< Vector2< ComputeType >> const &vertices, std::vector< bool > &visited, Box &box)
 

Private Attributes

InputType mArea
 
ComputeType mHalf
 
std::vector< intmHull
 
ComputeType mNegOne
 
int mNumPoints
 
ComputeType mOne
 
Vector2< InputType > const * mPoints
 
std::array< int, 4 > mSupportIndices
 
ComputeType mZero
 

Detailed Description

template<typename InputType, typename ComputeType>
class gte::MinimumAreaBox2< InputType, ComputeType >

Definition at line 39 of file GteMinimumAreaBox2.h.

Constructor & Destructor Documentation

template<typename InputType , typename ComputeType >
gte::MinimumAreaBox2< InputType, ComputeType >::MinimumAreaBox2 ( )

Definition at line 151 of file GteMinimumAreaBox2.h.

Member Function Documentation

template<typename InputType , typename ComputeType >
bool gte::MinimumAreaBox2< InputType, ComputeType >::ComputeAngles ( std::vector< Vector2< ComputeType >> const &  vertices,
Box const &  box,
std::array< std::pair< ComputeType, int >, 4 > &  A,
int numA 
) const
private

Definition at line 516 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
MinimumAreaBox2< InputType, ComputeType >::Box gte::MinimumAreaBox2< InputType, ComputeType >::ComputeBoxForEdgeOrderN ( std::vector< Vector2< ComputeType >> const &  vertices)
private

Definition at line 393 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
MinimumAreaBox2< InputType, ComputeType >::Box gte::MinimumAreaBox2< InputType, ComputeType >::ComputeBoxForEdgeOrderNSqr ( std::vector< Vector2< ComputeType >> const &  vertices)
private

Definition at line 374 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
void gte::MinimumAreaBox2< InputType, ComputeType >::ConvertTo ( Box const &  minBox,
std::vector< Vector2< ComputeType >> const &  computePoints,
OrientedBox2< InputType > &  itMinBox 
)
private

Definition at line 664 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
InputType gte::MinimumAreaBox2< InputType, ComputeType >::GetArea ( ) const
inline

Definition at line 338 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
std::vector< int > const & gte::MinimumAreaBox2< InputType, ComputeType >::GetHull ( ) const
inline

Definition at line 325 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
int gte::MinimumAreaBox2< InputType, ComputeType >::GetNumPoints ( ) const
inline

Definition at line 311 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
Vector2< InputType > const * gte::MinimumAreaBox2< InputType, ComputeType >::GetPoints ( ) const
inline

Definition at line 317 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
std::array< int, 4 > const & gte::MinimumAreaBox2< InputType, ComputeType >::GetSupportIndices ( ) const
inline

Definition at line 332 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
OrientedBox2< InputType > gte::MinimumAreaBox2< InputType, ComputeType >::operator() ( int  numPoints,
Vector2< InputType > const *  points,
bool  useRotatingCalipers = !std::is_floating_point<ComputeType>::value 
)

Definition at line 165 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
OrientedBox2< InputType > gte::MinimumAreaBox2< InputType, ComputeType >::operator() ( int  numPoints,
Vector2< InputType > const *  points,
int  numIndices,
int const *  indices,
bool  useRotatingCalipers = !std::is_floating_point<ComputeType>::value 
)

Definition at line 254 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
void gte::MinimumAreaBox2< InputType, ComputeType >::RemoveCollinearPoints ( std::vector< Vector2< ComputeType >> &  vertices)
private

Definition at line 344 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
MinimumAreaBox2< InputType, ComputeType >::Box gte::MinimumAreaBox2< InputType, ComputeType >::SmallestBox ( int  i0,
int  i1,
std::vector< Vector2< ComputeType >> const &  vertices 
)
private

Definition at line 451 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
std::array< int, 4 > gte::MinimumAreaBox2< InputType, ComputeType >::SortAngles ( std::array< std::pair< ComputeType, int >, 4 > const &  A,
int  numA 
) const
private

Definition at line 545 of file GteMinimumAreaBox2.h.

template<typename InputType , typename ComputeType >
bool gte::MinimumAreaBox2< InputType, ComputeType >::UpdateSupport ( std::array< std::pair< ComputeType, int >, 4 > const &  A,
int  numA,
std::array< int, 4 > const &  sort,
std::vector< Vector2< ComputeType >> const &  vertices,
std::vector< bool > &  visited,
Box box 
)
private

Definition at line 601 of file GteMinimumAreaBox2.h.

Member Data Documentation

template<typename InputType, typename ComputeType>
InputType gte::MinimumAreaBox2< InputType, ComputeType >::mArea
private

Definition at line 142 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
ComputeType gte::MinimumAreaBox2< InputType, ComputeType >::mHalf
private

Definition at line 146 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
std::vector<int> gte::MinimumAreaBox2< InputType, ComputeType >::mHull
private

Definition at line 134 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
ComputeType gte::MinimumAreaBox2< InputType, ComputeType >::mNegOne
private

Definition at line 146 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
int gte::MinimumAreaBox2< InputType, ComputeType >::mNumPoints
private

Definition at line 130 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
ComputeType gte::MinimumAreaBox2< InputType, ComputeType >::mOne
private

Definition at line 146 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
Vector2<InputType> const* gte::MinimumAreaBox2< InputType, ComputeType >::mPoints
private

Definition at line 131 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
std::array<int, 4> gte::MinimumAreaBox2< InputType, ComputeType >::mSupportIndices
private

Definition at line 137 of file GteMinimumAreaBox2.h.

template<typename InputType, typename ComputeType>
ComputeType gte::MinimumAreaBox2< InputType, ComputeType >::mZero
private

Definition at line 146 of file GteMinimumAreaBox2.h.


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


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06