eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::Easy3D::E3DBox Class Reference

A 3D box, used as bounding volume for E3DObject class. A box is defined by a center, 3 axis and 3 extent for the 3 axis. A 3D point (x,y,z) is inside the E3DBox if ... By default a E3DBox is an axis aligned unit cube, centered on the origin. More...

#include <eVision/Easy3D/E3DBox.h>

Collaboration diagram for eVision::Easy3D::E3DBox:

Public Member Functions

 E3DBox ()
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (float xSize, float ySize, float zSize)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (const eVision::Easy3D::E3DOrthonormalAxisSystem &axes, float xSize, float ySize, float zSize)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (const eVision::Easy3D::E3DBox &other)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (const eVision::Easy3D::E3DPoint &center, float xSize, float ySize, float zSize)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (const eVision::EFloatRange &xBounds, const eVision::EFloatRange &yBounds, const eVision::EFloatRange &zBounds)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
 E3DBox (const eVision::Easy3D::E3DPoint &center, float roll, float pitch, float yaw, float xSize, float ySize, float zSize)
 Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.
virtual ~E3DBox () throw ()
eVision::Easy3D::E3DBox & operator= (const eVision::Easy3D::E3DBox &other)
 Assignment operator for the E3DBox.
bool operator== (const eVision::Easy3D::E3DBox &other) const
 Checks if two E3DBox are strictly equal.
bool operator!= (const eVision::Easy3D::E3DBox &other) const
 Checks if two E3DBox are different.
void Load (const std::string &path)
 Loads the E3DBox. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Loads the E3DBox. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Saves the E3DBox. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Saves the E3DBox. The given ESerializer must have been created for writing.
eVision::Easy3D::E3DPoint GetCenter () const
 3D box center.
void SetCenter (const eVision::Easy3D::E3DPoint &center)
 3D box center.
eVision::Easy3D::E3DPoint GetXAxis () const
 X axis of the box.
eVision::Easy3D::E3DPoint GetYAxis () const
 Y axis of the box.
eVision::Easy3D::E3DPoint GetZAxis () const
 Z axis of the box.
eVision::Easy3D::E3DOrthonormalAxisSystem GetAxes () const
 3D orthonormal axis system of the box.
void SetAxes (const eVision::Easy3D::E3DOrthonormalAxisSystem &axes)
 3D orthonormal axis system of the box.
void SetXSize (float xSize)
 Size of the 3D box along its X axis .
float GetXSize () const
 Size of the 3D box along its X axis .
void SetYSize (float ySize)
 Size of the 3D box along its Y axis.
float GetYSize () const
 Size of the 3D box along its Y axis.
void SetZSize (float zSize)
 Size of the 3D box along its Z axis.
float GetZSize () const
 Size of the 3D box along its Z axis.
eVision::EQuadrangle GetXYQuadrangle () const
 2D quadrangle of the E3DBox in the XY plane
eVision::Easy3D::E3DBox Transform (const eVision::Easy3D::E3DTransformMatrix &matrix) const
 Transforms the 3D box with the given transformation matrix. The transformation matrix must contain a rigid transformation (translation and rotation only) optionally combined with an anisotropic scaling transform if it is applied before and on an axis aligned E3DBox.
 E3DBox (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

A 3D box, used as bounding volume for E3DObject class. A box is defined by a center, 3 axis and 3 extent for the 3 axis. A 3D point (x,y,z) is inside the E3DBox if ... By default a E3DBox is an axis aligned unit cube, centered on the origin.

License(s): Easy3D

Constructor & Destructor Documentation

◆ E3DBox() [1/8]

eVision::Easy3D::E3DBox::E3DBox ( )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

By convention, roll is applied first and yaw last.

◆ E3DBox() [2/8]

eVision::Easy3D::E3DBox::E3DBox ( float xSize,
float ySize,
float zSize )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
xSizeThe full size of the box along the X axis.
ySizeThe full size of the box along the Y axis.
zSizeThe full size of the box along the Z axis.

By convention, roll is applied first and yaw last.

◆ E3DBox() [3/8]

eVision::Easy3D::E3DBox::E3DBox ( const eVision::Easy3D::E3DOrthonormalAxisSystem & axes,
float xSize,
float ySize,
float zSize )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
axesAxis system.
xSizeThe full size of the box along the X axis.
ySizeThe full size of the box along the Y axis.
zSizeThe full size of the box along the Z axis.

By convention, roll is applied first and yaw last.

◆ E3DBox() [4/8]

eVision::Easy3D::E3DBox::E3DBox ( const eVision::Easy3D::E3DBox & other)

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
otherReference to another E3DBox used for the initialization.

By convention, roll is applied first and yaw last.

◆ E3DBox() [5/8]

eVision::Easy3D::E3DBox::E3DBox ( const eVision::Easy3D::E3DPoint & center,
float xSize,
float ySize,
float zSize )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
centerThe 3D coordinate of the box center.
xSizeThe full size of the box along the X axis.
ySizeThe full size of the box along the Y axis.
zSizeThe full size of the box along the Z axis.

By convention, roll is applied first and yaw last.

◆ E3DBox() [6/8]

eVision::Easy3D::E3DBox::E3DBox ( const eVision::EFloatRange & xBounds,
const eVision::EFloatRange & yBounds,
const eVision::EFloatRange & zBounds )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
xBoundsThe bounds of box along the X axis.
yBoundsThe bounds of box along the Y axis.
zBoundsThe bounds of box along the Z axis.

By convention, roll is applied first and yaw last.

◆ E3DBox() [7/8]

eVision::Easy3D::E3DBox::E3DBox ( const eVision::Easy3D::E3DPoint & center,
float roll,
float pitch,
float yaw,
float xSize,
float ySize,
float zSize )

Constructs an E3DBox. By default a E3DBox is an axis aligned unit cube, centered on the origin.

Parameters
centerThe 3D coordinate of the box center.
rollRoll (rotation along the X axis) of the box.
pitchPitch (rotation along the Y axis) of the box.
yawYaw (rotation along the Z axis) of the box.
xSizeThe full size of the box along the X axis.
ySizeThe full size of the box along the Y axis.
zSizeThe full size of the box along the Z axis.

By convention, roll is applied first and yaw last.

◆ ~E3DBox()

eVision::Easy3D::E3DBox::~E3DBox ( )
throw ( )
virtual

◆ E3DBox() [8/8]

eVision::Easy3D::E3DBox::E3DBox ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ GetAxes()

eVision::Easy3D::E3DOrthonormalAxisSystem eVision::Easy3D::E3DBox::GetAxes ( ) const

3D orthonormal axis system of the box.

◆ GetCenter()

eVision::Easy3D::E3DPoint eVision::Easy3D::E3DBox::GetCenter ( ) const

3D box center.

◆ GetXAxis()

eVision::Easy3D::E3DPoint eVision::Easy3D::E3DBox::GetXAxis ( ) const

X axis of the box.

◆ GetXSize()

float eVision::Easy3D::E3DBox::GetXSize ( ) const

Size of the 3D box along its X axis .

◆ GetXYQuadrangle()

eVision::EQuadrangle eVision::Easy3D::E3DBox::GetXYQuadrangle ( ) const

2D quadrangle of the E3DBox in the XY plane

◆ GetYAxis()

eVision::Easy3D::E3DPoint eVision::Easy3D::E3DBox::GetYAxis ( ) const

Y axis of the box.

◆ GetYSize()

float eVision::Easy3D::E3DBox::GetYSize ( ) const

Size of the 3D box along its Y axis.

◆ GetZAxis()

eVision::Easy3D::E3DPoint eVision::Easy3D::E3DBox::GetZAxis ( ) const

Z axis of the box.

◆ GetZSize()

float eVision::Easy3D::E3DBox::GetZSize ( ) const

Size of the 3D box along its Z axis.

◆ Load() [1/2]

void eVision::Easy3D::E3DBox::Load ( const std::string & path)

Loads the E3DBox. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Load() [2/2]

void eVision::Easy3D::E3DBox::Load ( eVision::ESerializer * serializer)

Loads the E3DBox. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ operator!=()

bool eVision::Easy3D::E3DBox::operator!= ( const eVision::Easy3D::E3DBox & other) const

Checks if two E3DBox are different.

Parameters
otherThe other E3DBox that we will compare this one to.

◆ operator=()

eVision::Easy3D::E3DBox & eVision::Easy3D::E3DBox::operator= ( const eVision::Easy3D::E3DBox & other)

Assignment operator for the E3DBox.

Parameters
otherThe other E3DBox that we will copy into this one.

◆ operator==()

bool eVision::Easy3D::E3DBox::operator== ( const eVision::Easy3D::E3DBox & other) const

Checks if two E3DBox are strictly equal.

Parameters
otherThe other E3DBox that we will compare this one to.

◆ Save() [1/2]

void eVision::Easy3D::E3DBox::Save ( const std::string & path)

Saves the E3DBox. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

◆ Save() [2/2]

void eVision::Easy3D::E3DBox::Save ( eVision::ESerializer * serializer)

Saves the E3DBox. The given ESerializer must have been created for writing.

Parameters
serializerThe serializer.

◆ SetAxes()

void eVision::Easy3D::E3DBox::SetAxes ( const eVision::Easy3D::E3DOrthonormalAxisSystem & axes)

3D orthonormal axis system of the box.

Parameters
axesAn orthonormal axis system.

◆ SetCenter()

void eVision::Easy3D::E3DBox::SetCenter ( const eVision::Easy3D::E3DPoint & center)

3D box center.

◆ SetXSize()

void eVision::Easy3D::E3DBox::SetXSize ( float xSize)

Size of the 3D box along its X axis .

Parameters
xSizeThe full length of the box on the X axis.

◆ SetYSize()

void eVision::Easy3D::E3DBox::SetYSize ( float ySize)

Size of the 3D box along its Y axis.

Parameters
ySizeThe full length of the box on the Y axis.

◆ SetZSize()

void eVision::Easy3D::E3DBox::SetZSize ( float zSize)

Size of the 3D box along its Z axis.

Parameters
zSizeThe full length of the box on the Z axis.

◆ Transform()

eVision::Easy3D::E3DBox eVision::Easy3D::E3DBox::Transform ( const eVision::Easy3D::E3DTransformMatrix & matrix) const

Transforms the 3D box with the given transformation matrix. The transformation matrix must contain a rigid transformation (translation and rotation only) optionally combined with an anisotropic scaling transform if it is applied before and on an axis aligned E3DBox.

Parameters
matrixThe 3D transformation matrix.

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::Easy3D::E3DBox::wrappedClass_