FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
SparsePointCloudInterface.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 FLOWENGINESPARSEPOINTCLOUD_H
20#define FLOWENGINESPARSEPOINTCLOUD_H
21
22#pragma once
23
24#include "CommonDef.h"
25
27
28namespace FlowEngine
29{
30 class CameraInterface;
31
36 {
37 public:
38
40 FLE_DLL virtual ~SparsePointCloudInterface() = default;
41
42 public:
43
45 FLE_DLL virtual Index getPointCount() const = 0;
46
52 FLE_DLL virtual Result getPointPosition( Index idx, Point3 &outPosition ) const = 0;
53
59 FLE_DLL virtual Result getPointColor( Index idx, Color &outColor ) const = 0;
60
65 FLE_DLL virtual Index getPointVisibilityCount( Index pointIndex ) const = 0;
66
81 FLE_DLL virtual Result getPointVisibility( Index pointIndex,
82 Index visibilityIndex,
83 CameraInterface &outCamera ) const = 0;
84
85 public:
86
96 FLE_DLL virtual Result removePoint( Index index ) = 0;
97
109 FLE_DLL virtual Result removePoints( ConstBuffer< Index > indexes ) = 0;
110
119
120 public:
121
125 virtual FLE_DLL Result saveToPly( ConstStringBuffer filePath ) const = 0;
126
129 virtual FLE_DLL Result loadFromPly( ConstStringBuffer filePath ) = 0;
130 };
131
135
139}
140
141#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera object to feed the Structure from Motion parameters.
Definition: CameraInterface.h:38
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Stores a PointCloud object.
Definition: SparsePointCloudInterface.h:36
virtual FLE_DLL Result saveToPly(ConstStringBuffer filePath) const =0
virtual FLE_DLL Result removePoint(Index index)=0
virtual FLE_DLL Index getPointVisibilityCount(Index pointIndex) const =0
virtual FLE_DLL Result loadFromPly(ConstStringBuffer filePath)=0
virtual FLE_DLL Index getPointCount() const =0
virtual FLE_DLL Result getPointPosition(Index idx, Point3 &outPosition) const =0
virtual FLE_DLL ~SparsePointCloudInterface()=default
Default virtual destructor.
virtual FLE_DLL Result transform(ConstBuffer< double > transform)=0
virtual FLE_DLL Result getPointVisibility(Index pointIndex, Index visibilityIndex, CameraInterface &outCamera) const =0
virtual FLE_DLL Result removePoints(ConstBuffer< Index > indexes)=0
virtual FLE_DLL Result getPointColor(Index idx, Color &outColor) const =0
Definition: BoundingBoxInterface.cpp:26
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:100
SparsePointCloudInterface * CreateSparsePointCloud()
Definition: SparsePointCloudInterface.cpp:27
void DestroySparsePointCloud(SparsePointCloudInterface *boundingBox)
Definition: SparsePointCloudInterface.cpp:32
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
a packed RGB color
Definition: CommonDef.h:411
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 three dimensional point
Definition: CommonDef.h:375