CVB++ 14.0
CubeRange Class Referencefinal

3D rectangle in the samples, lines and bands domain. More...

#include <cvb/spectral/cube_range.hpp>

Public Member Functions

 CubeRange () noexcept=default
 Creates a default cube range with value ranges from 0.0 to 0.0. More...
 
 CubeRange (ValueRange< int > samples, ValueRange< int > lines, ValueRange< int > bands)
 Initialize a cube range object. More...
 
ValueRange< int > Samples () const noexcept
 Gets the range regarding the samples dimension. More...
 
void SetSamples (ValueRange< int > samples) noexcept
 Sets the range regarding samples dimension. More...
 
ValueRange< int > Lines () const noexcept
 Gets the range regarding lines dimension. More...
 
void SetLines (ValueRange< int > lines)
 Sets the range regarding the lines dimension. More...
 
ValueRange< int > Bands () const noexcept
 Gets the range regarding bands dimension. More...
 
void SetBands (ValueRange< int > bands) noexcept
 Sets the range regarding bands dimension. More...
 
bool Contains (Vector3D< int > value) const noexcept
 Checks if a the 3D value is inside the cube range. More...
 
bool IntersectsWith (CubeRange other) const noexcept
 Checks if this cuboid intersects with another cube range. More...
 
bool operator== (const CubeRange &cubeRange) const noexcept
 Compares to an other cube range. More...
 
bool operator!= (const CubeRange &cubeRange) const noexcept
 Compares to an other cube range. More...
 

Detailed Description

3D rectangle in the samples, lines and bands domain.

Region resembling a 3D value range for hyper spectral cubes.

Constructor & Destructor Documentation

◆ CubeRange() [1/2]

CubeRange ( )
defaultnoexcept

Creates a default cube range with value ranges from 0.0 to 0.0.

Exceptions
Doesnot throw any exception.

◆ CubeRange() [2/2]

CubeRange ( ValueRange< int >  samples,
ValueRange< int >  lines,
ValueRange< int >  bands 
)
inline

Initialize a cube range object.

Parameters
[in]samplesRange regarding the samples dimension.
[in]linesRange regarding the lines dimension.
[in]bandsRange regarding the bands dimension.
Exceptions
Anyexception derived from std::exception including CvbException.

Member Function Documentation

◆ Bands()

ValueRange< int > Bands ( ) const
inlinenoexcept

Gets the range regarding bands dimension.

Returns
The range.
Exceptions
Doesnot throw any exception.
See also
SetBands

◆ Contains()

bool Contains ( Vector3D< int >  value) const
inlinenoexcept

Checks if a the 3D value is inside the cube range.

Parameters
[in]valueValue to be checked.
Returns
True if value within the cuboid.
Exceptions
Doesnot throw any exception.
See also
IntersectsWith

◆ IntersectsWith()

bool IntersectsWith ( CubeRange  other) const
inlinenoexcept

Checks if this cuboid intersects with another cube range.

Parameters
[in]otherCube range for intersection test.
Returns
True if this cube range and the other cube range have at least one value in common, false otherwise.
Exceptions
Doesnot throw any exception.
See also
Contains

◆ Lines()

ValueRange< int > Lines ( ) const
inlinenoexcept

Gets the range regarding lines dimension.

Returns
The range.
Exceptions
Doesnot throw any exception.
See also
SetLines

◆ operator!=()

bool operator!= ( const CubeRange cubeRange) const
inlinenoexcept

Compares to an other cube range.

Parameters
[in]cubeRangeOther cube range.
Returns
True if not equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ operator==()

bool operator== ( const CubeRange cubeRange) const
inlinenoexcept

Compares to an other cube range.

Parameters
[in]cubeRangeOther cube range.
Returns
True if equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ Samples()

ValueRange< int > Samples ( ) const
inlinenoexcept

Gets the range regarding the samples dimension.

Returns
The range.
Exceptions
Doesnot throw any exception.
See also
SetSamples

◆ SetBands()

void SetBands ( ValueRange< int >  bands)
inlinenoexcept

Sets the range regarding bands dimension.

Parameters
[in]bandsThe new range.
Exceptions
Doesnot throw any exception.
See also
Bands

◆ SetLines()

void SetLines ( ValueRange< int >  lines)
inline

Sets the range regarding the lines dimension.

Parameters
[in]linesThe new range.
Exceptions
Doesnot throw any exception.
See also
Lines

◆ SetSamples()

void SetSamples ( ValueRange< int >  samples)
inlinenoexcept

Sets the range regarding samples dimension.

Parameters
[in]samplesThe new range.
Exceptions
Doesnot throw any exception.
See also
Samples