FlowEngine 8.011
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::CameraGroupManagerInterface Class Referenceabstract

#include <CameraGroupManagerInterface.h>

Public Member Functions

virtual FLE_DLL Index addGroup (Buffer< CameraInterface * > cameras)=0
 
virtual FLE_DLL Index getNumberOfGroups () const =0
 
virtual FLE_DLL Result setDistanceRelation (Index group, double value, double accuracy=0)=0
 
virtual FLE_DLL Result setReferenceGroup (Index group)=0
 
virtual FLE_DLL Result setRotationRelation (Index group, ConstBuffer< double > value, ConstBuffer< double > accuracy={ })=0
 
virtual FLE_DLL Result setTranslationRelation (Index group, ConstBuffer< double > value, ConstBuffer< double > accuracy={ })=0
 
virtual FLE_DLL ~CameraGroupManagerInterface ()=default
 

Detailed Description

Class to setup camera relationships.

This class offers utilities to setup camera relationships in the context of a camera group.

A group setup is always composed of a reference group and one or more camera groups.

When translation and/or rotation are not specified, the group relations are computed automatically.

See also
ExampleCameraGroupPair.cpp and ExampleCameraGroupPano.cpp

Constructor & Destructor Documentation

◆ ~CameraGroupManagerInterface()

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

Default virtual destructor.

Member Function Documentation

◆ addGroup()

virtual FLE_DLL Index FlowEngine::CameraGroupManagerInterface::addGroup ( Buffer< CameraInterface * >  cameras)
pure virtual

Adds a camera group to the manager.

Parameters
[in]camerasa vector of cameras to add to the group. The buffer must be valid and each camera must be valid and not already added to the manager.
Returns
the index of the group or -1 if the operation failed.

◆ getNumberOfGroups()

virtual FLE_DLL Index FlowEngine::CameraGroupManagerInterface::getNumberOfGroups ( ) const
pure virtual

Returns the number of groups in the manager.

◆ setDistanceRelation()

virtual FLE_DLL Result FlowEngine::CameraGroupManagerInterface::setDistanceRelation ( Index  group,
double  value,
double  accuracy = 0 
)
pure virtual

Sets the distance relation between a camera group and the reference group.

Parameters
[in]groupthe index of the group to set the distance relation. It can't not be the reference group.
[in]valuethe distance value.
[in]accuracy(optional) the accuracy of the distance value.
Returns
One of the following result codes:
  • Result::Success – if the operation was successful.
  • Result::InvalidArgument
    • if the group index is not in the valid range or is the reference group.
    • if value or accuracy are not finite.

◆ setReferenceGroup()

virtual FLE_DLL Result FlowEngine::CameraGroupManagerInterface::setReferenceGroup ( Index  group)
pure virtual

Set the reference group.

Parameters
[in]groupthe index of the group to set as reference.
Returns
One of the following result codes:

◆ setRotationRelation()

virtual FLE_DLL Result FlowEngine::CameraGroupManagerInterface::setRotationRelation ( Index  group,
ConstBuffer< double >  value,
ConstBuffer< double >  accuracy = { } 
)
pure virtual

Sets the rotation relation between a camera group and the reference group.

Parameters
[in]groupthe index of the group to set the rotation relation.
[in]valuethe rotation value expressed in Euler angles notation.
[in]accuracy(optional) the accuracy of the rotation value expressed in Euler angles notation.
Returns
One of the following result codes:
  • Result::Success – if the operation was successful.
  • Result::InvalidArgument
    • if the group index is not in the valid range or is the reference group.
    • if value or accuracy contains non-finite values.

◆ setTranslationRelation()

virtual FLE_DLL Result FlowEngine::CameraGroupManagerInterface::setTranslationRelation ( Index  group,
ConstBuffer< double >  value,
ConstBuffer< double >  accuracy = { } 
)
pure virtual

Sets the translation relation between a camera group and the reference group.

Parameters
[in]groupthe index of the group to set the translation relation.
[in]valuethe translation value.
[in]accuracy(optional) the accuracy of the translation value.