FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::BoundingBoxInterface Class Referenceabstract

An oriented bounding box. More...

#include <BoundingBoxInterface.h>

Public Member Functions

virtual FLE_DLL ~BoundingBoxInterface ()=default
 Default virtual destructor.
 
virtual FLE_DLL void getTranslation (Point3 &outTranslation) const =0
 
virtual FLE_DLL void getHalfSize (Point3 &outHalfSize) const =0
 
virtual FLE_DLL void getOrientation (Quaternion &outOrientation) const =0
 
virtual FLE_DLL void setTranslation (const Point3 &translation)=0
 
virtual FLE_DLL void setHalfSize (const Point3 &halfSize)=0
 
virtual FLE_DLL void setOrientation (const Quaternion &orientation)=0
 
virtual FLE_DLL Result computeFromPoints (const SparsePointCloudInterface &pointCloud, bool useOutlierRejection, float additionalExpansionPerc=0.03f)=0
 
virtual FLE_DLL Result computeFromCameras (const SparsePointCloudInterface &pointCloud, Buffer< CameraInterface * > inCameras, float additionalExpansionPerc=0.1f)=0
 
virtual FLE_DLL Result exportToXml (ConstStringBuffer filePath) const =0
 
virtual FLE_DLL Result importFromXml (ConstStringBuffer filePath)=0
 

Detailed Description

An oriented bounding box.

Its parameters can be set manually or from a sparse point cloud.

Constructor & Destructor Documentation

◆ ~BoundingBoxInterface()

virtual FLE_DLL FlowEngine::BoundingBoxInterface::~BoundingBoxInterface ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ computeFromCameras()

virtual FLE_DLL Result FlowEngine::BoundingBoxInterface::computeFromCameras ( const SparsePointCloudInterface pointCloud,
Buffer< CameraInterface * >  inCameras,
float  additionalExpansionPerc = 0.1f 
)
pure virtual

Computes a bounding box from cameras and point cloud, assuming an orbit around an object.

Parameters
[in]pointClouda point cloud with at least 2 points.
[in]inCamerasvector of cameras
[in]additionalExpansionPercAdditional expansion factor for the bounding box. Must be >= 0 procedure to discard far camera positions in the bounding box computation. Otherwise, it will use all the points in the point cloud.
Postcondition
Valid dimensions (> 0), translation and orientation, or the previous values on error.
Returns
One of the following result codes:

◆ computeFromPoints()

virtual FLE_DLL Result FlowEngine::BoundingBoxInterface::computeFromPoints ( const SparsePointCloudInterface pointCloud,
bool  useOutlierRejection,
float  additionalExpansionPerc = 0.03f 
)
pure virtual

Computes appropriate bounding parameters from a sparse point cloud points.

Parameters
[in]pointClouda point cloud with at least 2 points.
[in]useOutlierRejectionIf set to true, use an outliers rejection
[in]additionalExpansionPercAdditional expansion factor for the bounding box. Must be >= 0 procedure to discard far points in the bounding box computation. Otherwise, it will use all the points in the point cloud.
Postcondition
Valid dimensions (> 0), translation and orientation, or the previous values on error.
Returns
One of the following result codes:

◆ exportToXml()

virtual FLE_DLL Result FlowEngine::BoundingBoxInterface::exportToXml ( ConstStringBuffer  filePath) const
pure virtual

Exports this bounding box parameters to an xml file

Parameters
[in]filePathstring buffer containing the utf-8 encoded path to where to save the data
Returns
One of the following result codes:

◆ getHalfSize()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::getHalfSize ( Point3 outHalfSize) const
pure virtual

Returns the half size of the bounding box

Parameters
[out]outHalfSizethe bounding box half size

◆ getOrientation()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::getOrientation ( Quaternion outOrientation) const
pure virtual

Returns the orientation of the bounding box (as axis-angle)

Parameters
[out]outOrientationthe bounding box orientation

◆ getTranslation()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::getTranslation ( Point3 outTranslation) const
pure virtual

Returns the translation of the bounding box

Parameters
[out]outTranslationthe bounding box translation

◆ importFromXml()

virtual FLE_DLL Result FlowEngine::BoundingBoxInterface::importFromXml ( ConstStringBuffer  filePath)
pure virtual

Imports bounding box parameters from an xml file

Parameters
[in]filePathstring buffer containing the utf-8 encoded path to where the file is located.
Returns
One of the following result codes:
Postcondition
valid parameters imported from the specified file, or the previous values if an error occurred.

◆ setHalfSize()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::setHalfSize ( const Point3 halfSize)
pure virtual

Change the half size of the bounding box

Parameters
[in]halfSizethe new bounding box half size

◆ setOrientation()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::setOrientation ( const Quaternion orientation)
pure virtual

Change the orientation of the bounding box (as axis-angle)

Parameters
[in]orientationthe new bounding box orientation

◆ setTranslation()

virtual FLE_DLL void FlowEngine::BoundingBoxInterface::setTranslation ( const Point3 translation)
pure virtual

Change the translation of the bounding box

Parameters
[in]translationthe new bounding box translation