FlowEngine 9.000
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
WorkspaceSaverInterface.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 FLOWENGINEWORKSPACESAVER_H
20#define FLOWENGINEWORKSPACESAVER_H
21
22#pragma once
23
24#include "CommonDef.h"
25
26#include "CameraInterface.h"
29#include "StereoMeshInterface.h"
36#include "OrthophotoInterface.h"
39
40namespace FlowEngine
41{
44 {
45 public:
46
48 FLE_DLL virtual ~WorkspaceSaverInterface() = default;
49
50 public:
51
60 const SparsePointCloudInterface &sparsePointCloud ) = 0;
61
69 FLE_DLL virtual Result addCamera( const CameraInterface &camera ) = 0;
70
78 FLE_DLL virtual Result addSparsePointCloud( const SparsePointCloudInterface &sparsePointCloud ) = 0;
79
85 FLE_DLL virtual Result addStereoPointCloud( const StereoPointCloudInterface &stereoPointCloud ) = 0;
86
92 FLE_DLL virtual Result addStereoMesh( const StereoMeshInterface &stereoMesh ) = 0;
93
99 FLE_DLL virtual Result addStereoTexturedMesh( const StereoTexturedMeshInterface &stereTexturedMesh ) = 0;
100
106 FLE_DLL virtual Result addBoundingBox( const BoundingBoxInterface &boundingBox ) = 0;
107
113 FLE_DLL virtual Result addCameraConstraint( const CameraConstraintInterface &cameraConstraint ) = 0;
114
120 FLE_DLL virtual Result addControlPointConstraint( const ControlPointConstraintInterface &controlPoint ) = 0;
121
127 FLE_DLL virtual Result addDistanceConstraint( const DistanceConstraintInterface &distanceConstraint ) = 0;
128
141 FLE_DLL virtual Result addOrthophoto( const OrthophotoInterface &orthophoto,
142 ConstStringBuffer orthophotoSaveFilePath,
143 ConstStringBuffer dsmSaveFilePath,
144 const ProjectedCoordinateSystemInterface *projCS = nullptr,
145 float dpi = 96.0f ) = 0;
146
154
160 FLE_DLL virtual Result addGaussianSplats( const GaussianSplatsInterface &gaussianSplat ) = 0;
161
162 public:
163
173 FLE_DLL virtual Result save( ConstStringBuffer filePath, bool saveAsSeparateFiles = false ) const = 0;
174
181 FLE_DLL virtual Result save( DynamicBufferInterface &outBuffer ) const = 0;
182 };
183
187
191}
192
193#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 save output objects as .3dk binary files that can be opened by 3DF Zephyr gui.
Definition: WorkspaceSaverInterface.h:44
virtual FLE_DLL Result addCamera(const CameraInterface &camera)=0
virtual FLE_DLL Result addDistanceConstraint(const DistanceConstraintInterface &distanceConstraint)=0
virtual FLE_DLL Result addStereoTexturedMesh(const StereoTexturedMeshInterface &stereTexturedMesh)=0
virtual FLE_DLL Result addStereoMesh(const StereoMeshInterface &stereoMesh)=0
virtual FLE_DLL Result addSparsePointCloud(const SparsePointCloudInterface &sparsePointCloud)=0
virtual FLE_DLL Result save(ConstStringBuffer filePath, bool saveAsSeparateFiles=false) const =0
virtual FLE_DLL Result addStereoPointCloud(const StereoPointCloudInterface &stereoPointCloud)=0
virtual FLE_DLL Result addOrthophoto(const OrthophotoInterface &orthophoto, ConstStringBuffer orthophotoSaveFilePath, ConstStringBuffer dsmSaveFilePath, const ProjectedCoordinateSystemInterface *projCS=nullptr, float dpi=96.0f)=0
virtual FLE_DLL Result addGaussianSplats(const GaussianSplatsInterface &gaussianSplat)=0
virtual FLE_DLL ~WorkspaceSaverInterface()=default
Default virtual destructor.
virtual FLE_DLL Result save(DynamicBufferInterface &outBuffer) const =0
virtual FLE_DLL Result addBoundingBox(const BoundingBoxInterface &boundingBox)=0
virtual FLE_DLL Result addProjectedCoordinateSystem(const ProjectedCoordinateSystemInterface &projCS)=0
virtual FLE_DLL Result addCamerasAndSparsePointCloud(ConstBuffer< CameraInterface * > cameras, const SparsePointCloudInterface &sparsePointCloud)=0
virtual FLE_DLL Result addControlPointConstraint(const ControlPointConstraintInterface &controlPoint)=0
virtual FLE_DLL Result addCameraConstraint(const CameraConstraintInterface &cameraConstraint)=0
Definition: BoundingBoxInterface.cpp:26
WorkspaceSaverInterface * CreateWorkspaceSaver()
Definition: WorkspaceSaverInterface.cpp:27
void DestroyWorkspaceSaver(WorkspaceSaverInterface *workspaceSaver)
Definition: WorkspaceSaverInterface.cpp:32
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:48
Specialization for a const buffer characters.
Definition: CommonDef.h:305
Holds a (non mutable) non_owning pointer and a count Used to marshal memory buffers as arguments in a...
Definition: CommonDef.h:200