#include <AbstractProperty.h>

Classes | |
| struct | NullDeleter |
Public Types | |
| enum | Semantic { NONE = 0x0000, MASK = 0x0001, COLOR = 0x0002, SAMPLER = 0x0004, MODEL = 0x0008, FILENAME = 0x0010, SHADER = 0x0020, CONTAINER = 0x0040 } |
| typedef unsigned int | SemanticMask |
Public Member Functions | |
| AbstractProperty (void) | |
| virtual | ~AbstractProperty (void) |
| virtual void | onPropertyEvent (const PropertyEvent &p) |
| virtual void | createProperties (void) |
| virtual const string | getTypeName (bool ofComponent=false) const |
| virtual void | onInitialize (void) |
| virtual const string | getValue (int vectorElement=-1) const |
| virtual bool | setValue (const string value, int vectorElement=-1) |
| virtual const void * | getPointer (unsigned int offset) const |
| virtual unsigned int | getNumComponents (void) const |
| virtual unsigned int | getNumVectorElements (void) const |
| virtual void | setOwner (const PropertyContainerPtr &owner) |
| virtual bool | isContainer (void) const |
| virtual bool | isString (void) const |
| virtual bool | isInteger (void) const |
| virtual bool | isReal (void) const |
| virtual bool | isBoolean (void) const |
| virtual bool | isEnum (void) const |
| virtual bool | isMatrix (void) const |
| virtual bool | isMultiComponent (void) const |
| virtual bool | isVector (void) const |
| virtual const XMLNodePtr | toXML (const XMLNodePtr &parent=XMLNodePtr()) const |
| virtual void | setName (const XMLNodePtr &xml=XMLNodePtr()) |
| virtual void | setName (const string name) |
| virtual void | recalculatePath (void) |
| void | setSemantic (SemanticMask semantic) |
| calls remove() then store() | |
| void | storePath (void) |
| void | removePath (void) |
| store the pointer in the 'registry' | |
| void | connect (const PropertyPtr &p, bool send=false) |
| remove from registry | |
| void | disconnect (const PropertyPtr &p, bool send=false) |
| void | addEventListener (const PropertyPtr &p, bool send=false) |
| void | removeEventListener (const PropertyPtr &p, bool send=false) |
| void | sendPropertyEvent (const PropertyEvent &p) |
| const PropertyContainerPtr | getOwner (void) const |
| const string & | getName (void) const |
| const string & | getPath (void) const |
| const string | tracePath (void) const |
| const string | getDecoratedName (bool includeType=true, bool asVector=true, int vectorElement=-1, int component=-1) const |
| SemanticMask | getSemantic (void) const |
| weak_ptr< T > | getWeakPtr (void) |
| const weak_ptr< T > | getWeakPtr (void) const |
| shared_ptr< T > | getSharedPtr (void) |
| const shared_ptr< T > | getSharedPtr (void) const |
| shared_ptr< T > | getNullDeletingSharedPtr (void) |
| const shared_ptr< T > | getNullDeletingSharedPtr (void) const |
| weak_ptr< T > | getNullDeletingWeakPtr (void) |
| const shared_ptr< T > | getNullDeletingWeakPtr (void) const |
Static Public Member Functions | |
| static void | clear (void) |
| static const string | find (const PropertyPtr &) |
| static const PropertyPtr | find (const string path) |
| static const string | createName (const string prefix="p") |
Protected Attributes | |
| PropertyContainerWeakPtr | m_owner |
| string | m_path |
| string | m_name |
| SemanticMask | m_semantic |
| PropertyWeakList | m_eventListeners |
Static Protected Attributes | |
| static map< AbstractProperty *, string > | s_pointers |
| static map< string, PropertyWeakPtr > | s_paths |
| static unsigned long | s_counter = 0 |
Friends | |
| ostream & | operator<< (ostream &os, const AbstractProperty &rhs) |
| const istream & | operator>> (const istream &is, AbstractProperty &rhs) |
Definition at line 17 of file AbstractProperty.h.
| typedef unsigned int RenderTools::AbstractProperty::SemanticMask |
Definition at line 20 of file AbstractProperty.h.
Definition at line 21 of file AbstractProperty.h.
| AbstractProperty::AbstractProperty | ( | void | ) |
Definition at line 14 of file AbstractProperty.cpp.
| AbstractProperty::~AbstractProperty | ( | void | ) | [virtual] |
| void AbstractProperty::addEventListener | ( | const PropertyPtr & | p, | |
| bool | send = false | |||
| ) |
Definition at line 202 of file AbstractProperty.cpp.
| void AbstractProperty::clear | ( | void | ) | [static] |
Reimplemented in RenderTools::AbstractCurve, RenderTools::Curve< T >, and RenderTools::Sampler.
Definition at line 151 of file AbstractProperty.cpp.
| void AbstractProperty::connect | ( | const PropertyPtr & | p, | |
| bool | send = false | |||
| ) |
| const string AbstractProperty::createName | ( | const string | prefix = "p" |
) | [static] |
Definition at line 119 of file AbstractProperty.cpp.
| void AbstractProperty::createProperties | ( | void | ) | [virtual] |
Reimplemented in RenderTools::AbstractApplication, RenderTools::Camera, RenderTools::Framebuffer, RenderTools::Image, RenderTools::Program, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, RenderTools::AbstractCurve, RenderTools::Circle, RenderTools::Curve< T >, RenderTools::Ellipsoid, RenderTools::Plane, RenderTools::Rendernode, RenderTools::TextNode, RenderTools::Renderpass, RenderTools::Sampler, RenderTools::Stateset, RenderTools::TransformNode, RenderTools::Vertexbuffer, RenderTools::ViewController, and RenderTools::AbstractPropertyContainer.
Definition at line 233 of file AbstractProperty.cpp.
| void AbstractProperty::disconnect | ( | const PropertyPtr & | p, | |
| bool | send = false | |||
| ) |
Definition at line 223 of file AbstractProperty.cpp.
| const PropertyPtr AbstractProperty::find | ( | const string | path | ) | [static] |
Definition at line 155 of file AbstractProperty.cpp.
| const string AbstractProperty::find | ( | const PropertyPtr & | p | ) | [static] |
Definition at line 168 of file AbstractProperty.cpp.
| const string AbstractProperty::getDecoratedName | ( | bool | includeType = true, |
|
| bool | asVector = true, |
|||
| int | vectorElement = -1, |
|||
| int | component = -1 | |||
| ) | const |
Definition at line 289 of file AbstractProperty.cpp.
| const string & AbstractProperty::getName | ( | void | ) | const |
| const shared_ptr< T > RenderTools::AbstractProperty::getNullDeletingSharedPtr | ( | void | ) | const [inline] |
Definition at line 114 of file AbstractProperty.h.
| shared_ptr< T > RenderTools::AbstractProperty::getNullDeletingSharedPtr | ( | void | ) | [inline] |
Definition at line 108 of file AbstractProperty.h.
| const shared_ptr< T > RenderTools::AbstractProperty::getNullDeletingWeakPtr | ( | void | ) | const [inline] |
Definition at line 126 of file AbstractProperty.h.
| weak_ptr< T > RenderTools::AbstractProperty::getNullDeletingWeakPtr | ( | void | ) | [inline] |
Definition at line 120 of file AbstractProperty.h.
| unsigned int AbstractProperty::getNumComponents | ( | void | ) | const [virtual] |
Definition at line 333 of file AbstractProperty.cpp.
| unsigned int AbstractProperty::getNumVectorElements | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::VectorProperty< T >.
Definition at line 329 of file AbstractProperty.cpp.
| const PropertyContainerPtr AbstractProperty::getOwner | ( | void | ) | const |
Definition at line 277 of file AbstractProperty.cpp.
| const string & AbstractProperty::getPath | ( | void | ) | const |
| const void * AbstractProperty::getPointer | ( | unsigned int | offset | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >, and RenderTools::StringProperty.
Definition at line 325 of file AbstractProperty.cpp.
| AbstractProperty::SemanticMask AbstractProperty::getSemantic | ( | void | ) | const |
Definition at line 308 of file AbstractProperty.cpp.
| const shared_ptr< T > RenderTools::AbstractProperty::getSharedPtr | ( | void | ) | const [inline] |
Definition at line 102 of file AbstractProperty.h.
| shared_ptr< T > RenderTools::AbstractProperty::getSharedPtr | ( | void | ) | [inline] |
Definition at line 96 of file AbstractProperty.h.
| const string AbstractProperty::getTypeName | ( | bool | ofComponent = false |
) | const [virtual] |
Reimplemented in RenderTools::AbstractApplication, RenderTools::Camera, RenderTools::Framebuffer, RenderTools::Image, RenderTools::Program, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, RenderTools::AbstractCurve, RenderTools::Circle, RenderTools::Curve< T >, RenderTools::Ellipsoid, RenderTools::Plane, RenderTools::Rendernode, RenderTools::TextNode, RenderTools::Renderpass, RenderTools::Sampler, RenderTools::Stateset, RenderTools::TransformNode, RenderTools::Vertexbuffer, RenderTools::ViewController, RenderTools::ContainerProperty, RenderTools::EnumProperty< T >, RenderTools::PointerProperty< T >, RenderTools::PropertyProxy< T >, RenderTools::StringProperty, and RenderTools::VectorProperty< T >.
Definition at line 285 of file AbstractProperty.cpp.
| const string AbstractProperty::getValue | ( | int | vectorElement = -1 |
) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >, RenderTools::PropertyProxy< T >, RenderTools::StringProperty, and RenderTools::VectorProperty< T >.
Definition at line 317 of file AbstractProperty.cpp.
| const weak_ptr< T > RenderTools::AbstractProperty::getWeakPtr | ( | void | ) | const [inline] |
Definition at line 90 of file AbstractProperty.h.
| weak_ptr< T > RenderTools::AbstractProperty::getWeakPtr | ( | void | ) | [inline] |
Definition at line 84 of file AbstractProperty.h.
| bool AbstractProperty::isBoolean | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >.
Definition at line 353 of file AbstractProperty.cpp.
| bool AbstractProperty::isContainer | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::ContainerProperty.
Definition at line 337 of file AbstractProperty.cpp.
| bool AbstractProperty::isEnum | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::EnumProperty< T >.
Definition at line 361 of file AbstractProperty.cpp.
| bool AbstractProperty::isInteger | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >.
Definition at line 345 of file AbstractProperty.cpp.
| bool AbstractProperty::isMatrix | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >.
Definition at line 357 of file AbstractProperty.cpp.
| bool AbstractProperty::isMultiComponent | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >.
Definition at line 365 of file AbstractProperty.cpp.
| bool AbstractProperty::isReal | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::PointerProperty< T >.
Definition at line 349 of file AbstractProperty.cpp.
| bool AbstractProperty::isString | ( | void | ) | const [virtual] |
| bool AbstractProperty::isVector | ( | void | ) | const [virtual] |
Reimplemented in RenderTools::VectorProperty< T >.
Definition at line 369 of file AbstractProperty.cpp.
| void AbstractProperty::onInitialize | ( | void | ) | [virtual] |
Implements RenderTools::InitializeInterface.
Reimplemented in RenderTools::AbstractApplication, RenderTools::Camera, RenderTools::Framebuffer, RenderTools::Image, RenderTools::Program, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, RenderTools::AbstractCurve, RenderTools::Circle, RenderTools::Ellipsoid, RenderTools::Plane, RenderTools::Rendernode, RenderTools::TextNode, RenderTools::Renderpass, RenderTools::Sampler, RenderTools::Stateset, RenderTools::Vertexbuffer, RenderTools::ViewController, RenderTools::AbstractPropertyContainer, RenderTools::EnumProperty< T >, RenderTools::PointerProperty< T >, RenderTools::PropertyContainer< T >, RenderTools::PropertyProxy< T >, RenderTools::PropertyProxyContainer< T >, RenderTools::StringProperty, RenderTools::VectorProperty< T >, and RenderTools::PropertyContainer< PropertyProxy< T > >.
Definition at line 237 of file AbstractProperty.cpp.
| void AbstractProperty::onPropertyEvent | ( | const PropertyEvent & | p | ) | [virtual] |
Reimplemented in RenderTools::Camera, RenderTools::Image, RenderTools::RelationalNode, RenderTools::Renderbuffer, RenderTools::Rendergroup, and RenderTools::AbstractPropertyContainer.
Definition at line 229 of file AbstractProperty.cpp.
| void AbstractProperty::recalculatePath | ( | void | ) | [virtual] |
Reimplemented in RenderTools::AbstractPropertyContainer.
Definition at line 56 of file AbstractProperty.cpp.
| void AbstractProperty::removeEventListener | ( | const PropertyPtr & | p, | |
| bool | send = false | |||
| ) |
Definition at line 206 of file AbstractProperty.cpp.
| void AbstractProperty::removePath | ( | void | ) |
| void AbstractProperty::sendPropertyEvent | ( | const PropertyEvent & | p | ) |
| void AbstractProperty::setName | ( | const string | name | ) | [virtual] |
Reimplemented in RenderTools::AbstractPropertyContainer.
Definition at line 43 of file AbstractProperty.cpp.
| void AbstractProperty::setName | ( | const XMLNodePtr & | xml = XMLNodePtr() |
) | [virtual] |
Reimplemented in RenderTools::AbstractPropertyContainer.
Definition at line 19 of file AbstractProperty.cpp.
| void AbstractProperty::setOwner | ( | const PropertyContainerPtr & | owner | ) | [virtual] |
unregister the pointer
set the owner (now the path changes)
re-register the pointer with the new path
Reimplemented in RenderTools::AbstractPropertyContainer.
Definition at line 265 of file AbstractProperty.cpp.
| void AbstractProperty::setSemantic | ( | SemanticMask | semantic | ) |
| bool AbstractProperty::setValue | ( | const string | value, | |
| int | vectorElement = -1 | |||
| ) | [virtual] |
Reimplemented in RenderTools::PointerProperty< T >, RenderTools::PropertyProxy< T >, RenderTools::StringProperty, and RenderTools::VectorProperty< T >.
Definition at line 321 of file AbstractProperty.cpp.
| void AbstractProperty::storePath | ( | void | ) |
Definition at line 73 of file AbstractProperty.cpp.
| const XMLNodePtr AbstractProperty::toXML | ( | const XMLNodePtr & | parent = XMLNodePtr() |
) | const [virtual] |
a 'flat' property (ie not a container) is described by it's name as tag and the value from getValue() in the attribute 'value' <m_name type="getTypeName()" value="">
Reimplemented in RenderTools::AbstractPropertyContainer.
Definition at line 178 of file AbstractProperty.cpp.
| const string AbstractProperty::tracePath | ( | void | ) | const |
| ostream& operator<< | ( | ostream & | os, | |
| const AbstractProperty & | rhs | |||
| ) | [friend] |
Definition at line 373 of file AbstractProperty.cpp.
| const istream& operator>> | ( | const istream & | is, | |
| AbstractProperty & | rhs | |||
| ) | [friend] |
Definition at line 377 of file AbstractProperty.cpp.
Definition at line 139 of file AbstractProperty.h.
string RenderTools::AbstractProperty::m_name [protected] |
Definition at line 137 of file AbstractProperty.h.
Definition at line 135 of file AbstractProperty.h.
string RenderTools::AbstractProperty::m_path [protected] |
Definition at line 136 of file AbstractProperty.h.
Definition at line 138 of file AbstractProperty.h.
unsigned long AbstractProperty::s_counter = 0 [static, protected] |
Definition at line 143 of file AbstractProperty.h.
map< string, PropertyWeakPtr > AbstractProperty::s_paths [static, protected] |
Definition at line 142 of file AbstractProperty.h.
map< AbstractProperty *, string > RenderTools::AbstractProperty::s_pointers [static, protected] |
Definition at line 141 of file AbstractProperty.h.
1.5.8