13 #ifndef ML_OBJ_MGR_DATA_H
14 #define ML_OBJ_MGR_DATA_H
19 #include "MLObjMgrSystem.h"
23 ML_UTILS_START_NAMESPACE
28 ML_UTILS_END_NAMESPACE
43 omData(
const std::string &typeName,
const std::string &value);
49 return _data !=
nullptr;
58 return (_data) ? _data->getTypeId() :
nullptr;
96 omData &operator =(
const char *value) {
RuntimeType contains type and inheritance information of a class and a static dictionary with informa...
virtual std::string getStringValue() const =0
Get value of data type as string.
virtual void setStringValue(const std::string &value)=0
Set data type value from string.
Manages data and takes care of allocation and deallocation.
DATA_OP_HEADER(omMessage, omMessage, omMessage())
bool isValid() const
Returns true if attribute is valid.
void createDataType(const RuntimeType *type)
DATA_OP_HEADER(std_MLint32Vec, std_MLint32Vec, std_MLint32Vec())
omData(const omData &data)
DATA_OP_HEADER(mat4, Matrix4, Matrix4())
virtual void assign(const omData &data)
void createDataType(const std::string &typeName)
Create datatype.
DATA_OP_HEADER(vec4, Vector4, Vector4())
void setStringValue(const std::string &value)
DATA_OP_HEADER(MLint32, MLint32, 0)
These macros declare operators and methods to access the internal attribute data: omAttribute &operat...
DATA_OP_HEADER(std_string, std_string, std_string())
DATA_OP_HEADER(vec3, Vector3, Vector3())
std::string getStringValue() const
bool stringValueIsEqual(const std::string &value) const
DATA_OP_HEADER(BasePtr, BasePtr, BasePtr())
DATA_OP_HEADER(double, double, 0.0)
DATA_OP_HEADER(bool, bool, false)
DATA_OP_HEADER(std_vec3Vec, std_vec3Vec, std_vec3Vec())
omData(const std::string &typeName, const std::string &value)
const RuntimeType * getDataType() const
Return runtime type of data container.
omMessageT< char > omMessage
Define the normally used type from template type with normal string base char type.
Tvec4< MLdouble > Vector4
A vector with 4 components of type double.
bool operator==(const Tmat2< DT > &a, const Tmat2< DT > &b)
a == b ? Return true if yes.
Tmat4< MLdouble > Matrix4
The standard 4x4 matrix of type double.
Tvec3< MLdouble > Vector3
A vector with 3 components of type double.
std::vector< MLint32 > std_MLint32Vec
std::vector< Vector3 > std_vec3Vec
boost::shared_ptr< Base > BasePtr