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="...">

The class is related to the dynamic properties design pattern.

Property values are stored in a class member variable.

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

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