Algorithms.h
Go to the documentation of this file.
55 /// Mesh resolution (in millimeters) - step of grid which is used to reconstruct a polygonal model.
79 /// Fill_holes (for PoissonFusion) settles the algorithm to fill holes in the mesh being reconstructed.
85 /// All holes having radius no greater than the specified in "maxHoleRadius" value will be filled in;
102 /// Mesh resolution (in millimeters) - step of grid which is used to reconstruct a polygonal model.
128 SerialRegistrationType_Rough, ///< Use this registration type for any data. Fast but less accuracy.
129 SerialRegistrationType_RoughTextured, ///< Use this registration type only if all frames have texture. Fast but less accuracy.
131 SerialRegistrationType_FineTextured, ///< Use this registration type only if all frames have texture.
149 GlobalRegistrationType_GeometryAndTexture, ///< Use this registration type only if all frames have texture
214 /// N - reduce number of polygons to N, then make unfolding and re-project atlas to the original mesh
255 SimplifyType_TriangleQuantityFast, ///< Reduce triangle quantity to given number. Very fast but less accuracy.
375 initializeSmallObjectsFilterSettings( SmallObjectsFilterSettings* desc, base::ScannerType scannerType );
379 initializeMeshSimplificationSettings( MeshSimplificationSettings* desc, base::ScannerType scannerType, SimplifyType simplifyType );
383 initializeFastMeshSimplificationSettings( FastMeshSimplificationSettings* desc, base::ScannerType scannerType);
387 initializeOutliersRemovalSettings( OutliersRemovalSettings* desc, base::ScannerType scannerType );
400 createSerialRegistrationAlgorithm( IAlgorithm** serialRegistration, const SerialRegistrationSettings* desc );
404 createGlobalRegistrationAlgorithm( IAlgorithm** globalRegistration, const GlobalRegistrationSettings* desc );
412 createSmallObjectsFilterAlgorithm( IAlgorithm** smallObjectsFilter, const SmallObjectsFilterSettings* desc );
416 createMeshSimplificationAlgorithm( IAlgorithm** meshSimplification, const MeshSimplificationSettings* desc );
420 createFastMeshSimplificationAlgorithm( IAlgorithm** meshSimplification, const FastMeshSimplificationSettings* desc );
428 createOutliersRemovalAlgorithm( IAlgorithm** outliesRemoval, const OutliersRemovalSettings* desc );
SimplifyMetric simplifyMetrics
Simplify metrics: EdgeLength, DistanceToSurface etc. Not supported for fast simplification.
Definition: Algorithms.h:279
ErrorCode AALGORITHMSDK_LINK_SPEC createMeshSimplificationAlgorithm(IAlgorithm **meshSimplification, const MeshSimplificationSettings *desc)
Creates mesh simplification algorithm.
Keep simplified mesh accuracy.
Definition: Algorithms.h:253
bool removeTargets
If true than erase small embossings from the surface, where targets were stuck on.
Definition: Algorithms.h:110
All holes having radius no greater than the specified in "maxHoleRadius" value will be filled in;...
Definition: Algorithms.h:86
int atlasUnfoldingPolygonLimit
Definition: Algorithms.h:215
Use this registration type for any data.
Definition: Algorithms.h:130
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:255
Force 32-bit size enum.
Definition: Algorithms.h:133
Keep simplified mesh accuracy.
Definition: Algorithms.h:263
Force 32-bit size enum.
Definition: Algorithms.h:234
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 Fast Fusion algorithm descriptor with scanner related defaults.
Definition: AlgorithmWorkset.h:17
Use this registration type only if all frames have texture.
Definition: Algorithms.h:149
FillHolesType
Fill_holes (for PoissonFusion) settles the algorithm to fill holes in the mesh being reconstructed...
Definition: Algorithms.h:80
InputFilter inputFilterType
Type of frames, which should be used by the algorithm.
Definition: Algorithms.h:224
ErrorCode AALGORITHMSDK_LINK_SPEC initializePoissonFusionSettings(PoissonFusionSettings *desc, base::ScannerType scannerType)
Initializes Poisson Fusion algorithm descriptor with scanner related defaults.
bool keepBoundary
If true then algorithms won't modify boundary of given surface.
Definition: Algorithms.h:285
float resolution
Definition: Algorithms.h:104
Force 32-bit size enum.
Definition: Algorithms.h:76
float angleThreshold
Maximal angle between neighbor normals (in degrees). Not supported for fast simplification.
Definition: Algorithms.h:288
float targetOuterSize
Round type target - white circle diameter (in millimeters)
Definition: Algorithms.h:116
Minimal acceptable edge length.
Definition: Algorithms.h:264
bool enableAmbientLightingCompensation
If true then enable compensation of ambient light.
Definition: Algorithms.h:210
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:321
ErrorCode AALGORITHMSDK_LINK_SPEC createFastFusionAlgorithm(IAlgorithm **fusion, const FastFusionSettings *desc)
Creates basic fusion algorithm.
Minimal acceptable edge length.
Definition: Algorithms.h:254
Reduce triangle quantity to given number.
Definition: Algorithms.h:252
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:128
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:327
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:148
Keep UV coordinates set, just re-gather the texture image.
Definition: Algorithms.h:177
bool enableAdditionalCriteria
Simplification stops if one of the thresholding criteras below are not satisfied. ...
Definition: Algorithms.h:309
bool useTextureNormalization
Correct texture brightness for Artec scanners.
Definition: Algorithms.h:221
Reduce triangle quantity to given number.
Definition: Algorithms.h:262
Force 32-bit size enum.
Definition: Algorithms.h:191
bool enableBackgroundSegmentation
If true than enable background segmentation for input texture frames.
Definition: Algorithms.h:207
ErrorCode AALGORITHMSDK_LINK_SPEC initializeMeshSimplificationSettings(MeshSimplificationSettings *desc, base::ScannerType scannerType, SimplifyType simplifyType)
Initializes mesh simplification descriptor with scanner related defaults.
Use this registration type only if all frames have texture. Fast but less accuracy.
Definition: Algorithms.h:129
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:218
InputFilter inputFilterType
Type of frames, which should be used by the algorithm.
Definition: Algorithms.h:122
Automatically fills in all holes in the mesh.
Definition: Algorithms.h:83
ErrorCode AALGORITHMSDK_LINK_SPEC createTexturizationAlgorithm(IAlgorithm **texturizer, const TexturizationSettings *desc)
Create texturize algorithm.
Obsolete. Now works the same way as TexturizeType_Advanced.
Definition: Algorithms.h:171
ErrorCode AALGORITHMSDK_LINK_SPEC createLoopClosureAlgorithm(IAlgorithm **loopClosure, const LoopClosureSettings *desc)
Creates loop closure algorithm.
Force 32-bit size enum.
Definition: Algorithms.h:179
SimplifyType simplifyType
Simplify type: TriangleQuantity, Accuracy, Remesh, TriangleQuantityFast.
Definition: Algorithms.h:276
float remeshEdgeThreshold
Minimal edge length after remesh. Not supported for fast simplification.
Definition: Algorithms.h:291
bool enableDistanceThreshold
Limit maximal distance between original and simplified meshes.
Definition: Algorithms.h:312
bool AALGORITHMSDK_LINK_SPEC checkAlgorithmsPermission()
Parameters for fast fusion algorithm.
Definition: Algorithms.h:50
Use this registration type only if all frames have texture.
Definition: Algorithms.h:131
Leave only biggest object.
Definition: Algorithms.h:230
Force 32-bit size enum.
Definition: Algorithms.h:151
ErrorCode AALGORITHMSDK_LINK_SPEC initializeOutliersRemovalSettings(OutliersRemovalSettings *desc, base::ScannerType scannerType)
Initializes outliers removal descriptor with scanner related defaults.
float targetInnerSize
Round type target - black circle diameter (in millimeters)
Definition: Algorithms.h:113
TexturizeResolution texturizeResolution
Texturize output resolution (in pixel)
Definition: Algorithms.h:204
Force 32-bit size enum.
Definition: Algorithms.h:267
Algorithm considers all frames, which have not empty textures.
Definition: Algorithms.h:45
Minimal acceptable edge length.
Definition: Algorithms.h:265
bool keepBoundary
If true then Algorithms won't modify boundary of given surface.
Definition: Algorithms.h:306
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:174