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

amire::property::Property Class Reference

Inheritance diagram for amire::property::Property:

amire::property::MatrixProperty amire::property::PersistentProperty amire::property::ReferenceProperty amire::property::StructProperty amire::property::StructVectorProperty amire::property::TBaseProperty< type > amire::property::TBaseVectorProperty< type > List of all members.

Public Member Functions

 Property (const PropertyTypeManager *propertyTypeManager, const osg::ref_ptr< const PropertyType > &propertyType)
virtual ~Property ()
virtual bool equals (const osg::ref_ptr< const Property > &property) const=0
virtual osg::ref_ptr< Property > clone () const=0
virtual void cloneFrom (const osg::ref_ptr< const Property > &property)=0
virtual void fromPersistentProperty (const osg::ref_ptr< const Property > &property)=0
virtual osg::ref_ptr< Property > toPersistentProperty ()=0
const osg::ref_ptr< const
PropertyType > & 
getPropertyType () const

Static Protected Member Functions

void initValue (bool &value)
void initValue (char &value)
void initValue (int &value)
void initValue (float &value)
void initValue (double &value)
void initValue (std::string &value)
bool equalsValue (bool value1, bool value2)
bool equalsValue (char value1, char value2)
bool equalsValue (int value1, int value2)
bool equalsValue (float value1, float value2)
bool equalsValue (double value1, double value2)
bool equalsValue (const std::string &value1, const std::string &value2)

Protected Attributes

const PropertyTypeManagerpropertyTypeManager
osg::ref_ptr< const PropertyTypepropertyType

Detailed Description

The class Property is the abstract base class of all Property classes. Properties contain data values with a specific semantic. Therefore each property has a property type. Further properties can be compared on equality.


Constructor & Destructor Documentation

amire::property::Property::Property const PropertyTypeManager propertyTypeManager,
const osg::ref_ptr< const PropertyType > &  propertyType
 

virtual amire::property::Property::~Property  )  [virtual]
 


Member Function Documentation

virtual osg::ref_ptr<Property> amire::property::Property::clone  )  const [pure virtual]
 

Creates a deep copy clone of the property. The returned property is equal to the original property and doesn't share any value references with it.

Implemented in amire::property::MatrixProperty, amire::property::ReferenceProperty, amire::property::StructProperty, amire::property::StructVectorProperty, amire::property::TBaseProperty< type >, and amire::property::TBaseVectorProperty< type >.

virtual void amire::property::Property::cloneFrom const osg::ref_ptr< const Property > &  property  )  [pure virtual]
 

Initializes this property with a deep copy of the given property. Afterware, this property is equal to the given and doesn't share any value references with it. An exception is thrown, if the deep copy is not possible.

Implemented in amire::property::MatrixProperty, amire::property::ReferenceProperty, amire::property::StructProperty, amire::property::StructVectorProperty, amire::property::TBaseProperty< type >, and amire::property::TBaseVectorProperty< type >.

virtual bool amire::property::Property::equals const osg::ref_ptr< const Property > &  property  )  const [pure virtual]
 

The ‘virtual bool equals(const Property *property) const’ method returns true when the as parameter property given property is equal to the this property instance and false otherwise. It also doesn’t modify the property instance and therefore it is const.

Implemented in amire::property::MatrixProperty, amire::property::ReferenceProperty, amire::property::StructProperty, amire::property::StructVectorProperty, amire::property::TBaseProperty< type >, and amire::property::TBaseVectorProperty< type >.

bool amire::property::Property::equalsValue const std::string &  value1,
const std::string &  value2
[static, protected]
 

bool amire::property::Property::equalsValue double  value1,
double  value2
[static, protected]
 

bool amire::property::Property::equalsValue float  value1,
float  value2
[static, protected]
 

bool amire::property::Property::equalsValue int  value1,
int  value2
[static, protected]
 

bool amire::property::Property::equalsValue char  value1,
char  value2
[static, protected]
 

bool amire::property::Property::equalsValue bool  value1,
bool  value2
[static, protected]
 

virtual void amire::property::Property::fromPersistentProperty const osg::ref_ptr< const Property > &  property  )  [pure virtual]
 

Initializes this property with the values of the given peristence able property. Both properties are NOT from the same type. Therefore, they are not equal after the initization. An exception is thrown in any failure case.

Implemented in amire::property::MatrixProperty, amire::property::PersistentProperty, and amire::property::ReferenceProperty.

const osg::ref_ptr<const PropertyType>& amire::property::Property::getPropertyType  )  const
 

The ‘virtual const PropertyType *getPropertyType() const’ method returns the property type of the property instance. It is an abstract virtual (dynamic binding in C++ will only used for virtual methods otherwise the compiler will create a static method call) method and must be implemented by each none abstract derived class. It doesn’t modify the property instance and therefore it is const.

void amire::property::Property::initValue std::string &  value  )  [static, protected]
 

void amire::property::Property::initValue double &  value  )  [static, protected]
 

void amire::property::Property::initValue float &  value  )  [static, protected]
 

void amire::property::Property::initValue int &  value  )  [static, protected]
 

void amire::property::Property::initValue char &  value  )  [static, protected]
 

void amire::property::Property::initValue bool &  value  )  [static, protected]
 

virtual osg::ref_ptr<Property> amire::property::Property::toPersistentProperty  )  [pure virtual]
 

Returns a persistable representaion of this property as a persistent property. An exception is thrown in any failure case.

Implemented in amire::property::MatrixProperty, amire::property::PersistentProperty, and amire::property::ReferenceProperty.


Member Data Documentation

osg::ref_ptr<const PropertyType> amire::property::Property::propertyType [protected]
 

const PropertyTypeManager* amire::property::Property::propertyTypeManager [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue May 20 17:23:58 2003 for AMIRE-Framework by doxygen1.3