artec::sdk::algorithms Namespace Reference

Classes

struct  FastFusionSettings
 
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  PoissonFusionType {
  PoissonFusionType_Sharp,
  PoissonFusionType_Smooth,
  PoissonFusionType_ForceDword = 0x7fffffff
}
 
enum  FillHolesType {
  FillHolesType_All,
  FillHolesType_ByRadius,
  FillHolesType_ForceDword = 0x7fffffff
}
 
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 fusion algorithm descriptor with scanner related defaults. More...
 
ErrorCode AALGORITHMSDK_LINK_SPEC initializePoissonFusionSettings (PoissonFusionSettings *desc, base::ScannerType scannerType)
 Initializes 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

Enumerator
FillHolesType_All 
FillHolesType_ByRadius 
FillHolesType_ForceDword 

Force 32-bit size enum.

Definition at line 63 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 103 of file Algorithms.h.

Enumerator
InputFilter_UseTextureKeyFrames 

Use this type by default.

Algorithm considers only frames, which have texture key frame attribute

InputFilter_UseAllTextures 

Other types.

Algorithm considers all frames, which have not empty textures

Definition at line 37 of file Algorithms.h.

Enumerator
PoissonFusionType_Sharp 
PoissonFusionType_Smooth 
PoissonFusionType_ForceDword 

Force 32-bit size enum.

Definition at line 55 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 86 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 188 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 178 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 161 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 131 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 

Right angle triangle texture mapping.

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 118 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 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 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.