6#include <icomp/CComponentBase.h>
7#include <ilog/TLoggerCompWrap.h>
8#include <ifile/IFilePersistence.h>
15class CStlMeshPersistenceComp:
16 public ilog::CLoggerComponentBase,
17 virtual public ifile::IFilePersistence
20 typedef ilog::CLoggerComponentBase BaseClass;
22 I_BEGIN_COMPONENT(CStlMeshPersistenceComp);
23 I_REGISTER_INTERFACE(ifile::IFilePersistence);
24 I_REGISTER_INTERFACE(ifile::IFileTypeInfo);
25 I_ASSIGN(m_ensureNormalsExistAttrPtr,
"EnsureNormalsExist",
"Build normals if they are missing in STL file",
false,
true);
29 virtual bool IsOperationSupported(
30 const istd::IChangeable* dataObjectPtr,
31 const QString* filePathPtr = NULL,
33 bool beQuiet =
true)
const;
34 virtual OperationState LoadFromFile(istd::IChangeable& data,
35 const QString& filePath = QString(),
36 ibase::IProgressManager* progressManagerPtr = NULL)
const;
37 virtual OperationState SaveToFile(
const istd::IChangeable& data,
38 const QString& filePath = QString(),
39 ibase::IProgressManager* progressManagerPtr = NULL)
const;
42 virtual bool GetFileExtensions(QStringList& result,
const istd::IChangeable* dataObjectPtr = NULL,
int flags = -1,
bool doAppend =
false)
const;
43 virtual QString GetTypeDescription(
const QString* extensionPtr = NULL)
const;
46 I_ATTR(
bool, m_ensureNormalsExistAttrPtr);