logplus/OSGDataModel/include/OSGDataModel.h
2025-10-29 17:23:30 +08:00

65 lines
1015 B
C++

#ifdef _WIN32
#ifdef OSGDataModel_LIB
#define OSGDATAMODEL_EXPORT __declspec(dllexport)
#else
#define OSGDATAMODEL_EXPORT __declspec(dllimport)
#endif
#else
#define OSGDATAMODEL_EXPORT
#endif
#define BEGIN_OSGDATAMODEL_NAMESPACE \
namespace pai {\
namespace datamodel{\
#define InvalidValue -9999
#define Tolerance 0.0001
#define END_OSGDATAMODEL_NAMESPACE \
};\
};\
#define PRPERTY_TO_MEMBERVARIABLE( datatype, name )\
public:\
datatype Get##name()\
{\
return static_cast<datatype>( m_##name );\
}\
\
void Set##name( datatype name)\
{\
if( name != m_##name )\
{\
m_##name = name;\
}\
}\
#define PRPERTY_TO_MEMBERVARIABLE2( datatype, propertyname,variablename )\
public:\
datatype Get##propertyname()\
{\
return static_cast<datatype>( variablename );\
}\
\
void Set##propertyname( datatype propertyname )\
{\
if( propertyname != variablename )\
{\
variablename = propertyname;\
}\
}\
private:\
datatype variablename;\
#pragma warning( disable: 4251 )