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

Stores a ground control point constraint with image projections and 3D constraint. More...

#include <ControlPointConstraintInterface.h>

Inheritance diagram for FlowEngine::ControlPointConstraintInterface:
FlowEngine::NamedObjectInterface

Public Member Functions

virtual FLE_DLL ~ControlPointConstraintInterface ()=default
 Default virtual destructor.
 
virtual FLE_DLL Index getImageProjectionCount () const =0
 
virtual FLE_DLL Result getImageProjection (Index idx, CameraInterface &outCamera, Point2 &outImageCoords) const =0
 
virtual FLE_DLL Result getImageProjection (const CameraInterface &inCamera, Point2 &outImageCoords) const =0
 
virtual FLE_DLL Result addImageProjection (const CameraInterface &camera, const Point2 &imageCoords)=0
 
virtual FLE_DLL void getConstraintPosition (Point3 &outConstraint) const =0
 
virtual FLE_DLL void setConstraintPosition (const Point3 &constraint)=0
 
virtual FLE_DLL void getConstraintConfidence (float &outConfidence) const =0
 
virtual FLE_DLL void getConstraintWeight (float &outWeight) const =0
 
virtual FLE_DLL Result setConstraintConfidence (float confidence)=0
 
virtual FLE_DLL Result setConstraintWeight (float weight)=0
 
virtual FLE_DLL Result triangulate (Point3 &outCoords) const =0
 
virtual FLE_DLL Result validateProjections (double reprojectionThreshold)=0
 
- Public Member Functions inherited from FlowEngine::NamedObjectInterface
virtual FLE_DLL ~NamedObjectInterface ()=default
 Default virtual destructor.
 
virtual FLE_DLL Size getNameLength () const =0
 
virtual FLE_DLL Result getName (StringBuffer outName) const =0
 
virtual FLE_DLL Result setName (ConstStringBuffer name)=0
 

Detailed Description

Stores a ground control point constraint with image projections and 3D constraint.

Constructor & Destructor Documentation

◆ ~ControlPointConstraintInterface()

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

Default virtual destructor.

Member Function Documentation

◆ addImageProjection()

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::addImageProjection ( const CameraInterface camera,
const Point2 imageCoords 
)
pure virtual

Add an image projection to the current constraints list

Parameters
[in]camerathe camera associated with the supplied projection.
[in]imageCoordsx-y image coordinates of the current projection.
Returns
One of the following result codes:

◆ getConstraintConfidence()

virtual FLE_DLL void FlowEngine::ControlPointConstraintInterface::getConstraintConfidence ( float &  outConfidence) const
pure virtual

Returns the 3D constraint confidence (in pixels) for the current control point.

Parameters
[out]outConfidenceconstraint confidence in pixels

◆ getConstraintPosition()

virtual FLE_DLL void FlowEngine::ControlPointConstraintInterface::getConstraintPosition ( Point3 outConstraint) const
pure virtual

Returns the 3D constraint for the current control point.

Parameters
[out]outConstraintx-y-z constraint position in space.

◆ getConstraintWeight()

virtual FLE_DLL void FlowEngine::ControlPointConstraintInterface::getConstraintWeight ( float &  outWeight) const
pure virtual

Returns the 3D constraint weight for the current control point.

Parameters
[out]outWeightconstraint weight

◆ getImageProjection() [1/2]

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::getImageProjection ( const CameraInterface inCamera,
Point2 outImageCoords 
) const
pure virtual

◆ getImageProjection() [2/2]

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::getImageProjection ( Index  idx,
CameraInterface outCamera,
Point2 outImageCoords 
) const
pure virtual

Returns the image projection coordinates with index idx

Parameters
[in]idxthe index of the position to retrieve. Must be in the range [0, getImageProjectionCount())
[in,out]outCameracamera interface of the current projection
[out]outImageCoordsx-y image coordinates of the current projection
Returns
One of the following result codes:

◆ getImageProjectionCount()

virtual FLE_DLL Index FlowEngine::ControlPointConstraintInterface::getImageProjectionCount ( ) const
pure virtual
Returns
the number of images projections set for the current Control Point

◆ setConstraintConfidence()

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::setConstraintConfidence ( float  confidence)
pure virtual

Set the 3D constraint confidence (in pixels) for the current control point.

Parameters
[in]confidenceconstraint confidence in pixels. The valid range is [0, inf).
Returns
One of the following result codes:

◆ setConstraintPosition()

virtual FLE_DLL void FlowEngine::ControlPointConstraintInterface::setConstraintPosition ( const Point3 constraint)
pure virtual

Set the 3D constraint for the current control point.

Parameters
[in]constraintx-y-z constraint position in space.

◆ setConstraintWeight()

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::setConstraintWeight ( float  weight)
pure virtual

Set the 3D constraint weight for the current control point. For reference, a tie point confidence is 1.

Parameters
[in]weightconstraint weight. The valid range is [0, inf).
Returns
One of the following result codes:

◆ triangulate()

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::triangulate ( Point3 outCoords) const
pure virtual

Triangulate the current image cameras and get a 3D point.

Parameters
[out]outCoordsx-y-z out coordinates in space
Precondition
The control points must have at least 2 valid projections.
Returns
One of the following result codes:

◆ validateProjections()

virtual FLE_DLL Result FlowEngine::ControlPointConstraintInterface::validateProjections ( double  reprojectionThreshold)
pure virtual

Validate and remove image projections with an high reprojection error (above the input threshold)

Parameters
[in]reprojectionThresholdThe maximum reprojection error allowed for a 2d coord (in pixels)
Precondition
The control points must have at least 2 initial valid projections.
Returns
One of the following result codes: