Darwin  1.10(beta)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | List of all members
drwnProperties Class Reference

Provides an abstract interface for dynamic properties. More...

Inheritance diagram for drwnProperties:
drwnClassifier drwnFeatureTransform drwnMultiSegConfig drwnPropertiesCopy drwnRegression drwnBoostedClassifier drwnCompositeClassifier drwnDecisionTree drwnMultiClassLogisticBase drwnRandomForest drwnLinearTransform drwnSupervisedTransform drwnTFeatureMapTransform< FeatureMap > drwnUnsupervisedTransform drwnLinearRegressorBase

Public Member Functions

unsigned numProperties () const
 
bool hasProperty (const string &name) const
 
bool hasProperty (const char *name) const
 
unsigned findProperty (const string &name) const
 
unsigned findProperty (const char *name) const
 
void setProperty (unsigned indx, bool value)
 
void setProperty (unsigned indx, int value)
 
void setProperty (unsigned indx, double value)
 
void setProperty (unsigned indx, const string &value)
 
void setProperty (unsigned indx, const char *value)
 
void setProperty (unsigned indx, const Eigen::VectorXd &value)
 
void setProperty (unsigned indx, const Eigen::MatrixXd &value)
 
void setProperty (const char *name, bool value)
 
void setProperty (const char *name, int value)
 
void setProperty (const char *name, double value)
 
void setProperty (const char *name, const string &value)
 
void setProperty (const char *name, const char *value)
 
void setProperty (const char *name, const Eigen::VectorXd &value)
 
void setProperty (const char *name, const Eigen::MatrixXd &value)
 
string getPropertyAsString (unsigned indx) const
 
drwnPropertyType getPropertyType (unsigned indx) const
 
bool isReadOnly (unsigned indx) const
 
const drwnPropertyInterfacegetProperty (unsigned indx) const
 
const drwnPropertyInterfacegetProperty (const char *name) const
 
bool getBoolProperty (unsigned indx) const
 
int getIntProperty (unsigned indx) const
 
double getDoubleProperty (unsigned indx) const
 
const string & getStringProperty (unsigned indx) const
 
const list< string > & getListProperty (unsigned indx) const
 
int getSelectionProperty (unsigned indx) const
 
const Eigen::VectorXd & getVectorProperty (unsigned indx) const
 
const Eigen::MatrixXd & getMatrixProperty (unsigned indx) const
 
const string & getPropertyName (unsigned indx) const
 
vector< string > getPropertyNames () const
 
void readProperties (drwnXMLNode &xml, const char *tag="property")
 
void writeProperties (drwnXMLNode &xml, const char *tag="property") const
 
void printProperties (ostream &os) const
 

Protected Member Functions

void declareProperty (const string &name, drwnPropertyInterface *optif)
 
void undeclareProperty (const string &name)
 
void exposeProperties (drwnProperties *opts, const string &prefix=string(""), bool bSerializable=false)
 
virtual void propertyChanged (const string &name)
 

Detailed Description

Provides an abstract interface for dynamic properties.

Defines an abstract interface for setting arbitrary properties used by other classes. The class provides a unified interface making it easy to set properties via XML or GUI interface. It also does lots of error checking. The XML schema has one of the following forms:

<property name="..." value="..." />
<property name="...">
...
</property>

The class is related to the dynamic properties design pattern.

Property values are stored in a class member variable.

Todo:
Could also store within property interface object (which would make for slower access within class members, but easier declaration of lots of properties).
Warning
This interface is not stable.

The documentation for this class was generated from the following files: