Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

StructProperty.h

Go to the documentation of this file.
00001 
00045 #ifndef _AMIRE_PROPERTY_STRUCT_PROPERTY_H
00046 #define _AMIRE_PROPERTY_STRUCT_PROPERTY_H
00047 
00048 #include <amire/common/Defines.h>
00049 #include <amire/property/BaseVectorProperties.h>
00050 #include <amire/property/StructVectorProperty.h>
00051 
00052 namespace amire {
00053   namespace property {
00054     class AMIRE_EXPORT_API PropertyTypeManager;
00055 
00063     class AMIRE_EXPORT_API StructProperty : public virtual PersistentProperty {
00064     private:
00065       mutable StringToPropertyMap propertyMap;
00066         
00067     public:
00068       StructProperty(const std::string &structName, const PropertyTypeManager *propertyTypeManager);
00069       StructProperty(const StructProperty& property);
00070 
00071       virtual ~StructProperty();
00072 
00073       virtual bool equals(const osg::ref_ptr<const Property> &property) const;
00074       virtual osg::ref_ptr<Property> clone() const;
00075       virtual void cloneFrom(const osg::ref_ptr<const Property> &property);
00076 
00082       bool contains(const std::string &name) const;
00083 
00091       void setProperty(const std::string &name,  const osg::ref_ptr<Property> &property);
00092 
00098       osg::ref_ptr<Property> &getProperty(const std::string &name) const;
00099 
00106       void setBoolean(const std::string &name, bool value);
00107 
00114       bool getBoolean(const std::string &name) const;
00115 
00122       void setInteger(const std::string &name, int value);
00123 
00130       int getInteger(const std::string &name) const;
00131 
00138       void setFloat(const std::string &name, float value);
00139 
00146       float getFloat(const std::string &name) const;
00147 
00154       void setDouble(const std::string &name, double value);
00155 
00162       double getDouble(const std::string &name) const;
00163 
00170       void setChar(const std::string &name, char value);
00171 
00178       char getChar(const std::string &name) const;
00179 
00186       void setString(const std::string &name, const std::string &value);
00187 
00194       const std::string &getString(const std::string &name) const;
00195 
00203       osg::ref_ptr<BooleanVectorProperty> getBooleanVector(const std::string &name) const;
00204 
00212       osg::ref_ptr<IntegerVectorProperty> getIntegerVector(const std::string &name) const;
00213 
00221       osg::ref_ptr<FloatVectorProperty> getFloatVector(const std::string &name) const;
00222 
00230       osg::ref_ptr<DoubleVectorProperty> getDoubleVector(const std::string &name) const;
00231 
00239       osg::ref_ptr<CharVectorProperty> getCharVector(const std::string &name) const;
00240 
00248       osg::ref_ptr<StringVectorProperty> getStringVector(const std::string &name) const;
00249 
00256       osg::ref_ptr<StructProperty> getStruct(const std::string &name) const;
00257 
00265       osg::ref_ptr<StructVectorProperty> getStructVector(const std::string &name) const;
00266 
00270       void cloneFrom(const StructProperty *property);
00271     };
00272   }
00273 }
00274 
00275 #endif

Generated on Tue May 20 17:23:53 2003 for AMIRE-Framework by doxygen1.3