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)