20 namespace artec {
namespace sdk {
namespace base
40 const Matrix3x4D* textureMappingMatrix = NULL,
const wchar_t* name = NULL);
137 virtual int getSize()
const = 0;
140 virtual void clear() = 0;
148 virtual const wchar_t*
getName()
const = 0;
149 virtual void setName(
const wchar_t* name) = 0;
ErrorCode ABASESDK_LINK_SPEC cloneScan(IScan *out, const IScan *in)
Clone all Scan content, except name and uuid.
virtual const Matrix3x4D & getTextureMappingMatrix() const =0
Access matrix for texture mapping.
virtual const wchar_t * getName() const =0
Access scan name.
virtual void clear()=0
Delete all scan elements.
ErrorCode ABASESDK_LINK_SPEC createSimilarScan(IScan **out, const IScan *attributesPattern)
Create Scan with identical attributes, new scan has empty name and new uuid.
virtual const Matrix4x4D & getScanTransformation() const =0
Access scan transformation.
virtual void setName(const wchar_t *name)=0
Access scan name.
virtual ErrorCode add(IFrameMesh *frame)=0
Add/remove reconstructed frame to scan.
Indexed triangle mesh with optional texture.
virtual IBlob * getAttributes(int index) const =0
Access frame attributes. Index must be in range [0, getSize()-1].
virtual void setScanTransformation(const Matrix4x4D &m)=0
Access scan transformation.
virtual const Uuid & getUuid() const =0
Access scan uuid.
virtual IBlob * getScanAttributes() const =0
Access scan attributes.
virtual const Matrix4x4D & getTransformation(int index) const =0
Access frame-mesh orientation by index.
Matrix of unspecified size.
Interface for Binary Large Object (memory chunk) with smart reference counting.
virtual void setUuid(const Uuid &uuid)=0
Get elements number in scan.
virtual ErrorCode setElement(int index, IFrameMesh *mesh)=0
Access container element (frame mesh) by index.
ErrorCode ABASESDK_LINK_SPEC createScan(IScan **pContainer, ScannerType scannerType=ScannerType_Unknown, const Matrix3x4D *textureMappingMatrix=NULL, const wchar_t *name=NULL)
Create new Scan with given name and new uuid.
virtual IFrameMesh * getElement(int index) const =0
Access container element (frame mesh) by index.
Collection of reconstructed frame meshes with attributes.
virtual ErrorCode setTransformation(int index, const Matrix4x4D &m)=0
Access frame-mesh orientation by index.
ErrorCode ABASESDK_LINK_SPEC mergeToFrameMesh(IFrameMesh *mesh, const IScan *scanContainer, bool skipTextureData=true)
Accumulates all meshes from the given IScan to the given IFrameMesh.
GenericMatrix< 3, 4, double > Matrix3x4D
#define ABASESDK_LINK_SPEC
virtual int getSize() const =0
Get elements number in scan.
virtual ScannerType getScannerType() const =0
Get the device type that produces the frames.
Interface that implements reference counting and life-time management.
virtual ErrorCode setAttributes(int index, IBlob *attributes)=0
Access frame attributes. Index must be in range [0, getSize()-1].
virtual void setTextureMappingMatrix(const Matrix3x4D &m)=0
Access matrix for texture mapping.
virtual void setScanAttributes(IBlob *attributes)=0
Access scan attributes.