artec::sdk::base Namespace Reference

Namespaces

 details
 
 errors
 This namespace is auto-generated from internal event code list.
 
 io
 

Classes

struct  AlgorithmWorkset
 
class  GenericMatrix
 
class  IArrayByte
 
class  IArrayFloat
 
class  IArrayImage
 
class  IArrayIndexTriplet
 
class  IArrayInt
 
class  IArrayMatrix4x4D
 
class  IArrayPoint3D
 
class  IArrayPoint3F
 
class  IArrayString
 
class  IArrayUVCoordinates
 
class  IBlob
 
class  ICancellationToken
 
class  ICancellationTokenSource
 
class  ICompositeContainer
 
class  ICompositeMesh
 
class  IFrameMesh
 
class  IImage
 
class  IJob
 
class  IJobObsever
 
struct  ImageHeader
 
class  IMesh
 
class  IModel
 
struct  IndexTriplet
 
class  IProgress
 
class  IProgressInfo
 
class  IRangeImageCylindric
 
class  IRangeImagePlanar
 
class  IRef
 
class  IRevision
 
class  IScan
 
class  ITexture
 
class  JobObserverBase
 
class  Matrix4x4
 
class  Point2
 
class  Point3
 
class  Point4
 
class  ProgressBase
 
class  ProgressInfoBase
 
struct  Range
 
struct  Rect
 
class  RefBase
 
struct  SettingsCylindric
 
struct  SettingsPlanar
 
struct  Size
 
class  TArrayRef
 
class  TRef
 
struct  Triangle
 
struct  TriangleUV
 
struct  UVCoordinates
 

Typedefs

typedef int(* REPORT_HOOK) (int, const wchar_t *)
 
typedef GenericMatrix< 2, 2, float > Matrix2x2F
 
typedef GenericMatrix< 2, 3, float > Matrix2x3F
 
typedef GenericMatrix< 2, 4, float > Matrix2x4F
 
typedef GenericMatrix< 3, 3, float > Matrix3x3F
 
typedef GenericMatrix< 3, 4, float > Matrix3x4F
 
typedef Matrix4x4< float > Matrix4x4F
 
typedef GenericMatrix< 2, 2, double > Matrix2x2D
 
typedef GenericMatrix< 2, 3, double > Matrix2x3D
 
typedef GenericMatrix< 2, 4, double > Matrix2x4D
 
typedef GenericMatrix< 3, 3, double > Matrix3x3D
 
typedef GenericMatrix< 3, 4, double > Matrix3x4D
 
typedef Matrix4x4< double > Matrix4x4D
 
typedef Point2< int > Point2I
 
typedef Point2< float > Point2F
 
typedef Point2< double > Point2D
 
typedef Point3< int > Point3I
 
typedef Point3< float > Point3F
 
typedef Point3< double > Point3D
 
typedef Point4< int > Point4I
 
typedef Point4< float > Point4F
 
typedef Point4< double > Point4D
 
typedef Range< int > RangeI
 
typedef Range< float > RangeF
 
typedef Range< double > RangeD
 
typedef Rect< int > RectI
 
typedef Rect< float > RectF
 
typedef Rect< double > RectD
 
typedef TArrayRef< IArrayByteTArrayByte
 
typedef TArrayRef< IArrayIntTArrayInt
 
typedef TArrayRef< IArrayFloatTArrayFloat
 
typedef TArrayRef< IArrayUVCoordinatesTArrayUVCoordinates
 
typedef TArrayRef< IArrayPoint3FTArrayPoint3F
 
typedef TArrayRef< IArrayIndexTripletTArrayIndexTriplet
 
typedef TArrayRef< IArrayStringTArrayString
 
typedef TArrayRef< IArrayImageTArrayImage
 
typedef TArrayRef< const IArrayByteconst_TArrayByte
 
typedef TArrayRef< const IArrayIntconst_TArrayInt
 
typedef TArrayRef< const IArrayFloatconst_TArrayFloat
 
typedef TArrayRef< const IArrayUVCoordinatesconst_TArrayUVCoordinates
 
typedef TArrayRef< const IArrayPoint3Fconst_TArrayPoint3F
 
typedef TArrayRef< const IArrayIndexTripletconst_TArrayIndexTriplet
 
typedef TArrayRef< const IArrayStringconst_TArrayString
 
typedef TArrayRef< const IArrayImageconst_TArrayImage
 

Enumerations

enum  Rotation {
  Rotation_None,
  Rotation_Ccw90,
  Rotation_Cw90,
  Rotation_180,
  Rotation_ForceDword = 0x7fffffff
}
 
enum  PixelFormat {
  PixelFormat_Unknown,
  PixelFormat_Mono,
  PixelFormat_BGR,
  PixelFormat_BGRA,
  PixelFormat_RG,
  PixelFormat_RGB,
  PixelFormat_RGBA,
  PixelFormat_Mono_USHORT,
  PixelFormat_RG_USHORT,
  PixelFormat_RGB_USHORT,
  PixelFormat_RGBA_USHORT,
  PixelFormat_Mono_SINT,
  PixelFormat_RG_SINT,
  PixelFormat_RGB_SINT,
  PixelFormat_RGBA_SINT,
  PixelFormat_Mono_FLOAT,
  PixelFormat_RG_FLOAT,
  PixelFormat_RGB_FLOAT,
  PixelFormat_RGBA_FLOAT,
  PixelFormat_YUY,
  PixelFormat_RawRGGB,
  PixelFormat_RawGRBG,
  PixelFormat_RawGBRG,
  PixelFormat_RawBGGR,
  PixelFormat_ForceDword = 0x7fffffff
}
 
enum  Mirror {
  Mirror_X,
  Mirror_Y,
  Mirror_ForceDword = 0x7fffffff
}
 
enum  DetailsInfo {
  DetailsInfo_NoStep,
  DetailsInfo_Step1_From1,
  DetailsInfo_Step1_From2,
  DetailsInfo_Step2_From2,
  DetailsInfo_Step1_From3,
  DetailsInfo_Step2_From3,
  DetailsInfo_Step3_From3,
  DetailsInfo_Step1_From4,
  DetailsInfo_Step2_From4,
  DetailsInfo_Step3_From4,
  DetailsInfo_Step4_From4,
  DetailsInfo_Step1_From5,
  DetailsInfo_Step2_From5,
  DetailsInfo_Step3_From5,
  DetailsInfo_Step4_From5,
  DetailsInfo_Step5_From5,
  DetailsInfo_Step1_From6,
  DetailsInfo_Step2_From6,
  DetailsInfo_Step3_From6,
  DetailsInfo_Step4_From6,
  DetailsInfo_Step5_From6,
  DetailsInfo_Step6_From6,
  DetailsInfo_Step1_From7,
  DetailsInfo_Step2_From7,
  DetailsInfo_Step3_From7,
  DetailsInfo_Step4_From7,
  DetailsInfo_Step5_From7,
  DetailsInfo_Step6_From7,
  DetailsInfo_Step7_From7,
  DetailsInfo_Step1_From8,
  DetailsInfo_Step2_From8,
  DetailsInfo_Step3_From8,
  DetailsInfo_Step4_From8,
  DetailsInfo_Step5_From8,
  DetailsInfo_Step6_From8,
  DetailsInfo_Step7_From8,
  DetailsInfo_Step8_From8,
  DetailsInfo_Geometry,
  DetailsInfo_Textures,
  DetailsInfo_ForceDword = 0x7fffffff
}
 
enum  VerboseLevel {
  VerboseLevel_Disable = -1,
  VerboseLevel_Error,
  VerboseLevel_Warning,
  VerboseLevel_Info,
  VerboseLevel_Trace,
  VerboseLevel_Number
}
 
enum  CalculateMode {
  CM_None = 0,
  CM_ClearEverything = 0xffffffff,
  CM_Surface = 1 << 0,
  CM_PointsNormals_Default = 1 << 8,
  CM_PolyNormals = 1 << 9,
  CM_PolyAreas = 1 << 10,
  CM_Normals = CM_PointsNormals_Default | CM_PolyNormals | CM_PolyAreas,
  CM_Centers = 1 << 11,
  CM_Angles = 1 << 12,
  CM_EdgeLengths = 1 << 13,
  CM_Texture = 1 << 17
}
 
enum  ScannerType {
  ScannerType_Unknown = 0,
  ScannerType_Small,
  ScannerType_WallyL,
  ScannerType_WallyP,
  ScannerType_Eva,
  ScannerType_LargeP,
  ScannerType_LargeL,
  ScannerType_Spider,
  ScannerType_LargeG,
  ScannerType_ForceDword = 0x7fffffff
}
 

Functions

ErrorCode ABASESDK_LINK_SPEC rotateImage (IImage **dst, const IImage *src, Rotation direction)
 
ErrorCode ABASESDK_LINK_SPEC mirrorImage (IImage **dst, const IImage *src, Mirror direction)
 
ErrorCode ABASESDK_LINK_SPEC toGrayscale (IImage **dst, const IImage *src)
 
ErrorCode ABASESDK_LINK_SPEC toBGR (IImage **dst, const IImage *src)
 
ErrorCode ABASESDK_LINK_SPEC toRGB (IImage **dst, const IImage *src)
 
ErrorCode ABASESDK_LINK_SPEC bgr2grey (IImage **dst, const IImage *src)
 
template<typename Type , typename Type2 >
Point3< Type2 > operator* (const GenericMatrix< 3, 3, Type > &matrix, const Point3< Type2 > &point)
 
template<typename Type , int size>
bool invert (const GenericMatrix< size, size, Type > &matrix, GenericMatrix< size, size, Type > &result)
 
template<int size, typename Type >
GenericMatrix< size, size, Type > invert (const GenericMatrix< size, size, Type > &matrix)
 
template<int rows, int cols, typename MatType , typename Type >
GenericMatrix< rows, cols, MatType > vectorToMatrix (const std::vector< Type > &vec)
 
template<int rows, int cols, typename Type >
GenericMatrix< rows, cols, Type > vectorToMatrix (const std::vector< Type > &vec)
 
ErrorCode ABASESDK_LINK_SPEC createArrayByte (IArrayByte **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayInt (IArrayInt **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayFloat (IArrayFloat **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayUVCoordinates (IArrayUVCoordinates **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayPoint3F (IArrayPoint3F **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayPoint3D (IArrayPoint3D **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayIndexTriplet (IArrayIndexTriplet **pArray, int elementsCount, bool zeroFill=false)
 
ErrorCode ABASESDK_LINK_SPEC createArrayString (IArrayString **pArray, int elementsCount)
 
ErrorCode ABASESDK_LINK_SPEC createArrayImage (IArrayImage **pArray, int elementsCount)
 
ErrorCode ABASESDK_LINK_SPEC createArrayMatrix4x4D (IArrayMatrix4x4D **pArray, int elementsCount)
 
ErrorCode ABASESDK_LINK_SPEC createBlob (IBlob **blob, int size)
 
ErrorCode ABASESDK_LINK_SPEC createCancellationTokenSource (ICancellationTokenSource **pCancellationTokenSource)
 
ErrorCode ABASESDK_LINK_SPEC createCompositeContainer (ICompositeContainer **pContainer)
 
ErrorCode ABASESDK_LINK_SPEC cloneCompositeContainer (ICompositeContainer *out, const ICompositeContainer *in)
 
ErrorCode ABASESDK_LINK_SPEC createCompositeMesh (ICompositeMesh **mesh, int vertexCount=0, int triangleCount=0)
 
ErrorCode ABASESDK_LINK_SPEC createFrameMesh (IFrameMesh **mesh, int vertexCount=0, int triangleCount=0)
 
ErrorCode ABASESDK_LINK_SPEC createImage (IImage **image, int width, int height, PixelFormat pixelFormat, int align=1, IBlob *initialData=0)
 
ErrorCode ABASESDK_LINK_SPEC createImageByHeader (IImage **image, const ImageHeader &header, IBlob *initialData=0)
 
ErrorCode ABASESDK_LINK_SPEC executeJob (IJob *job, const AlgorithmWorkset *workset)
 
ErrorCode ABASESDK_LINK_SPEC launchJob (IJob *job, const AlgorithmWorkset *workset, IJobObsever *jobObsever)
 
ErrorCode ABASESDK_LINK_SPEC createModel (IModel **pContainer)
 
ErrorCode ABASESDK_LINK_SPEC cloneModel (IModel *out, const IModel *in)
 
bool ABASESDK_LINK_SPEC allScansInModelEmpty (const IModel *in)
 
bool ABASESDK_LINK_SPEC isCompositeContainerInModelEmpty (const IModel *in)
 
ErrorCode ABASESDK_LINK_SPEC createRangeImageCylindric (IRangeImageCylindric **image, const SettingsCylindric &settings, const IMesh *mesh)
 
ErrorCode ABASESDK_LINK_SPEC createRangeImagePlanar (IRangeImagePlanar **image, const SettingsPlanar &settings, const IMesh *mesh)
 
ErrorCode ABASESDK_LINK_SPEC createScan (IScan **pContainer, ScannerType scannerType=ScannerType_Unknown, const Matrix3x4D *textureMappingMatrix=NULL)
 
ErrorCode ABASESDK_LINK_SPEC mergeToFrameMesh (IFrameMesh *mesh, const IScan *scanContainer, bool skipTextureData=true)
 
ErrorCode ABASESDK_LINK_SPEC cloneScan (IScan *out, const IScan *in)
 
ErrorCode ABASESDK_LINK_SPEC createSimilarScan (IScan **out, const IScan *attributesPattern)
 
ErrorCode ABASESDK_LINK_SPEC createTexture (ITexture **texture, IImage *image=NULL, int trianglesIndexCount=0, int UVIndexCount=0, int UVCoordinatesCount=0)
 
void ABASESDK_LINK_SPEC setOutputLevel (int mode)
 
int ABASESDK_LINK_SPEC getOutputLevel ()
 
bool ABASESDK_LINK_SPEC setReportHook (int mode, REPORT_HOOK newHook)
 
void ABASESDK_LINK_SPEC report (int verboseLevel, const wchar_t *module, const wchar_t *format,...)
 
void ABASESDK_LINK_SPEC vReport (int verboseLevel, const wchar_t *module, const wchar_t *format, va_list args)
 
template<int rows, typename Type >
GenericMatrix< rows, 4, Type > operator* (const GenericMatrix< rows, 4, Type > &m1, const Matrix4x4< Type > &m2)
 
template<typename Type >
bool invert (const Matrix4x4< Type > &matrix, Matrix4x4< Type > &result)
 Return false if matrix is singular and can't be inverted, otherwise true. More...
 
template<typename Type >
Matrix4x4< Type > invert (const Matrix4x4< Type > &matrix)
 
template<typename Type >
Point2< Type > project (const Point3< Type > &point, const GenericMatrix< 3, 4, Type > &m)
 
template<typename Type >
Point3< Type > project (const Point3< Type > &point, const Matrix4x4< Type > &m)
 
template<typename Tf >
bool isZero (const Tf &some)
 Equality expression for types which are not exact. More...
 
template<typename T >
distanceSquare (const Point2< T > &p1, const Point2< T > &p2)
 Distance measure (squared) More...
 
template<typename T >
dotProduct (const Point2< T > &p1, const Point2< T > &p2)
 Cross product of two points. More...
 
template<typename T , typename T2 >
Point2< T > operator+ (const T2 &val, const Point2< T > &p)
 Arithmetic operators of the form: operator(scalar, TPoint2) More...
 
template<typename T , typename T2 >
Point2< T > operator- (const T2 &val, const Point2< T > &p)
 
template<typename T , typename T2 >
Point2< T > operator* (const T2 &val, const Point2< T > &p)
 
template<typename T >
distanceSquare (const Point3< T > &p1, const Point3< T > &p2)
 Distance measure (squared) More...
 
template<typename T >
dotProduct (const Point3< T > &p1, const Point3< T > &p2)
 Cross product of two points. More...
 
template<typename T >
Point3< T > crossProduct (const Point3< T > &p1, const Point3< T > &p2)
 Cross product of two points. More...
 
template<typename T >
distanceSquare (const Point4< T > &p1, const Point4< T > &p2)
 Distance measure (squared) More...
 
template<typename T >
dotProduct (const Point4< T > &p1, const Point4< T > &p2)
 Cross product of two points. More...
 
const wchar_t * getScannerTypeName (artec::sdk::base::ScannerType st)
 
template<class T >
ErrorCode createArray (TArrayRef< T > &src, int elementsCount, bool zeroFill=false)
 assign to TArrayRef new array More...
 
template<>
ErrorCode createArray< IArrayByte > (TArrayRef< IArrayByte > &src, int elementsCount, bool zeroFill)
 
template<>
ErrorCode createArray< IArrayInt > (TArrayRef< IArrayInt > &src, int elementsCount, bool zeroFill)
 
template<>
ErrorCode createArray< IArrayFloat > (TArrayRef< IArrayFloat > &src, int elementsCount, bool zeroFill)
 
template<>
ErrorCode createArray< IArrayUVCoordinates > (TArrayRef< IArrayUVCoordinates > &src, int elementsCount, bool zeroFill)
 
template<>
ErrorCode createArray< IArrayPoint3F > (TArrayRef< IArrayPoint3F > &src, int elementsCount, bool zeroFill)
 
template<>
ErrorCode createArray< IArrayIndexTriplet > (TArrayRef< IArrayIndexTriplet > &src, int elementsCount, bool zeroFill)
 
template<class T >
ErrorCode resizeArray (TArrayRef< T > &src, int elementsCount)
 release assigned to TArrayRef array and create new one More...
 
template<class T >
ErrorCode resizeArray (TArrayRef< T > &src, int elementsCount, bool zeroFill)
 release assigned to TArrayRef array and create new one More...
 

Variables

const int RPTHOOK_INSTALL = 0
 
const int RPTHOOK_REMOVE = 1
 

Typedef Documentation

Definition at line 128 of file TArrayRef.h.

Definition at line 130 of file TArrayRef.h.

Definition at line 135 of file TArrayRef.h.

Definition at line 129 of file TArrayRef.h.

Definition at line 132 of file TArrayRef.h.

Definition at line 134 of file TArrayRef.h.

Definition at line 816 of file Matrix.h.

Definition at line 809 of file Matrix.h.

Definition at line 817 of file Matrix.h.

Definition at line 810 of file Matrix.h.

Definition at line 818 of file Matrix.h.

Definition at line 811 of file Matrix.h.

Definition at line 819 of file Matrix.h.

Definition at line 812 of file Matrix.h.

Definition at line 820 of file Matrix.h.

Definition at line 813 of file Matrix.h.

Definition at line 821 of file Matrix.h.

Definition at line 814 of file Matrix.h.

Definition at line 503 of file Point.h.

Definition at line 502 of file Point.h.

Commonly used points shortcuts

Definition at line 501 of file Point.h.

Definition at line 507 of file Point.h.

Examples:
simple-capture-sample.cpp.

Definition at line 506 of file Point.h.

Definition at line 505 of file Point.h.

Definition at line 511 of file Point.h.

Definition at line 510 of file Point.h.

Definition at line 509 of file Point.h.

typedef Range< double > artec::sdk::base::RangeD

Definition at line 42 of file Range.h.

typedef Range< float > artec::sdk::base::RangeF

Definition at line 41 of file Range.h.

Definition at line 40 of file Range.h.

typedef Rect< double > artec::sdk::base::RectD

Definition at line 98 of file Rect.h.

typedef Rect< float > artec::sdk::base::RectF

Definition at line 97 of file Rect.h.

typedef Rect< int > artec::sdk::base::RectI

Definition at line 96 of file Rect.h.

typedef int(* artec::sdk::base::REPORT_HOOK) (int, const wchar_t *)

Definition at line 22 of file Log.h.

Definition at line 119 of file TArrayRef.h.

Definition at line 121 of file TArrayRef.h.

Definition at line 126 of file TArrayRef.h.

Definition at line 120 of file TArrayRef.h.

Enumeration Type Documentation

Enumerator
CM_None 
  • General constants*/
CM_ClearEverything 
CM_Surface 

For points and triangles.

CM_PointsNormals_Default 
CM_PolyNormals 
CM_PolyAreas 
CM_Normals 
CM_Centers 
CM_Angles 
CM_EdgeLengths 
CM_Texture 

For texture.

Definition at line 17 of file MeshFlags.h.

Enumerator
DetailsInfo_NoStep 
DetailsInfo_Step1_From1 
DetailsInfo_Step1_From2 
DetailsInfo_Step2_From2 
DetailsInfo_Step1_From3 
DetailsInfo_Step2_From3 
DetailsInfo_Step3_From3 
DetailsInfo_Step1_From4 
DetailsInfo_Step2_From4 
DetailsInfo_Step3_From4 
DetailsInfo_Step4_From4 
DetailsInfo_Step1_From5 
DetailsInfo_Step2_From5 
DetailsInfo_Step3_From5 
DetailsInfo_Step4_From5 
DetailsInfo_Step5_From5 
DetailsInfo_Step1_From6 
DetailsInfo_Step2_From6 
DetailsInfo_Step3_From6 
DetailsInfo_Step4_From6 
DetailsInfo_Step5_From6 
DetailsInfo_Step6_From6 
DetailsInfo_Step1_From7 
DetailsInfo_Step2_From7 
DetailsInfo_Step3_From7 
DetailsInfo_Step4_From7 
DetailsInfo_Step5_From7 
DetailsInfo_Step6_From7 
DetailsInfo_Step7_From7 
DetailsInfo_Step1_From8 
DetailsInfo_Step2_From8 
DetailsInfo_Step3_From8 
DetailsInfo_Step4_From8 
DetailsInfo_Step5_From8 
DetailsInfo_Step6_From8 
DetailsInfo_Step7_From8 
DetailsInfo_Step8_From8 
DetailsInfo_Geometry 
DetailsInfo_Textures 
DetailsInfo_ForceDword 

Definition at line 19 of file IProgressInfo.h.

Enumerator
Mirror_X 
Mirror_Y 
Mirror_ForceDword 

Definition at line 115 of file IImage.h.

Enumerator
PixelFormat_Unknown 
PixelFormat_Mono 

8-bit format

PixelFormat_BGR 
PixelFormat_BGRA 
PixelFormat_RG 
PixelFormat_RGB 
PixelFormat_RGBA 
PixelFormat_Mono_USHORT 

unsigned 16-bit format

PixelFormat_RG_USHORT 
PixelFormat_RGB_USHORT 
PixelFormat_RGBA_USHORT 
PixelFormat_Mono_SINT 

signed int 32-bit format

PixelFormat_RG_SINT 
PixelFormat_RGB_SINT 
PixelFormat_RGBA_SINT 
PixelFormat_Mono_FLOAT 

float 32-bit format

PixelFormat_RG_FLOAT 
PixelFormat_RGB_FLOAT 
PixelFormat_RGBA_FLOAT 
PixelFormat_YUY 

YUY formats.

PixelFormat_RawRGGB 

bayer mask formats

PixelFormat_RawGRBG 
PixelFormat_RawGBRG 
PixelFormat_RawBGGR 
PixelFormat_ForceDword 

Definition at line 25 of file IImage.h.

Enumerator
Rotation_None 
Rotation_Ccw90 
Rotation_Cw90 
Rotation_180 
Rotation_ForceDword 

Definition at line 20 of file Conversions.h.

Enumerator
ScannerType_Unknown 
ScannerType_Small 
ScannerType_WallyL 

M and MHT scanners.

ScannerType_WallyP 
ScannerType_Eva 
ScannerType_LargeP 
ScannerType_LargeL 
ScannerType_Spider 
ScannerType_LargeG 
ScannerType_ForceDword 
Examples:
scanning-and-process-sample.cpp.

Definition at line 17 of file ScannerType.h.

Enumerator
VerboseLevel_Disable 
VerboseLevel_Error 
VerboseLevel_Warning 
VerboseLevel_Info 
VerboseLevel_Trace 
VerboseLevel_Number 

Definition at line 27 of file Log.h.

Function Documentation

bool ABASESDK_LINK_SPEC artec::sdk::base::allScansInModelEmpty ( const IModel in)

check for empty scan collection

Parameters
in- Model to check
Returns
true - all IScan in Model is empty
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::bgr2grey ( IImage **  dst,
const IImage src 
)

Convert given image to gray scale (1 channel) format. Accurate algorithm. Convert only PixelFormat_BGR image to grayscale PixelFormat_Mono image.

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::cloneCompositeContainer ( ICompositeContainer out,
const ICompositeContainer in 
)

clone all CompositeContainer content

Parameters
out- destination CompositeContainer
in- CompositeContainer to take elements from
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::cloneModel ( IModel out,
const IModel in 
)

create new Scans and CompositeContainer, but clone all content

Parameters
out- destination Model
in- Model to take elements from
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::cloneScan ( IScan out,
const IScan in 
)

clone all Scan content

Parameters
out- destination Scan
in- Scan to take elements from
Returns
error code
template<class T >
ErrorCode artec::sdk::base::createArray ( TArrayRef< T > &  src,
int  elementsCount,
bool  zeroFill = false 
)
inline

assign to TArrayRef new array

template<>
ErrorCode artec::sdk::base::createArray< IArrayByte > ( TArrayRef< IArrayByte > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 142 of file TArrayRef.h.

template<>
ErrorCode artec::sdk::base::createArray< IArrayFloat > ( TArrayRef< IArrayFloat > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 166 of file TArrayRef.h.

template<>
ErrorCode artec::sdk::base::createArray< IArrayIndexTriplet > ( TArrayRef< IArrayIndexTriplet > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 202 of file TArrayRef.h.

template<>
ErrorCode artec::sdk::base::createArray< IArrayInt > ( TArrayRef< IArrayInt > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 154 of file TArrayRef.h.

template<>
ErrorCode artec::sdk::base::createArray< IArrayPoint3F > ( TArrayRef< IArrayPoint3F > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 190 of file TArrayRef.h.

template<>
ErrorCode artec::sdk::base::createArray< IArrayUVCoordinates > ( TArrayRef< IArrayUVCoordinates > &  src,
int  elementsCount,
bool  zeroFill 
)
inline

Definition at line 178 of file TArrayRef.h.

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayByte ( IArrayByte **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayFloat ( IArrayFloat **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayImage ( IArrayImage **  pArray,
int  elementsCount 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayIndexTriplet ( IArrayIndexTriplet **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayInt ( IArrayInt **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayMatrix4x4D ( IArrayMatrix4x4D **  pArray,
int  elementsCount 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayPoint3D ( IArrayPoint3D **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayPoint3F ( IArrayPoint3F **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayString ( IArrayString **  pArray,
int  elementsCount 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createArrayUVCoordinates ( IArrayUVCoordinates **  pArray,
int  elementsCount,
bool  zeroFill = false 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createBlob ( IBlob **  blob,
int  size 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createCancellationTokenSource ( ICancellationTokenSource **  pCancellationTokenSource)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createCompositeContainer ( ICompositeContainer **  pContainer)

Create new CompositeContainer

Parameters
pContainer- destination CompositeContainer
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createCompositeMesh ( ICompositeMesh **  mesh,
int  vertexCount = 0,
int  triangleCount = 0 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createFrameMesh ( IFrameMesh **  mesh,
int  vertexCount = 0,
int  triangleCount = 0 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createImage ( IImage **  image,
int  width,
int  height,
PixelFormat  pixelFormat,
int  align = 1,
IBlob initialData = 0 
)

Create image

Parameters
width,heightImage width (x) and height (y)
pixelFormatImage format. Value from PixelFormat enum.
alignLength of 1 image line will be multiply of align value. Calculated based on width and number of channels
initialDataIf present than no new data is created and image will store the reference to initialData
Returns
new Image or NULL if creation unsuccessful.
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createImageByHeader ( IImage **  image,
const ImageHeader header,
IBlob initialData = 0 
)

Create image

Parameters
imagecreated image
headersize, pitch and pixelFormat of new image
initialDataIf present than no new data is created and image will store the reference to initialData
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createModel ( IModel **  pContainer)

Create new Model

Parameters
pContainer- destination Model
Returns
error code
Examples:
scanning-and-process-sample.cpp.
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createRangeImageCylindric ( IRangeImageCylindric **  image,
const SettingsCylindric settings,
const IMesh mesh 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createRangeImagePlanar ( IRangeImagePlanar **  image,
const SettingsPlanar settings,
const IMesh mesh 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createScan ( IScan **  pContainer,
ScannerType  scannerType = ScannerType_Unknown,
const Matrix3x4D textureMappingMatrix = NULL 
)

Create new Scan

Parameters
pContainer- destination Scan
scannerType- use ScannerType_Unknown as unknown scanner type
textureMappingMatrix- matrix for texture coordinates calculation
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createSimilarScan ( IScan **  out,
const IScan attributesPattern 
)

Creates Scan with identical attributes

Parameters
outNew Scan
inScan to copy attributes from
Note
The shallow(!) copy of attributes takes place here.
Returns
error code
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::createTexture ( ITexture **  texture,
IImage image = NULL,
int  trianglesIndexCount = 0,
int  UVIndexCount = 0,
int  UVCoordinatesCount = 0 
)
template<typename T >
Point3<T> artec::sdk::base::crossProduct ( const Point3< T > &  p1,
const Point3< T > &  p2 
)
inline

Cross product of two points.

Definition at line 347 of file Point.h.

template<typename T >
T artec::sdk::base::distanceSquare ( const Point2< T > &  p1,
const Point2< T > &  p2 
)
inline

Distance measure (squared)

Definition at line 165 of file Point.h.

template<typename T >
T artec::sdk::base::distanceSquare ( const Point3< T > &  p1,
const Point3< T > &  p2 
)
inline

Distance measure (squared)

Definition at line 335 of file Point.h.

template<typename T >
T artec::sdk::base::distanceSquare ( const Point4< T > &  p1,
const Point4< T > &  p2 
)
inline

Distance measure (squared)

Definition at line 487 of file Point.h.

template<typename T >
T artec::sdk::base::dotProduct ( const Point2< T > &  p1,
const Point2< T > &  p2 
)
inline

Cross product of two points.

Definition at line 171 of file Point.h.

template<typename T >
T artec::sdk::base::dotProduct ( const Point3< T > &  p1,
const Point3< T > &  p2 
)
inline

Cross product of two points.

Definition at line 341 of file Point.h.

template<typename T >
T artec::sdk::base::dotProduct ( const Point4< T > &  p1,
const Point4< T > &  p2 
)
inline

Cross product of two points.

Definition at line 493 of file Point.h.

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::executeJob ( IJob job,
const AlgorithmWorkset workset 
)
int ABASESDK_LINK_SPEC artec::sdk::base::getOutputLevel ( )
const wchar_t* artec::sdk::base::getScannerTypeName ( artec::sdk::base::ScannerType  st)
inline
Examples:
simple-capture-sample.cpp.

Definition at line 33 of file ScannerType.h.

template<typename Type , int size>
bool artec::sdk::base::invert ( const GenericMatrix< size, size, Type > &  matrix,
GenericMatrix< size, size, Type > &  result 
)
inline

Inversion Return false if matrix is singular and can't be inverted, otherwise true

Definition at line 323 of file GenericMatrix.h.

template<int size, typename Type >
GenericMatrix< size, size, Type > artec::sdk::base::invert ( const GenericMatrix< size, size, Type > &  matrix)
inline

Inversion (another one form) Given matrix shouldn't be singular. Throws std::runtime_error() if matrix is singular, otherwise return inverse matrix

Definition at line 383 of file GenericMatrix.h.

template<typename Type >
bool artec::sdk::base::invert ( const Matrix4x4< Type > &  matrix,
Matrix4x4< Type > &  result 
)
inline

Return false if matrix is singular and can't be inverted, otherwise true.

Definition at line 776 of file Matrix.h.

template<typename Type >
Matrix4x4< Type > artec::sdk::base::invert ( const Matrix4x4< Type > &  matrix)
inline

Inversion (another one form) Given matrix shouldn't be singular. Throws std::runtime_error() if matrix is singular, otherwise return inverse matrix

Definition at line 786 of file Matrix.h.

bool ABASESDK_LINK_SPEC artec::sdk::base::isCompositeContainerInModelEmpty ( const IModel in)

check for empty CompositeContainer

Parameters
in- Model to check
Returns
true - CompositeContainer in Model is empty
template<typename Tf >
bool artec::sdk::base::isZero ( const Tf &  some)

Equality expression for types which are not exact.

Definition at line 25 of file Point.h.

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::launchJob ( IJob job,
const AlgorithmWorkset workset,
IJobObsever jobObsever 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::mergeToFrameMesh ( IFrameMesh mesh,
const IScan scanContainer,
bool  skipTextureData = true 
)

Accumulates all meshes from a the given IScan to given IFrameMesh coordinates are transformed according current scan and frame transformation matrices

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::mirrorImage ( IImage **  dst,
const IImage src,
Mirror  direction 
)

Mirror image

template<typename T , typename T2 >
Point2<T> artec::sdk::base::operator* ( const T2 &  val,
const Point2< T > &  p 
)
inline

Definition at line 182 of file Point.h.

template<typename Type , typename Type2 >
Point3< Type2 > artec::sdk::base::operator* ( const GenericMatrix< 3, 3, Type > &  matrix,
const Point3< Type2 > &  point 
)
inline

Definition at line 296 of file GenericMatrix.h.

template<int rows, typename Type >
GenericMatrix< rows, 4, Type > artec::sdk::base::operator* ( const GenericMatrix< rows, 4, Type > &  m1,
const Matrix4x4< Type > &  m2 
)

Definition at line 691 of file Matrix.h.

template<typename T , typename T2 >
Point2<T> artec::sdk::base::operator+ ( const T2 &  val,
const Point2< T > &  p 
)
inline

Arithmetic operators of the form: operator(scalar, TPoint2)

Definition at line 178 of file Point.h.

template<typename T , typename T2 >
Point2<T> artec::sdk::base::operator- ( const T2 &  val,
const Point2< T > &  p 
)
inline

Definition at line 180 of file Point.h.

template<typename Type >
Point2< Type > artec::sdk::base::project ( const Point3< Type > &  point,
const GenericMatrix< 3, 4, Type > &  m 
)
inline

Definition at line 796 of file Matrix.h.

template<typename Type >
Point3< Type > artec::sdk::base::project ( const Point3< Type > &  point,
const Matrix4x4< Type > &  m 
)
inline

Definition at line 803 of file Matrix.h.

void ABASESDK_LINK_SPEC artec::sdk::base::report ( int  verboseLevel,
const wchar_t *  module,
const wchar_t *  format,
  ... 
)
template<class T >
ErrorCode artec::sdk::base::resizeArray ( TArrayRef< T > &  src,
int  elementsCount 
)

release assigned to TArrayRef array and create new one

Definition at line 215 of file TArrayRef.h.

template<class T >
ErrorCode artec::sdk::base::resizeArray ( TArrayRef< T > &  src,
int  elementsCount,
bool  zeroFill 
)

release assigned to TArrayRef array and create new one

Definition at line 232 of file TArrayRef.h.

ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::rotateImage ( IImage **  dst,
const IImage src,
Rotation  direction 
)

Rotate image

void ABASESDK_LINK_SPEC artec::sdk::base::setOutputLevel ( int  mode)
bool ABASESDK_LINK_SPEC artec::sdk::base::setReportHook ( int  mode,
REPORT_HOOK  newHook 
)
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::toBGR ( IImage **  dst,
const IImage src 
)

Change R and B channels in given 3-channeled image

Parameters
image- image, that should be in RGB or BGR (3 channels), YUY(2 channels), or GS(1 channel) format.

supported format list: PixelFormat_RGB PixelFormat_BGR - just make image copy PixelFormat_YUY output format - PixelFormat_BGR

Returns
ErrorCode_ArgumentInvalid, for all other formats
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::toGrayscale ( IImage **  dst,
const IImage src 
)

Convert given image to gray scale (1 channel) format. Fast algorithm. Select component with maximum value.

Parameters
image- image, that should be in RGB or BGR (3 channels), YUY(2 channels), or GS(1 channel) format.

supported format list: PixelFormat_BGR PixelFormat_BGRX PixelFormat_RG PixelFormat_RGB PixelFormat_RGBX PixelFormat_RG_USHORT PixelFormat_RGB_USHORT PixelFormat_RGBX_USHORT PixelFormat_RG_SINT PixelFormat_RGB_SINT PixelFormat_RGBX_SINT PixelFormat_YUY output format - PixelFormat_Mono

Returns
ErrorCode_ArgumentInvalid, for all other formats
ErrorCode ABASESDK_LINK_SPEC artec::sdk::base::toRGB ( IImage **  dst,
const IImage src 
)

Change R and B channels in given 3-channeled image

Parameters
image- image, that should be in RGB or BGR (3 channels), YUY(2 channels), or GS(1 channel) format.

supported format list: PixelFormat_BGR PixelFormat_RGB - just make image copy PixelFormat_YUY output format - PixelFormat_RGB

Returns
ErrorCode_ArgumentInvalid, for all other formats
template<int rows, int cols, typename MatType , typename Type >
GenericMatrix<rows, cols, MatType> artec::sdk::base::vectorToMatrix ( const std::vector< Type > &  vec)

Definition at line 394 of file GenericMatrix.h.

template<int rows, int cols, typename Type >
GenericMatrix<rows, cols, Type> artec::sdk::base::vectorToMatrix ( const std::vector< Type > &  vec)

Definition at line 402 of file GenericMatrix.h.

void ABASESDK_LINK_SPEC artec::sdk::base::vReport ( int  verboseLevel,
const wchar_t *  module,
const wchar_t *  format,
va_list  args 
)

Variable Documentation

const int artec::sdk::base::RPTHOOK_INSTALL = 0

Definition at line 24 of file Log.h.

const int artec::sdk::base::RPTHOOK_REMOVE = 1

Definition at line 25 of file Log.h.