13 #ifndef ML_OBJ_MGR_ATTRIBUTE_H
14 #define ML_OBJ_MGR_ATTRIBUTE_H
19 #include "MLObjMgrSystem.h"
27 ML_UTILS_START_NAMESPACE
32 ML_UTILS_END_NAMESPACE
37 class omAttributesVector;
68 return _isContainerValid;
96 inherited::createDataType(typeName);
99 inherited::createDataType(type);
109 inherited::assign(attr);
132 inherited::operator=(value);
return *
this;
138 _isContainerValid = trueOrFalse;
152 typedef std::map<omIDType, omAttribute> inherited;
222 return inherited::size();
227 return inherited::empty();
231 inline inherited::iterator
begin() {
232 return inherited::begin();
235 inline inherited::iterator
end() {
236 return inherited::end();
240 inline inherited::const_iterator
begin()
const {
241 return inherited::begin();
244 inline inherited::const_iterator
end()
const {
245 return inherited::end();
251 _isValid = trueOrFalse;
RuntimeType contains type and inheritance information of a class and a static dictionary with informa...
Manages the attribute data and takes care of allocation and deallocation.
const omIDType & getID() const
Get method for info ID.
ATTRIBUTE_OP_HEADER(std_string, std_string)
omIDType _id
ID of attribute.
ATTRIBUTE_OP_HEADER(MLint32, MLint32)
These macros declare operators and methods to access the internal attribute data: omAttribute &operat...
ATTRIBUTE_OP_HEADER(vec4, Vector4)
const omAttributesVector * parent() const
Read-Only parent access.
ATTRIBUTE_OP_HEADER(double, double)
omAttribute(const omAttribute &attr)
ATTRIBUTE_OP_HEADER(omMessage, omMessage)
ATTRIBUTE_OP_HEADER(mat4, Matrix4)
void createDataType(const std::string &typeName)
Create data-type.
void createDataType(const std::string &typeName, const std::string &value)
Create data-type and assign value using a string argument.
bool isContainerValid() const
Returns true if attribute container for data is valid.
omFlags _flags
Special flags.
void createDataType(const RuntimeType *type)
void markContainerValid(bool trueOrFalse)
omAttributesVector * parent()
Writable parent access.
ATTRIBUTE_OP_HEADER(std_MLint32Vec, std_MLint32Vec)
ATTRIBUTE_OP_HEADER(BasePtr, BasePtr)
const omFlags & flags() const
Read-Only flags access.
void createDataType(const RuntimeType *type, const std::string &value)
virtual void assign(const omAttribute &attr)
ATTRIBUTE_OP_HEADER(vec3, Vector3)
ATTRIBUTE_OP_HEADER(bool, bool)
omFlags & flags()
Writable flags access.
omAttributesVector * _parent
ATTRIBUTE_OP_HEADER(std_vec3Vec, std_vec3Vec)
Manages one layer of information.
inherited::const_iterator const_iterator
inherited::iterator begin()
Returns an iterator pointing to the beginning of the attributes vector.
inherited::iterator iterator
bool empty() const
True if there are no information stored in this layer.
size_t size() const
Get number of information items.
const omFlags & flags() const
Read-Only flags access.
const omObject * parent() const
Read-Only parent access.
omFlags & flags()
Writable flags access.
inherited::iterator end()
Returns an iterator pointing to the end of the attributes vector.
omIDType _id
ID of the layer.
omAttributesVector(const omAttributesVector &v)
inherited::const_iterator end() const
Returns a const_iterator pointing to the end of the attributes vector.
omFlags _flags
Special flags.
inherited::const_iterator begin() const
Returns a const_iterator pointing to the beginning of the attributes vector.
omObject * parent()
Writable parent access.
bool isValid() const
Returns true if attributes vector is valid.
void markValid(bool trueOrFalse)
const omIDType & getID() const
Get method for layer ID.
void clear()
Remove all information items from layer.
void erase(const omIDType &infoID)
Erase the information item whose information ID is given.
Manages data and takes care of allocation and deallocation.
omData & operator=(const omData &data)
Assignment operator.
Managed special flags of information address components.
Base class that declares to basic functionality of an object.
std::vector< MLint32 > std_MLint32Vec
std::vector< Vector3 > std_vec3Vec
boost::shared_ptr< Base > BasePtr