#include <BaseClass.h>
Class hierarchy reflection base class. More...

Class hierarchy reflection base class.
This class provides information on the class and parent classes of components. It is created by using the SOFA_CLASS macro on each new class declaration. All classes deriving from Base should use the SOFA_CLASS macro within their declaration.
Public Attributes | |
| std::string | namespaceName |
| std::string | typeName |
| std::string | className |
| std::string | templateName |
| std::string | shortName |
| type::vector< const BaseClass * > | parents |
Public Member Functions | |
| bool | hasParent (const BaseClass *c) const |
| returns true iff c is a parent class of this More... | |
| bool | hasParent (const std::string &parentClassName) const |
| returns true iff a parent class of this is named parentClassName More... | |
| bool | operator== (const BaseClass &c) const |
| bool | operator!= (const BaseClass &c) const |
| virtual Base * | dynamicCast (Base *obj) const =0 |
| virtual bool | isInstance (Base *obj) const =0 |
Protected Member Functions | |
| BaseClass () | |
| virtual | ~BaseClass () |
| std::string sofa::core::objectmodel::BaseClass::className |
| std::string sofa::core::objectmodel::BaseClass::namespaceName |
| type::vector<const BaseClass*> sofa::core::objectmodel::BaseClass::parents |
| std::string sofa::core::objectmodel::BaseClass::shortName |
| std::string sofa::core::objectmodel::BaseClass::templateName |
| std::string sofa::core::objectmodel::BaseClass::typeName |
|
protected |
|
protectedvirtual |
returns true iff c is a parent class of this
|
inline |
returns true iff a parent class of this is named parentClassName