Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | Protected Member Functions | List of all members
castor::BoundingContainer< Dimension > Class Template Referenceabstract

Box container class. More...

#include <BoundingContainer.hpp>

Inheritance diagram for castor::BoundingContainer< Dimension >:
Inheritance graph
[legend]

Public Types

using MyPoint = Point< float, Dimension >
 

Public Member Functions

CU_API BoundingContainer ()=default
 
CU_API BoundingContainer (BoundingContainer const &)=default
 
CU_API BoundingContainer (BoundingContainer &&) noexcept=default
 
CU_API BoundingContaineroperator= (BoundingContainer const &)=default
 
CU_API BoundingContaineroperator= (BoundingContainer &&) noexcept=default
 
virtual CU_API ~BoundingContainer () noexcept=default
 
 BoundingContainer (MyPoint center)
 Constructor from center.
 
virtual CU_API bool isWithin (MyPoint const &point) const =0
 Tests if a vertex is within the container, id est inside it but not on it's limits.
 
virtual CU_API bool isOnLimits (MyPoint const &point) const =0
 Tests if a vertex is on the limits of this container, and not within.
 
MyPoint const & getCenter () const
 

Protected Member Functions

void setCenter (MyPoint center) noexcept
 

Detailed Description

template<uint8_t Dimension>
class castor::BoundingContainer< Dimension >

Box container class.

Remarks
A container will be a simple object which surrounds a graphic object (2D or 3D).
It can be a parallelepiped, a sphere or other.

Member Typedef Documentation

◆ MyPoint

template<uint8_t Dimension>
using castor::BoundingContainer< Dimension >::MyPoint = Point< float, Dimension >

Constructor & Destructor Documentation

◆ BoundingContainer() [1/4]

template<uint8_t Dimension>
CU_API castor::BoundingContainer< Dimension >::BoundingContainer ( )
default

◆ BoundingContainer() [2/4]

template<uint8_t Dimension>
CU_API castor::BoundingContainer< Dimension >::BoundingContainer ( BoundingContainer< Dimension > const & )
default

◆ BoundingContainer() [3/4]

template<uint8_t Dimension>
CU_API castor::BoundingContainer< Dimension >::BoundingContainer ( BoundingContainer< Dimension > && )
defaultnoexcept

◆ ~BoundingContainer()

template<uint8_t Dimension>
virtual CU_API castor::BoundingContainer< Dimension >::~BoundingContainer ( )
virtualdefaultnoexcept

◆ BoundingContainer() [4/4]

template<uint8_t Dimension>
castor::BoundingContainer< Dimension >::BoundingContainer ( MyPoint center)
inlineexplicit

Constructor from center.

Parameters
[in]centerThe center.

Member Function Documentation

◆ getCenter()

template<uint8_t Dimension>
MyPoint const & castor::BoundingContainer< Dimension >::getCenter ( ) const
inline
Returns
This container's center.

Referenced by castor::BoundingBox::getMax(), and castor::BoundingBox::getMin().

Here is the caller graph for this function:

◆ isOnLimits()

template<uint8_t Dimension>
virtual CU_API bool castor::BoundingContainer< Dimension >::isOnLimits ( MyPoint const & point) const
pure virtual

Tests if a vertex is on the limits of this container, and not within.

Parameters
[in]pointThe vertex to test.
Returns
true if the vertex is on the limits of the container, false if not.

◆ isWithin()

template<uint8_t Dimension>
virtual CU_API bool castor::BoundingContainer< Dimension >::isWithin ( MyPoint const & point) const
pure virtual

Tests if a vertex is within the container, id est inside it but not on it's limits.

Parameters
[in]pointThe vertex to test.
Returns
true if the vertex is within the container, false if not.

◆ operator=() [1/2]

template<uint8_t Dimension>
CU_API BoundingContainer & castor::BoundingContainer< Dimension >::operator= ( BoundingContainer< Dimension > && )
defaultnoexcept

◆ operator=() [2/2]

template<uint8_t Dimension>
CU_API BoundingContainer & castor::BoundingContainer< Dimension >::operator= ( BoundingContainer< Dimension > const & )
default

◆ setCenter()

template<uint8_t Dimension>
void castor::BoundingContainer< Dimension >::setCenter ( MyPoint center)
inlineprotectednoexcept

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