artec::sdk::algorithms Namespace Reference

Classes

struct  FastFusionSettings
 Parameters for fast fusion algorithm. More...
 
struct  FastMeshSimplificationSettings
 
struct  GlobalRegistrationSettings
 
class  IAlgorithm
 
struct  LoopClosureSettings
 
struct  MeshSimplificationSettings
 
struct  OutliersRemovalSettings
 
struct  PoissonFusionSettings
 
struct  SerialRegistrationSettings
 
struct  SmallObjectsFilterSettings
 
struct  TexturizationSettings
 

Enumerations

enum  InputFilter {
  InputFilter_UseTextureKeyFrames = 0,
  InputFilter_UseAllTextures
}
 Enum for Poisson Fusion and Texturization algorithms. More...
 
enum  PoissonFusionType {
  PoissonFusionType_Sharp,
  PoissonFusionType_Smooth,
  PoissonFusionType_ForceDword = 0x7fffffff
}
 
enum  FillHolesType {
  FillHolesType_All,
  FillHolesType_ByRadius,
  FillHolesType_ForceDword = 0x7fffffff
}
 Fill_holes (for PoissonFusion) settles the algorithm to fill holes in the mesh being reconstructed. More...
 
enum  SerialRegistrationType {
  SerialRegistrationType_Rough,
  SerialRegistrationType_RoughTextured,
  SerialRegistrationType_Fine,
  SerialRegistrationType_FineTextured,
  SerialRegistrationType_ForceDword = 0x7fffffff
}
 
enum  GlobalRegistrationType {
  GlobalRegistrationType_Geometry,
  GlobalRegistrationType_GeometryAndTexture,
  GlobalRegistrationType_ForceDword = 0x7fffffff
}
 
enum  TexturizeType {
  TexturizeType_Advanced = 0,
  TexturizeType_Simple,
  TexturizeType_Atlas,
  TexturizeType_KeepAtlas,
  TexturizeType_ForceDword = 0x7fffffff
}
 
enum  TexturizeResolution {
  TexturizeResolution_512x512 = 0,
  TexturizeResolution_1024x1024,
  TexturizeResolution_2048x2048,
  TexturizeResolution_4096x4096,
  TexturizeResolution_8192x8192,
  TexturizeResolution_16384x16384,
  TexturizeResolution_ForceDword = 0x7fffffff
}
 
enum  SmallObjectsFilterType {
  SmallObjectsFilterType_LeaveBiggestObject = 0,
  SmallObjectsFilterType_FilterByThreshold = 1,
  SmallObjectsFilterType_ForceDword = 0x7fffffff
}
 
enum  SimplifyType {
  SimplifyType_TriangleQuantity,
  SimplifyType_Accuracy,
  SimplifyType_Remesh,
  SimplifyType_TriangleQuantityFast,
  SimplifyType_ForceDword = 0x7fffffff
}
 
enum  SimplifyMetric {
  SimplifyMetric_EdgeLength,
  SimplifyMetric_EdgeLengthAndAngle,
  SimplifyMetric_DistanceToSurface,
  SimplifyMetric_DistanceToSurfaceIterative,
  SimplifyMetric_ForceDword = 0x7fffffff
}
 

Functions

bool AALGORITHMSDK_LINK_SPEC checkAlgorithmsPermission ()
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeFastFusionSettings (FastFusionSettings *desc, base::ScannerType scannerType)
 Initializes Fast Fusion algorithm descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializePoissonFusionSettings (PoissonFusionSettings *desc, base::ScannerType scannerType)
 Initializes Poisson Fusion algorithm descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeTexturizationSettings (TexturizationSettings *desc, base::ScannerType scannerType)
 Initialize texturize algorithm descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeSmallObjectsFilterSettings (SmallObjectsFilterSettings *desc, base::ScannerType scannerType)
 Initializes small object filter descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeMeshSimplificationSettings (MeshSimplificationSettings *desc, base::ScannerType scannerType, SimplifyType simplifyType)
 Initializes mesh simplification descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeFastMeshSimplificationSettings (FastMeshSimplificationSettings *desc, base::ScannerType scannerType)
 Initializes fast mesh simplification descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializeOutliersRemovalSettings (OutliersRemovalSettings *desc, base::ScannerType scannerType)
 Initializes outliers removal descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createFastFusionAlgorithm (IAlgorithm **fusion, const FastFusionSettings *desc)
 Creates basic fusion algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createPoissonFusionAlgorithm (IAlgorithm **fusion, const PoissonFusionSettings *desc)
 Creates poisson fusion algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createSerialRegistrationAlgorithm (IAlgorithm **serialRegistration, const SerialRegistrationSettings *desc)
 Creates serial registration algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createGlobalRegistrationAlgorithm (IAlgorithm **globalRegistration, const GlobalRegistrationSettings *desc)
 Creates global registration algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createTexturizationAlgorithm (IAlgorithm **texturizer, const TexturizationSettings *desc)
 Create texturize algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createSmallObjectsFilterAlgorithm (IAlgorithm **smallObjectsFilter, const SmallObjectsFilterSettings *desc)
 Creates small objects filter algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createMeshSimplificationAlgorithm (IAlgorithm **meshSimplification, const MeshSimplificationSettings *desc)
 Creates mesh simplification algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createFastMeshSimplificationAlgorithm (IAlgorithm **meshSimplification, const FastMeshSimplificationSettings *desc)
 Creates fast mesh simplification algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createLoopClosureAlgorithm (IAlgorithm **loopClosure, const LoopClosureSettings *desc)
 Creates loop closure algorithm. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC createOutliersRemovalAlgorithm (IAlgorithm **outliesRemoval, const OutliersRemovalSettings *desc)
 Creates outliers removal algorithm. More...
 

Enumeration Type Documentation

Fill_holes (for PoissonFusion) settles the algorithm to fill holes in the mesh being reconstructed.

Enumerator
FillHolesType_All 

Automatically fills in all holes in the mesh.

FillHolesType_ByRadius 

All holes having radius no greater than the specified in "maxHoleRadius" value will be filled in;.

FillHolesType_ForceDword 

Force 32-bit size enum.

Definition at line 80 of file Algorithms.h.

Enumerator
GlobalRegistrationType_Geometry 

Use this registration type for any data.

GlobalRegistrationType_GeometryAndTexture 

Use this registration type only if all frames have texture.

GlobalRegistrationType_ForceDword 

Force 32-bit size enum.

Definition at line 146 of file Algorithms.h.

Enum for Poisson Fusion and Texturization algorithms.

Enumerator
InputFilter_UseTextureKeyFrames 

The only frames with texture key frame attribute set will be used by an algorithm. This type is used by default.

InputFilter_UseAllTextures 

Algorithm considers all frames, which have not empty textures.

Definition at line 38 of file Algorithms.h.

Enumerator
PoissonFusionType_Sharp 
PoissonFusionType_Smooth 
PoissonFusionType_ForceDword 

Force 32-bit size enum.

Definition at line 71 of file Algorithms.h.

Enumerator
SerialRegistrationType_Rough 

Use this registration type for any data. Fast but less accuracy.

SerialRegistrationType_RoughTextured 

Use this registration type only if all frames have texture. Fast but less accuracy.

SerialRegistrationType_Fine 

Use this registration type for any data.

SerialRegistrationType_FineTextured 

Use this registration type only if all frames have texture.

SerialRegistrationType_ForceDword 

Force 32-bit size enum.

Definition at line 126 of file Algorithms.h.

Enumerator
SimplifyMetric_EdgeLength 

Reduce triangle quantity to given number.

SimplifyMetric_EdgeLengthAndAngle 

Keep simplified mesh accuracy.

SimplifyMetric_DistanceToSurface 

Minimal acceptable edge length.

SimplifyMetric_DistanceToSurfaceIterative 

Minimal acceptable edge length.

SimplifyMetric_ForceDword 

Force 32-bit size enum.

Definition at line 260 of file Algorithms.h.

Enumerator
SimplifyType_TriangleQuantity 

Reduce triangle quantity to given number.

SimplifyType_Accuracy 

Keep simplified mesh accuracy.

SimplifyType_Remesh 

Minimal acceptable edge length.

SimplifyType_TriangleQuantityFast 

Reduce triangle quantity to given number. Very fast but less accuracy.

SimplifyType_ForceDword 

Force 32-bit size enum.

Definition at line 250 of file Algorithms.h.

Enumerator
SmallObjectsFilterType_LeaveBiggestObject 

Leave only biggest object.

SmallObjectsFilterType_FilterByThreshold 

Remove objects that contain the number of triangles is less than the specified

SmallObjectsFilterType_ForceDword 

Force 32-bit size enum.

Definition at line 228 of file Algorithms.h.

Enumerator
TexturizeResolution_512x512 
TexturizeResolution_1024x1024 
TexturizeResolution_2048x2048 
TexturizeResolution_4096x4096 
TexturizeResolution_8192x8192 
TexturizeResolution_16384x16384 
TexturizeResolution_ForceDword 

Force 32-bit size enum.

Definition at line 182 of file Algorithms.h.

Enumerator
TexturizeType_Advanced 

Each vertex gets multiple coordinates for each of adjacent triangles, final texture coordinates are continuous only for a given triangle area

TexturizeType_Simple 

Obsolete. Now works the same way as TexturizeType_Advanced.

TexturizeType_Atlas 

Unfold mesh to UV plane, then gather the texture image.

TexturizeType_KeepAtlas 

Keep UV coordinates set, just re-gather the texture image.

TexturizeType_ForceDword 

Force 32-bit size enum.

Definition at line 164 of file Algorithms.h.

Function Documentation

bool AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::checkAlgorithmsPermission ( )

Check whether the algorithms are available on this machine

Return values
trueif algorithms can be created
falseif algorithms creation denied
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createFastFusionAlgorithm ( IAlgorithm **  fusion,
const FastFusionSettings desc 
)

Creates basic fusion algorithm.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createFastMeshSimplificationAlgorithm ( IAlgorithm **  meshSimplification,
const FastMeshSimplificationSettings desc 
)

Creates fast mesh simplification algorithm.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createGlobalRegistrationAlgorithm ( IAlgorithm **  globalRegistration,
const GlobalRegistrationSettings desc 
)

Creates global registration algorithm.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createLoopClosureAlgorithm ( IAlgorithm **  loopClosure,
const LoopClosureSettings desc 
)

Creates loop closure algorithm.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createMeshSimplificationAlgorithm ( IAlgorithm **  meshSimplification,
const MeshSimplificationSettings desc 
)

Creates mesh simplification algorithm.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createOutliersRemovalAlgorithm ( IAlgorithm **  outliesRemoval,
const OutliersRemovalSettings desc 
)

Creates outliers removal algorithm.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createPoissonFusionAlgorithm ( IAlgorithm **  fusion,
const PoissonFusionSettings desc 
)

Creates poisson fusion algorithm.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createSerialRegistrationAlgorithm ( IAlgorithm **  serialRegistration,
const SerialRegistrationSettings desc 
)

Creates serial registration algorithm.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createSmallObjectsFilterAlgorithm ( IAlgorithm **  smallObjectsFilter,
const SmallObjectsFilterSettings desc 
)

Creates small objects filter algorithm.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::createTexturizationAlgorithm ( IAlgorithm **  texturizer,
const TexturizationSettings desc 
)

Create texturize algorithm.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeFastFusionSettings ( FastFusionSettings desc,
base::ScannerType  scannerType 
)

Initializes Fast Fusion algorithm descriptor with scanner related defaults.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeFastMeshSimplificationSettings ( FastMeshSimplificationSettings desc,
base::ScannerType  scannerType 
)

Initializes fast mesh simplification descriptor with scanner related defaults.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeMeshSimplificationSettings ( MeshSimplificationSettings desc,
base::ScannerType  scannerType,
SimplifyType  simplifyType 
)

Initializes mesh simplification descriptor with scanner related defaults.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeOutliersRemovalSettings ( OutliersRemovalSettings desc,
base::ScannerType  scannerType 
)

Initializes outliers removal descriptor with scanner related defaults.

Examples:
scanning-and-process-sample.cpp.
ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializePoissonFusionSettings ( PoissonFusionSettings desc,
base::ScannerType  scannerType 
)

Initializes Poisson Fusion algorithm descriptor with scanner related defaults.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeSmallObjectsFilterSettings ( SmallObjectsFilterSettings desc,
base::ScannerType  scannerType 
)

Initializes small object filter descriptor with scanner related defaults.

ErrorCode AALGORITHMSDK_LINK_SPEC artec::sdk::algorithms::initializeTexturizationSettings ( TexturizationSettings desc,
base::ScannerType  scannerType 
)

Initialize texturize algorithm descriptor with scanner related defaults.

Examples:
scanning-and-process-sample.cpp.