FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
ControlPointConstraintInterface.h
Go to the documentation of this file.
1/*
2 *
3 * C@@o ____ _____ __ _
4 * oC8@@@@@@@o |___ \| __ \ / _| |
5 * o@@@@@@@@@@@@O __) | | | | |_| | _____ __
6 * O@O 8@@@@@@@@@O |__ <| | | | _| |/ _ \ \ /\ / /
7 * o@@@@@@@O OOOOOCo ___) | |__| | | | | (_) \ V V /
8 * C@@@@@@@@@@@@Oo |____/|_____/|_| |_|\___/ \_/\_/
9 * o8@@@@@@@@@@@@@@@@8OOCCCC
10 * oO@@@@@@@@@@@@@@@@@@@o 3Dflow s.r.l. - www.3dflow.net
11 * oO8@@@@@@@@@@@@o Copyright 2022
12 * oO88@@@@@@@@8OCo All Rights Reserved
13 * O@@@@@@@@@@@@@@@@@@@@@@@@@8OCCoooooooCCo
14 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O
15 * @@@Oo oO8@@@@@@@@@@@@@@@@8
16 *
17 */
18
19#ifndef FLOWENGINECONSTRAINT_H
20#define FLOWENGINECONSTRAINT_H
21
22#pragma once
23
24#include "CommonDef.h"
25
27
28namespace FlowEngine
29{
30 class CameraInterface;
31
34 {
35 public:
36
38 FLE_DLL virtual ~ControlPointConstraintInterface() = default;
39
40 public:
41
43 FLE_DLL virtual Index getImageProjectionCount() const = 0;
44
53 FLE_DLL virtual Result getImageProjection( Index idx,
54 CameraInterface &outCamera,
55 Point2 &outImageCoords ) const = 0;
56
57 FLE_DLL virtual Result getImageProjection( const CameraInterface &inCamera,
58 Point2 &outImageCoords ) const = 0;
59
67 FLE_DLL virtual Result addImageProjection( const CameraInterface &camera, const Point2 &imageCoords ) = 0;
68
71 FLE_DLL virtual void getConstraintPosition( Point3 &outConstraint ) const = 0;
72
75 FLE_DLL virtual void setConstraintPosition( const Point3 &constraint ) = 0;
76
79 FLE_DLL virtual void getConstraintConfidence( float &outConfidence ) const = 0;
80
83 FLE_DLL virtual void getConstraintWeight( float &outWeight ) const = 0;
84
90 FLE_DLL virtual Result setConstraintConfidence( float confidence ) = 0;
91
97 FLE_DLL virtual Result setConstraintWeight( float weight ) = 0;
98
106 FLE_DLL virtual Result triangulate( Point3 &outCoords ) const = 0;
107
115 FLE_DLL virtual Result validateProjections( double reprojectionThreshold ) = 0;
116 };
117
121
125}
126
127#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera object to feed the Structure from Motion parameters.
Definition: CameraInterface.h:38
Stores a ground control point constraint with image projections and 3D constraint.
Definition: ControlPointConstraintInterface.h:34
virtual FLE_DLL Result triangulate(Point3 &outCoords) const =0
virtual FLE_DLL ~ControlPointConstraintInterface()=default
Default virtual destructor.
virtual FLE_DLL Result setConstraintWeight(float weight)=0
virtual FLE_DLL Result getImageProjection(Index idx, CameraInterface &outCamera, Point2 &outImageCoords) const =0
virtual FLE_DLL void getConstraintPosition(Point3 &outConstraint) const =0
virtual FLE_DLL void getConstraintWeight(float &outWeight) const =0
virtual FLE_DLL Result setConstraintConfidence(float confidence)=0
virtual FLE_DLL void setConstraintPosition(const Point3 &constraint)=0
virtual FLE_DLL Index getImageProjectionCount() 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 getConstraintConfidence(float &outConfidence) const =0
virtual FLE_DLL Result validateProjections(double reprojectionThreshold)=0
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Definition: BoundingBoxInterface.cpp:26
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:100
ControlPointConstraintInterface * CreateControlPointConstraint()
Definition: ControlPointConstraintInterface.cpp:27
void DestroyControlPointConstraint(ControlPointConstraintInterface *controlPoint)
Definition: ControlPointConstraintInterface.cpp:32
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
a 2 dimensional point
Definition: CommonDef.h:388
a three dimensional point
Definition: CommonDef.h:375