FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
CameraInterface.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 FLOWENGINECAMERAINTERFACE_H
20#define FLOWENGINECAMERAINTERFACE_H
21
22#pragma once
23
24#include "CommonDef.h"
25
27
28namespace FlowEngine
29{
30 class CameraCalibrationInterface;
31 class ControlPointConstraintInterface;
32 class SettingsInterface;
33
38 {
39 public:
40
42 FLE_DLL virtual ~CameraInterface() = default;
43
44 public:
45
48 FLE_DLL virtual bool isReconstructed() const = 0;
49
60 FLE_DLL virtual ReconstructionID reconstructionId() const = 0;
61
62 public:
63
71 FLE_DLL virtual Result loadImage( ConstStringBuffer filePath ) = 0;
72
76 FLE_DLL virtual Result loadMask( ConstStringBuffer filePath, const SettingsInterface &settings ) = 0;
77
79 FLE_DLL virtual void resetMask() = 0;
80
89 FLE_DLL virtual Result loadPreviousFrame( ConstStringBuffer filePath ) = 0;
90
99 FLE_DLL virtual Result loadPivotFrame( ConstStringBuffer filePath ) = 0;
100
101 public:
102
107 FLE_DLL virtual Result getImageFilePath( StringBuffer outImageFilePath ) const = 0;
108
111 FLE_DLL virtual Size getImageFilePathLength() const = 0;
112
117 FLE_DLL virtual Result getPPM( Buffer< double > outPPM ) const = 0;
118
123 FLE_DLL virtual Result getR( Buffer< double > outR ) const = 0;
124
128 FLE_DLL virtual Result getT( Point3 &outTranslation ) const = 0;
129
132 FLE_DLL virtual void getCameraCalibration( CameraCalibrationInterface &outCameraCalibration ) const = 0;
133
137 FLE_DLL virtual void getDimensions( int &outWidth, int &outHeight ) const = 0;
138
139 public:
140
143 FLE_DLL virtual void setCameraCalibration( const CameraCalibrationInterface &cameraCalibration ) = 0;
144
148 FLE_DLL virtual Result setPPM( ConstBuffer< double > ppm ) = 0;
149
152 FLE_DLL virtual Result setR( ConstBuffer< double > rot ) = 0;
153
156 FLE_DLL virtual Result setT( ConstBuffer< double > translation ) = 0;
157
158 public:
159
173 FLE_DLL virtual Result orientWithControlPointConstraints( ConstBuffer< ControlPointConstraintInterface * > controlPoints, bool adjustInternalParameters, bool adjustRadialDistortion ) = 0;
174
175 public:
176
180 FLE_DLL virtual Result projectPoint( const Point3 &pt, Point2 &outImageCoords ) const = 0;
181
199 FLE_DLL virtual Result computeGroundSampleDistance( double &outMin, double &outMax, double &outMean ) const = 0;
200
201 public:
202
210 FLE_DLL virtual Result loadFromXmp( ConstStringBuffer filePath ) = 0;
211
220 FLE_DLL virtual Result saveToXmp( ConstStringBuffer filePath ) const = 0;
221
222 public:
223
239 FLE_DLL virtual Result saveUndistortedImage( ConstStringBuffer filePath, Size width = 0, Size height = 0, Size channelBitDepth = 0 ) const = 0;
240
241 public:
242
255 FLE_DLL virtual Result generateSTMap( Image &inOutImage ) const = 0;
256 };
257
261
265}
266
267#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera calibration.
Definition: CameraCalibrationInterface.h:30
Stores a camera object to feed the Structure from Motion parameters.
Definition: CameraInterface.h:38
virtual FLE_DLL Result loadImage(ConstStringBuffer filePath)=0
virtual FLE_DLL Result computeGroundSampleDistance(double &outMin, double &outMax, double &outMean) const =0
virtual FLE_DLL Result loadMask(ConstStringBuffer filePath, const SettingsInterface &settings)=0
virtual FLE_DLL Size getImageFilePathLength() const =0
virtual FLE_DLL Result getT(Point3 &outTranslation) const =0
virtual FLE_DLL void resetMask()=0
Resets the mask of this camera.
virtual FLE_DLL void getCameraCalibration(CameraCalibrationInterface &outCameraCalibration) const =0
virtual FLE_DLL Result getPPM(Buffer< double > outPPM) const =0
virtual FLE_DLL Result getImageFilePath(StringBuffer outImageFilePath) const =0
virtual FLE_DLL Result setPPM(ConstBuffer< double > ppm)=0
virtual FLE_DLL Result orientWithControlPointConstraints(ConstBuffer< ControlPointConstraintInterface * > controlPoints, bool adjustInternalParameters, bool adjustRadialDistortion)=0
virtual FLE_DLL Result projectPoint(const Point3 &pt, Point2 &outImageCoords) const =0
virtual FLE_DLL Result loadPreviousFrame(ConstStringBuffer filePath)=0
virtual FLE_DLL Result getR(Buffer< double > outR) const =0
virtual FLE_DLL Result loadPivotFrame(ConstStringBuffer filePath)=0
virtual FLE_DLL Result loadFromXmp(ConstStringBuffer filePath)=0
virtual FLE_DLL Result saveToXmp(ConstStringBuffer filePath) const =0
virtual FLE_DLL void getDimensions(int &outWidth, int &outHeight) const =0
virtual FLE_DLL bool isReconstructed() const =0
virtual FLE_DLL Result saveUndistortedImage(ConstStringBuffer filePath, Size width=0, Size height=0, Size channelBitDepth=0) const =0
virtual FLE_DLL ReconstructionID reconstructionId() const =0
virtual FLE_DLL Result generateSTMap(Image &inOutImage) const =0
virtual FLE_DLL Result setR(ConstBuffer< double > rot)=0
virtual FLE_DLL ~CameraInterface()=default
Default virtual destructor.
virtual FLE_DLL Result setT(ConstBuffer< double > translation)=0
virtual FLE_DLL void setCameraCalibration(const CameraCalibrationInterface &cameraCalibration)=0
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Stores the processing settings.
Definition: SettingsInterface.h:32
Definition: BoundingBoxInterface.cpp:26
void DestroyCamera(CameraInterface *camera)
Definition: CameraInterface.cpp:32
std::size_t Size
Size type.
Definition: CommonDef.h:103
unsigned int ReconstructionID
Unique identification number in a group of cameras.
Definition: CommonDef.h:112
CameraInterface * CreateCamera()
Definition: CameraInterface.cpp:27
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
Specialization for a Buffer of characters.
Definition: CommonDef.h:255
Holds a (mutable) non_owning pointer and a size Used to marshal memory buffers as arguments in a safe...
Definition: CommonDef.h:118
Specialization for a const buffer characters.
Definition: CommonDef.h:296
Holds a (non mutable) non_owning pointer and a count Used to marshal memory buffers as arguments in a...
Definition: CommonDef.h:191
a Quaternion Holds information about a raw image Data is not owned
Definition: CommonDef.h:479
a 2 dimensional point
Definition: CommonDef.h:388
a three dimensional point
Definition: CommonDef.h:375