DAVID4 SDK
1.8.7
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
SimpleShapeFusion.cpp
1
/// @example SimpleShapeFusion.cpp
2
///
3
/// Shows usage of david::ShapeFusion class.
4
5
#include "davidSDK/david.h"
6
7
namespace
examples {
8
9
/// Shows usage of david::ShapeFusion class.
10
///
11
void
main_SimpleShapeFusion
()
12
{
13
try
14
{
15
// INITIALIZE, CONNECT TO SERVER:
16
david::Client
david;
17
david.
Connect
();
18
19
// IMPORT SOME SCANS:
20
// File paths are relative to SERVER application folder:
21
int
id1 = david.
fusion
().
ImportMesh
(
"Scan01.obj"
);
22
int
id2 = david.
fusion
().
ImportMesh
(
"Scan02.obj"
);
23
int
id3 = david.
fusion
().
ImportMesh
(
"Scan03.obj"
);
24
25
// Best to use absolute paths like "C:/Scans/Scan01.obj".
26
27
// ALIGN SCAN 2 to SCAN 1, then SCAN 3 to SCAN 2:
28
david.
fusion
().
AlignPairCoarse
(id2, id1,
david::CoarseAlignParams
(
david::GetMotionInfo_Free
()));
// first, coarse alignment (free)
29
david.
fusion
().
AlignPairFine
(id2, id1,
david::FineAlignParams
());
// then fine alignment
30
31
david.
fusion
().
AlignPairCoarse
(id3, id2,
david::CoarseAlignParams
(
david::GetMotionInfo_Free
()));
// first, coarse alignment (free)
32
david.
fusion
().
AlignPairFine
(id3, id2,
david::FineAlignParams
());
// then fine alignment
33
34
// FUSE ALL SCANS:
35
int
fusionMeshID = david.
fusion
().
Fuse
(500);
36
37
// EXPORT FUSION RESULT:
38
david.
fusion
().
ExportMesh
(fusionMeshID,
"FusionResult.obj"
);
39
}
40
catch
(
david::Exception
& e)
41
{
42
e.
PrintError
();
43
}
44
}
45
46
}
// namespace
davidSDK_Examples
SimpleShapeFusion.cpp
Generated on Tue May 17 2016 17:11:27 for DAVID4 SDK by
1.8.4