11 #ifndef __ArtecBaseSDK_STLIO_H_
12 #define __ArtecBaseSDK_STLIO_H_
19 namespace artec {
namespace sdk {
namespace base
22 class ICancellationToken;
39 saveStlMeshToFile(
const wchar_t* path,
const IMesh * surf,
bool binary =
true, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
49 saveStlMeshToFileAscii(
const wchar_t* path,
const IMesh * surf,
const char* name = NULL, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
58 saveStlMeshToFileBinary(
const wchar_t* path,
const IMesh * surf, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
68 saveStlMeshToBlob(IBlob** data,
const IMesh * surf,
bool binary =
true, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
78 saveStlMeshToBlobAscii(IBlob** data,
const IMesh * surf,
const char * name = NULL, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
87 saveStlMeshToBlobBinary(IBlob** data,
const IMesh * surf, IProgressInfo* progr = 0, ICancellationToken* cncl = 0);
97 loadStlMeshFromFile(IMesh** surf,
const wchar_t* path,
bool binary, IProgressInfo * progr = 0, ICancellationToken * cncl = 0);
103 loadStlMeshFromFileAscii(IMesh** surf,
const wchar_t* path, IProgressInfo * progr = 0, ICancellationToken * cncl = 0);
109 loadStlMeshFromBlob(IMesh** surf,
const IBlob* data,
bool binary, IProgressInfo * progr = 0, ICancellationToken * cncl = 0);
112 loadStlMeshFromBlobAscii(IMesh** surf,
const IBlob* data, IProgressInfo * progr = 0, ICancellationToken * cncl = 0);
254 #endif // __ArtecBaseSDK_STLIO_H_
static ErrorCode loadAscii(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromFileAscii(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Class to save/load STL files (STereoLithography)
static ErrorCode load(IMesh **surf, const IBlob *data, bool binary, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromFileAutodetect(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToBlob(IBlob **data, const IMesh *surf, bool binary=true, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to STL blob.
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromFileBinary(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToBlobBinary(IBlob **data, const IMesh *surf, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to binary STL blob.
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToFileAscii(const wchar_t *path, const IMesh *surf, const char *name=NULL, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to ASCII STL file.
static ErrorCode save(const wchar_t *path, const IMesh *surf, bool binary=true, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to STL file.
static ErrorCode loadBinary(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Callback interface to notify process about cancellation.
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToFileBinary(const wchar_t *path, const IMesh *surf, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to binary STL file.
static ErrorCode loadBinary(IMesh **surf, const IBlob *data, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromBlobAscii(IMesh **surf, const IBlob *data, IProgressInfo *progr=0, ICancellationToken *cncl=0)
static ErrorCode saveBinary(IBlob **data, const IMesh *surf, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to binary STL blob.
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromFile(IMesh **surf, const wchar_t *path, bool binary, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Interface for Binary Large Object (memory chunk) with smart reference counting.
static ErrorCode save(IBlob **data, const IMesh *surf, bool binary=true, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to STL blob.
static ErrorCode saveAscii(IBlob **data, const IMesh *surf, const char *name=NULL, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to ASCII STL blob.
Interface for a progress notification listener.
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromBlob(IMesh **surf, const IBlob *data, bool binary, IProgressInfo *progr=0, ICancellationToken *cncl=0)
static ErrorCode load(IMesh **surf, const wchar_t *path, bool binary, IProgressInfo *progr=0, ICancellationToken *cncl=0)
bool ABASESDK_LINK_SPEC isStlBinary(const wchar_t *path)
Determines the format of the saved file.
static ErrorCode loadAscii(IMesh **surf, const IBlob *data, IProgressInfo *progr=0, ICancellationToken *cncl=0)
static ErrorCode saveAscii(const wchar_t *path, const IMesh *surf, const char *name=NULL, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to ASCII STL file.
static ErrorCode saveBinary(const wchar_t *path, const IMesh *surf, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to binary STL file.
#define ABASESDK_LINK_SPEC
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToFile(const wchar_t *path, const IMesh *surf, bool binary=true, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to STL file.
ErrorCode ABASESDK_LINK_SPEC loadStlMeshFromBlobBinary(IMesh **surf, const IBlob *data, IProgressInfo *progr=0, ICancellationToken *cncl=0)
ErrorCode ABASESDK_LINK_SPEC saveStlMeshToBlobAscii(IBlob **data, const IMesh *surf, const char *name=NULL, IProgressInfo *progr=0, ICancellationToken *cncl=0)
Save IMesh surface to ASCII STL blob.
static bool isBinary(const wchar_t *path)
Determines format of the saved file.
static ErrorCode load(IMesh **surf, const wchar_t *path, IProgressInfo *progr=0, ICancellationToken *cncl=0)