Algorithms.h
Go to the documentation of this file.
40 InputFilter_UseTextureKeyFrames = 0, ///< Algorithm considers only frames, which have texture key frame attribute
88 SerialRegistrationType_Rough, ///< Use this registration type for any data. Fast but less accuracy.
89 SerialRegistrationType_RoughTextured, ///< Use this registration type only if all frames have texture. Fast but less accuracy.
91 SerialRegistrationType_FineTextured, ///< Use this registration type only if all frames have texture.
106 GlobalRegistrationType_GeometryAndTexture, ///< Use this registration type only if all frames have texture
149 bool enableBackgroundSegmentation; ///< Enables background segmentation for input texture frames
183 SimplifyType_TriangleQuantityFast, ///< Reduce triangle quantity to given number. Very fast but less accuracy.
205 float angleThreshold; ///< Maximal angle between neighbor normals (in degrees). Not supported for fast simplification.
206 float remeshEdgeThreshold; ///< Minimal edge length after remesh. Not supported for fast simplification.
216 bool enableAdditionalCriteria; ///< Simplification stops if one of the thresholding criteras below are not satisfied
217 bool enableDistanceThreshold; ///< Limit maximal distance between original and simplified meshes
264 initializeSmallObjectsFilterSettings( SmallObjectsFilterSettings* desc, base::ScannerType scannerType );
268 initializeMeshSimplificationSettings( MeshSimplificationSettings* desc, base::ScannerType scannerType, SimplifyType simplifyType );
272 initializeFastMeshSimplificationSettings( FastMeshSimplificationSettings* desc, base::ScannerType scannerType);
276 initializeOutliersRemovalSettings( OutliersRemovalSettings* desc, base::ScannerType scannerType );
289 createSerialRegistrationAlgorithm( IAlgorithm** serialRegistration, const SerialRegistrationSettings* desc );
293 createGlobalRegistrationAlgorithm( IAlgorithm** globalRegistration, const GlobalRegistrationSettings* desc );
301 createSmallObjectsFilterAlgorithm( IAlgorithm** smallObjectsFilter, const SmallObjectsFilterSettings* desc );
305 createMeshSimplificationAlgorithm( IAlgorithm** meshSimplification, const MeshSimplificationSettings* desc );
309 createFastMeshSimplificationAlgorithm( IAlgorithm** meshSimplification, const FastMeshSimplificationSettings* desc );
317 createOutliersRemovalAlgorithm( IAlgorithm** outliesRemoval, const OutliersRemovalSettings* desc );
SimplifyMetric simplifyMetrics
Simplify metrics. Not supported for fast simplification.
Definition: Algorithms.h:202
ErrorCode AALGORITHMSDK_LINK_SPEC createMeshSimplificationAlgorithm(IAlgorithm **meshSimplification, const MeshSimplificationSettings *desc)
Creates mesh simplification algorithm.
Keep simplified mesh accuracy.
Definition: Algorithms.h:181
int atlasUnfoldingPolygonLimit
Definition: Algorithms.h:151
Use this registration type for any data.
Definition: Algorithms.h:90
This namespace is auto-generated from internal event code list.
Definition: Errors.h:55
ErrorCode AALGORITHMSDK_LINK_SPEC createGlobalRegistrationAlgorithm(IAlgorithm **globalRegistration, const GlobalRegistrationSettings *desc)
Creates global registration algorithm.
Reduce triangle quantity to given number. Very fast but less accuracy.
Definition: Algorithms.h:183
Force 32-bit size enum.
Definition: Algorithms.h:93
Keep simplified mesh accuracy.
Definition: Algorithms.h:191
Force 32-bit size enum.
Definition: Algorithms.h:167
ErrorCode AALGORITHMSDK_LINK_SPEC createFastMeshSimplificationAlgorithm(IAlgorithm **meshSimplification, const FastMeshSimplificationSettings *desc)
Creates fast mesh simplification algorithm.
ErrorCode AALGORITHMSDK_LINK_SPEC initializeFastFusionSettings(FastFusionSettings *desc, base::ScannerType scannerType)
Initializes fusion algorithm descriptor with scanner related defaults.
Definition: AlgorithmWorkset.h:17
Use this registration type only if all frames have texture.
Definition: Algorithms.h:106
InputFilter inputFilterType
Type of frames, which should be used by the algorithm.
Definition: Algorithms.h:157
ErrorCode AALGORITHMSDK_LINK_SPEC initializePoissonFusionSettings(PoissonFusionSettings *desc, base::ScannerType scannerType)
Initializes fusion algorithm descriptor with scanner related defaults.
bool keepBoundary
Algorithms won't modify boundary of given surface if true.
Definition: Algorithms.h:204
Force 32-bit size enum.
Definition: Algorithms.h:60
float angleThreshold
Maximal angle between neighbor normals (in degrees). Not supported for fast simplification.
Definition: Algorithms.h:205
Minimal acceptable edge length.
Definition: Algorithms.h:192
bool enableAmbientLightingCompensation
Enable compensation of ambient light.
Definition: Algorithms.h:150
ErrorCode AALGORITHMSDK_LINK_SPEC createOutliersRemovalAlgorithm(IAlgorithm **outliesRemoval, const OutliersRemovalSettings *desc)
Creates outliers removal algorithm.
float angleThreshold
Maximal angle between neighbor faces normals (in degrees)
Definition: Algorithms.h:220
ErrorCode AALGORITHMSDK_LINK_SPEC createFastFusionAlgorithm(IAlgorithm **fusion, const FastFusionSettings *desc)
Creates basic fusion algorithm.
Minimal acceptable edge length.
Definition: Algorithms.h:182
Reduce triangle quantity to given number.
Definition: Algorithms.h:180
ErrorCode AALGORITHMSDK_LINK_SPEC initializeSmallObjectsFilterSettings(SmallObjectsFilterSettings *desc, base::ScannerType scannerType)
Initializes small object filter descriptor with scanner related defaults.
Use this registration type for any data. Fast but less accuracy.
Definition: Algorithms.h:88
ErrorCode AALGORITHMSDK_LINK_SPEC initializeFastMeshSimplificationSettings(FastMeshSimplificationSettings *desc, base::ScannerType scannerType)
Initializes fast mesh simplification descriptor with scanner related defaults.
ErrorCode AALGORITHMSDK_LINK_SPEC createSerialRegistrationAlgorithm(IAlgorithm **serialRegistration, const SerialRegistrationSettings *desc)
Creates serial registration algorithm.
float aspectRatioThreshold
Maximal available ratio of edges in triangle.
Definition: Algorithms.h:222
ErrorCode AALGORITHMSDK_LINK_SPEC initializeTexturizationSettings(TexturizationSettings *desc, base::ScannerType scannerType)
Initialize texturize algorithm descriptor with scanner related defaults.
Use this registration type for any data.
Definition: Algorithms.h:105
Keep UV coordinates set, just re-gather the texture image.
Definition: Algorithms.h:126
bool enableAdditionalCriteria
Simplification stops if one of the thresholding criteras below are not satisfied. ...
Definition: Algorithms.h:216
bool useTextureNormalization
Correct texture brightness for Artec scanners.
Definition: Algorithms.h:156
Reduce triangle quantity to given number.
Definition: Algorithms.h:190
Force 32-bit size enum.
Definition: Algorithms.h:140
bool enableBackgroundSegmentation
Enables background segmentation for input texture frames.
Definition: Algorithms.h:149
ErrorCode AALGORITHMSDK_LINK_SPEC initializeMeshSimplificationSettings(MeshSimplificationSettings *desc, base::ScannerType scannerType, SimplifyType simplifyType)
Initializes mesh simplification descriptor with scanner related defaults.
Use this type by default.
Definition: Algorithms.h:40
Use this registration type only if all frames have texture. Fast but less accuracy.
Definition: Algorithms.h:89
ErrorCode AALGORITHMSDK_LINK_SPEC createPoissonFusionAlgorithm(IAlgorithm **fusion, const PoissonFusionSettings *desc)
Creates poisson fusion algorithm.
bool enableTextureInpainting
Interpolate colors for empty texture areas.
Definition: Algorithms.h:155
InputFilter inputFilterType
Type of frames, which should be used by the algorithm.
Definition: Algorithms.h:82
ErrorCode AALGORITHMSDK_LINK_SPEC createTexturizationAlgorithm(IAlgorithm **texturizer, const TexturizationSettings *desc)
Create texturize algorithm.
Right angle triangle texture mapping.
Definition: Algorithms.h:124
ErrorCode AALGORITHMSDK_LINK_SPEC createLoopClosureAlgorithm(IAlgorithm **loopClosure, const LoopClosureSettings *desc)
Creates loop closure algorithm.
Force 32-bit size enum.
Definition: Algorithms.h:128
float remeshEdgeThreshold
Minimal edge length after remesh. Not supported for fast simplification.
Definition: Algorithms.h:206
bool enableDistanceThreshold
Limit maximal distance between original and simplified meshes.
Definition: Algorithms.h:217
bool AALGORITHMSDK_LINK_SPEC checkAlgorithmsPermission()
Use this registration type only if all frames have texture.
Definition: Algorithms.h:91
Leave only biggest object.
Definition: Algorithms.h:163
Force 32-bit size enum.
Definition: Algorithms.h:108
ErrorCode AALGORITHMSDK_LINK_SPEC initializeOutliersRemovalSettings(OutliersRemovalSettings *desc, base::ScannerType scannerType)
Initializes outliers removal descriptor with scanner related defaults.
Force 32-bit size enum.
Definition: Algorithms.h:195
Minimal acceptable edge length.
Definition: Algorithms.h:193
bool keepBoundary
Algorithms won't modify boundary of given surface if true.
Definition: Algorithms.h:214
ErrorCode AALGORITHMSDK_LINK_SPEC createSmallObjectsFilterAlgorithm(IAlgorithm **smallObjectsFilter, const SmallObjectsFilterSettings *desc)
Creates small objects filter algorithm.
Unfold mesh to UV plane, then gather the texture image.
Definition: Algorithms.h:125