CVB++ 15.0
Cuboid Class Referencefinal

3D rectangle in the X, Y and Z domain. More...

#include <cvb/cuboid.hpp>

Public Member Functions

 Cuboid () noexcept=default
 Creates a default cuboid with value ranges from 0.0 to 0.0.
 
 Cuboid (ValueRange< double > xRange, ValueRange< double > yRange, ValueRange< double > zRange)
 Initialize a cuboid object.
 
ValueRange< double > XRange () const noexcept
 Get the range regarding the x-axis.
 
void SetXRange (ValueRange< double > xRange) noexcept
 Set the range regarding the x-axis.
 
ValueRange< double > YRange () const noexcept
 Get the range regarding the y-axis.
 
void SetYRange (ValueRange< double > yRange) noexcept
 Set the range regarding the y-axis.
 
ValueRange< double > ZRange () const noexcept
 Get the range regarding the z-axis.
 
void SetZRange (ValueRange< double > zRange) noexcept
 Set the range regarding the z-axis.
 
bool Contains (Point3D< double > point) const noexcept
 Check if a point is inside the cuboid.
 
bool IntersectsWith (Cuboid other) const noexcept
 Check if this cuboid intersects with another cuboid.
 
bool operator== (const Cuboid &cuboid) const noexcept
 Compares to an other cuboid.
 
bool operator!= (const Cuboid &cuboid) const noexcept
 Compares to an other cuboid.
 

Detailed Description

3D rectangle in the X, Y and Z domain.

Region resembling a cube with its faces having not necessarily equal sizes.

Constructor & Destructor Documentation

◆ Cuboid() [1/2]

Cuboid ( )
defaultnoexcept

Creates a default cuboid with value ranges from 0.0 to 0.0.

Exceptions
Doesnot throw any exception.

◆ Cuboid() [2/2]

Cuboid ( ValueRange< double > xRange,
ValueRange< double > yRange,
ValueRange< double > zRange )
inline

Initialize a cuboid object.

Parameters
[in]xRangeRange regarding the x-axis.
[in]yRangeRange regarding the y-axis.
[in]zRangeRange regarding the z-axis.
Exceptions
Anyexception derived from std::exception including CvbException.

Member Function Documentation

◆ Contains()

bool Contains ( Point3D< double > point) const
inlinenoexcept

Check if a point is inside the cuboid.

Parameters
[in]pointPoint to be checked.
Returns
True if the value is within the cuboid, false otherwise.
Exceptions
Doesnot throw any exception.

◆ IntersectsWith()

bool IntersectsWith ( Cuboid other) const
inlinenoexcept

Check if this cuboid intersects with another cuboid.

Parameters
[in]otherCuboid for intersection test.
Returns
True if this cuboid and the other cuboid have at least one 3D point in common, false otherwise.
Exceptions
Doesnot throw any exception.

◆ operator!=()

bool operator!= ( const Cuboid & cuboid) const
inlinenoexcept

Compares to an other cuboid.

Parameters
[in]cuboidOther cuboid.
Returns
True if not equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ operator==()

bool operator== ( const Cuboid & cuboid) const
inlinenoexcept

Compares to an other cuboid.

Parameters
[in]cuboidOther cuboid.
Returns
True if equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ SetXRange()

void SetXRange ( ValueRange< double > xRange)
inlinenoexcept

Set the range regarding the x-axis.

Parameters
[in]xRangeThe new range.
Exceptions
Doesnot throw any exception.

◆ SetYRange()

void SetYRange ( ValueRange< double > yRange)
inlinenoexcept

Set the range regarding the y-axis.

Parameters
[in]yRangeThe new range.
Exceptions
Doesnot throw any exception.

◆ SetZRange()

void SetZRange ( ValueRange< double > zRange)
inlinenoexcept

Set the range regarding the z-axis.

Parameters
[in]zRangeThe new range.
Exceptions
Doesnot throw any exception.

◆ XRange()

ValueRange< double > XRange ( ) const
inlinenoexcept

Get the range regarding the x-axis.

Returns
The range.
Exceptions
Doesnot throw any exception.

◆ YRange()

ValueRange< double > YRange ( ) const
inlinenoexcept

Get the range regarding the y-axis.

Returns
The range.
Exceptions
Doesnot throw any exception.

◆ ZRange()

ValueRange< double > ZRange ( ) const
inlinenoexcept

Get the range regarding the z-axis.

Returns
The range.
Exceptions
Doesnot throw any exception.