FlowEngine 9.000
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
WorkspaceLoaderInterface.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 FLOWENGINEWORKSPACELOADER_H
20#define FLOWENGINEWORKSPACELOADER_H
21
22#pragma once
23
24#include "CommonDef.h"
25
26#include "CameraInterface.h"
29#include "StereoMeshInterface.h"
35#include "OrthophotoInterface.h"
38
39namespace FlowEngine
40{
41 class DynamicBufferInterface;
42
45 {
46 public:
47
49 FLE_DLL virtual ~WorkspaceLoaderInterface() = default;
50
51 public:
52
61 FLE_DLL virtual Result load( ConstStringBuffer filePath ) = 0;
62
70 FLE_DLL virtual Result load( ConstStringBuffer filePath, const Version &minimumVersion ) = 0;
71
80 FLE_DLL virtual Result load( DynamicBufferInterface &inBuffer ) = 0;
81
82 public:
83
90 FLE_DLL virtual Result getVersion( Version &outVersion ) const = 0;
91
92 public:
93
95 FLE_DLL virtual Index getCameraCount() const = 0;
96
98 FLE_DLL virtual Index getSparsePointCloudCount() const = 0;
99
101 FLE_DLL virtual Index getStereoPointCloudCount() const = 0;
102
104 FLE_DLL virtual Index getStereoMeshCount() const = 0;
105
107 FLE_DLL virtual Index getStereoTexturedMeshCount() const = 0;
108
110 FLE_DLL virtual Index getBoundingBoxCount() const = 0;
111
113 FLE_DLL virtual Index getControlPointConstraintCount() const = 0;
114
116 FLE_DLL virtual Index getCameraConstraintCount() const = 0;
117
119 FLE_DLL virtual Index getDistanceConstraintCount() const = 0;
120
122 FLE_DLL virtual Index getOrthophotoCount() const = 0;
123
125 FLE_DLL virtual Index getProjectedCoordinateSystemCount() const = 0;
126
128 FLE_DLL virtual Index getGaussianSplatsCount() const = 0;
129
130 public:
131
138 FLE_DLL virtual Result getCamera( Index idx, CameraInterface &outCamera ) const = 0;
139
146 FLE_DLL virtual Result getSparsePointCloud( Index idx, SparsePointCloudInterface &outSparsePointCloud ) const = 0;
147
154 FLE_DLL virtual Result getStereoPointCloud( Index idx, StereoPointCloudInterface &outDensePointCloud ) const = 0;
155
162 FLE_DLL virtual Result getStereoMesh( Index idx, StereoMeshInterface &outMesh ) const = 0;
163
170 FLE_DLL virtual Result getStereoTexturedMesh( Index idx, StereoTexturedMeshInterface &outTexturedMesh ) const = 0;
171
178 FLE_DLL virtual Result getBoundingBox( Index idx, BoundingBoxInterface &outBoundingBox ) const = 0;
179
186 FLE_DLL virtual Result getControlPointConstraint( Index idx, ControlPointConstraintInterface &outControlPointConstraint ) const = 0;
187
194 FLE_DLL virtual Result getCameraConstraint( Index idx, CameraConstraintInterface &outCameraConstraint ) const = 0;
195
202 FLE_DLL virtual Result getDistanceConstraint( Index idx, DistanceConstraintInterface &outDistanceConstraint ) const = 0;
203
210 FLE_DLL virtual Result getOrthophoto( Index idx, OrthophotoInterface &outOrthophoto ) const = 0;
211
218 FLE_DLL virtual Result getProjectedCoordinateSystem( Index idx, ProjectedCoordinateSystemInterface &outProjectedCoordinateSystem ) const = 0;
219
226 FLE_DLL virtual Result getGaussianSplats( Index idx, GaussianSplatsInterface &outGaussianSplat ) const = 0;
227 };
228
232
236}
237
238#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
An oriented bounding box.
Definition: BoundingBoxInterface.h:35
Stores a 3d camera constraint.
Definition: CameraConstraintInterface.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
Defines a distance constraint between two control points.
Definition: DistanceConstraintInterface.h:39
Dynamic memory buffer utility used to marshall variable amount of data.
Definition: DynamicBufferInterface.h:30
Stores a Gaussian Splat point cloud object for the FlowEngine interface.
Definition: GaussianSplatsInterface.h:34
Hold an Orthophoto object.
Definition: OrthophotoInterface.h:34
Represents a Projected Coordinate System (PCS).
Definition: ProjectedCoordinateSystemInterface.h:35
Stores a PointCloud object.
Definition: SparsePointCloudInterface.h:36
Stores a simple stereo mesh object for the FlowEngine interface.
Definition: StereoMeshInterface.h:40
Stores a simple Dense Point Cloud object for the FlowEngine interface.
Definition: StereoPointCloudInterface.h:40
Stores a simple textured mesh object for the FlowEngine interface.
Definition: StereoTexturedMeshInterface.h:38
Utility class to load objects from ".3dk" binary files that can be saved using the WorkspaceSaverInte...
Definition: WorkspaceLoaderInterface.h:45
virtual FLE_DLL Result getProjectedCoordinateSystem(Index idx, ProjectedCoordinateSystemInterface &outProjectedCoordinateSystem) const =0
virtual FLE_DLL Result getControlPointConstraint(Index idx, ControlPointConstraintInterface &outControlPointConstraint) const =0
virtual FLE_DLL Result getBoundingBox(Index idx, BoundingBoxInterface &outBoundingBox) const =0
virtual FLE_DLL Index getStereoMeshCount() const =0
virtual FLE_DLL Result getDistanceConstraint(Index idx, DistanceConstraintInterface &outDistanceConstraint) const =0
virtual FLE_DLL Result getSparsePointCloud(Index idx, SparsePointCloudInterface &outSparsePointCloud) const =0
virtual FLE_DLL Result getGaussianSplats(Index idx, GaussianSplatsInterface &outGaussianSplat) const =0
virtual FLE_DLL Result getStereoMesh(Index idx, StereoMeshInterface &outMesh) const =0
virtual FLE_DLL Index getStereoTexturedMeshCount() const =0
virtual FLE_DLL ~WorkspaceLoaderInterface()=default
Default virtual destructor.
virtual FLE_DLL Index getDistanceConstraintCount() const =0
virtual FLE_DLL Result getOrthophoto(Index idx, OrthophotoInterface &outOrthophoto) const =0
virtual FLE_DLL Result getVersion(Version &outVersion) const =0
virtual FLE_DLL Index getBoundingBoxCount() const =0
virtual FLE_DLL Result load(DynamicBufferInterface &inBuffer)=0
virtual FLE_DLL Index getSparsePointCloudCount() const =0
virtual FLE_DLL Result load(ConstStringBuffer filePath)=0
virtual FLE_DLL Index getOrthophotoCount() const =0
virtual FLE_DLL Result load(ConstStringBuffer filePath, const Version &minimumVersion)=0
virtual FLE_DLL Index getCameraCount() const =0
virtual FLE_DLL Index getStereoPointCloudCount() const =0
virtual FLE_DLL Result getStereoTexturedMesh(Index idx, StereoTexturedMeshInterface &outTexturedMesh) const =0
virtual FLE_DLL Index getControlPointConstraintCount() const =0
virtual FLE_DLL Index getCameraConstraintCount() const =0
virtual FLE_DLL Index getGaussianSplatsCount() const =0
virtual FLE_DLL Index getProjectedCoordinateSystemCount() const =0
virtual FLE_DLL Result getStereoPointCloud(Index idx, StereoPointCloudInterface &outDensePointCloud) const =0
virtual FLE_DLL Result getCamera(Index idx, CameraInterface &outCamera) const =0
virtual FLE_DLL Result getCameraConstraint(Index idx, CameraConstraintInterface &outCameraConstraint) const =0
Definition: BoundingBoxInterface.cpp:26
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:103
void DestroyWorkspaceLoader(WorkspaceLoaderInterface *workspaceLoader)
Definition: WorkspaceLoaderInterface.cpp:32
WorkspaceLoaderInterface * CreateWorkspaceLoader()
Definition: WorkspaceLoaderInterface.cpp:27
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:48
Specialization for a const buffer characters.
Definition: CommonDef.h:305
Represents a version in the major.minor categories format.
Definition: CommonDef.h:431