simgear  3.5.0 [next] git://gitorious.org/fg/simgear.git
SimGear - Simulator Construction Tools
SGPropertyNode Class Reference

#include <props.hxx>

Inheritance diagram for SGPropertyNode:
SGReferenced

Public Types

enum  { MAX_STRING_LEN = 1024 }
 
enum  Attribute {
  NO_ATTR = 0, READ = 1, WRITE = 2, ARCHIVE = 4,
  REMOVED = 8, TRACE_READ = 16, TRACE_WRITE = 32, USERARCHIVE = 64,
  PRESERVE = 128
}
 

Public Member Functions

 SGPropertyNode ()
 
 SGPropertyNode (const SGPropertyNode &node)
 
virtual ~SGPropertyNode ()
 
void addChangeListener (SGPropertyChangeListener *listener, bool initial=false)
 
SGPropertyNodeaddChild (const char *name, int min_index=0, bool append=true)
 
SGPropertyNodeaddChild (const std::string &name, int min_index=0, bool append=true)
 
simgear::PropertyList addChildren (const std::string &name, size_t count, int min_index=0, bool append=true)
 
bool alias (SGPropertyNode *target)
 
bool alias (const char *path)
 
bool alias (const std::string &path)
 
void clearValue ()
 
void fireChildAdded (SGPropertyNode *child)
 
void fireChildRemoved (SGPropertyNode *child)
 
void fireChildrenRemovedRecursive ()
 
void fireCreatedRecursive (bool fire_self=false)
 
void fireValueChanged ()
 
SGPropertyNodegetAliasTarget ()
 
const SGPropertyNodegetAliasTarget () const
 
bool getAttribute (Attribute attr) const
 
int getAttributes () const
 
bool getBoolValue () const
 
bool getBoolValue (const char *relative_path, bool defaultValue=false) const
 
bool getBoolValue (const std::string &relative_path, bool defaultValue=false) const
 
SGPropertyNodegetChild (int position)
 
const SGPropertyNodegetChild (int position) const
 
SGPropertyNodegetChild (const char *name, int index=0, bool create=false)
 
SGPropertyNodegetChild (const std::string &name, int index=0, bool create=false)
 
const SGPropertyNodegetChild (const char *name, int index=0) const
 
const SGPropertyNodegetChild (const std::string &name, int index=0) const
 
simgear::PropertyList getChildren (const char *name) const
 
simgear::PropertyList getChildren (const std::string &name) const
 
template<typename T , typename T_get >
std::vector< T > getChildValues (const std::string &name) const
 
template<typename T >
std::vector< T > getChildValues (const std::string &name) const
 
std::string getDisplayName (bool simplify=false) const
 
double getDoubleValue () const
 
double getDoubleValue (const char *relative_path, double defaultValue=0.0) const
 
double getDoubleValue (const std::string &relative_path, double defaultValue=0.0) const
 
float getFloatValue () const
 
float getFloatValue (const char *relative_path, float defaultValue=0.0f) const
 
float getFloatValue (const std::string &relative_path, float defaultValue=0.0f) const
 
int getIndex () const
 
int getIntValue () const
 
int getIntValue (const char *relative_path, int defaultValue=0) const
 
int getIntValue (const std::string &relative_path, int defaultValue=0) const
 
long getLongValue () const
 
long getLongValue (const char *relative_path, long defaultValue=0L) const
 
long getLongValue (const std::string &relative_path, long defaultValue=0L) const
 
const char * getName () const
 
const std::string & getNameString () const
 
SGPropertyNodegetNode (const char *relative_path, bool create=false)
 
SGPropertyNodegetNode (const std::string &relative_path, bool create=false)
 
SGPropertyNodegetNode (const char *relative_path, int index, bool create=false)
 
SGPropertyNodegetNode (const std::string &relative_path, int index, bool create=false)
 
const SGPropertyNodegetNode (const char *relative_path) const
 
const SGPropertyNodegetNode (const std::string &relative_path) const
 
const SGPropertyNodegetNode (const char *relative_path, int index) const
 
const SGPropertyNodegetNode (const std::string &relative_path, int index) const
 
SGPropertyNodegetParent ()
 
const SGPropertyNodegetParent () const
 
std::string getPath (bool simplify=false) const
 
SGPropertyNodegetRootNode ()
 
const SGPropertyNodegetRootNode () const
 
const char * getStringValue () const
 
const char * getStringValue (const char *relative_path, const char *defaultValue="") const
 
const char * getStringValue (const std::string &relative_path, const char *defaultValue="") const
 
simgear::props::Type getType () const
 
simgear::props::Type getType (const char *relative_path) const
 
simgear::props::Type getType (const std::string &relative_path) const
 
template<typename T >
getValue (typename boost::enable_if_c< simgear::props::PropertyTraits< T >::Internal >::type *dummy=0) const
 
template<typename T >
getValue (typename boost::disable_if_c< simgear::props::PropertyTraits< T >::Internal >::type *dummy=0) const
 
bool hasChild (const char *name, int index=0) const
 
bool hasChild (const std::string &name, int index=0) const
 
bool hasValue () const
 
bool hasValue (const char *relative_path) const
 
bool hasValue (const std::string &relative_path) const
 
bool interpolate (const std::string &type, const SGPropertyNode &target, double duration=0.6, const std::string &easing="swing")
 
bool interpolate (const std::string &type, const simgear::PropertyList &values, const double_list &deltas, const std::string &easing="swing")
 
bool isAlias () const
 
bool isTied () const
 
bool isTied (const char *relative_path) const
 
bool isTied (const std::string &relative_path) const
 
int nChildren () const
 
int nListeners () const
 
std::ostream & printOn (std::ostream &stream) const
 
void removeAllChildren ()
 
void removeChangeListener (SGPropertyChangeListener *listener)
 
bool removeChild (SGPropertyNode *node)
 
SGPropertyNode_ptr removeChild (int pos)
 
SGPropertyNode_ptr removeChild (const char *name, int index=0)
 
SGPropertyNode_ptr removeChild (const std::string &name, int index=0)
 
simgear::PropertyList removeChildren (const char *name)
 
simgear::PropertyList removeChildren (const std::string &name)
 
void setAttribute (Attribute attr, bool state)
 
void setAttributes (int attr)
 
bool setBoolValue (bool value)
 
bool setBoolValue (const char *relative_path, bool value)
 
bool setBoolValue (const std::string &relative_path, bool value)
 
bool setDoubleValue (double value)
 
bool setDoubleValue (const char *relative_path, double value)
 
bool setDoubleValue (const std::string &relative_path, double value)
 
bool setFloatValue (float value)
 
bool setFloatValue (const char *relative_path, float value)
 
bool setFloatValue (const std::string &relative_path, float value)
 
bool setIntValue (int value)
 
bool setIntValue (const char *relative_path, int value)
 
bool setIntValue (const std::string &relative_path, int value)
 
bool setLongValue (long value)
 
bool setLongValue (const char *relative_path, long value)
 
bool setLongValue (const std::string &relative_path, long value)
 
bool setStringValue (const char *value)
 
bool setStringValue (const std::string &value)
 
bool setStringValue (const char *relative_path, const char *value)
 
bool setStringValue (const char *relative_path, const std::string &value)
 
bool setStringValue (const std::string &relative_path, const char *value)
 
bool setStringValue (const std::string &relative_path, const std::string &value)
 
bool setUnspecifiedValue (const char *value)
 
bool setUnspecifiedValue (const char *relative_path, const char *value)
 
template<typename T >
bool setValue (const T &val, typename boost::enable_if_c< simgear::props::PropertyTraits< T >::Internal >::type *dummy=0)
 
template<typename T >
bool setValue (const T &val, typename boost::disable_if_c< simgear::props::PropertyTraits< T >::Internal >::type *dummy=0)
 
template<int N>
bool setValue (const char(&val)[N])
 
template<typename T >
bool setValueReadOnly (const std::string &relative_path, const T &value)
 
template<typename T >
bool tie (const SGRawValue< T > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< bool > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< bool > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< int > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< int > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< long > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< long > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< float > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< float > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< double > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< double > &rawValue, bool useDefault=true)
 
bool tie (const char *relative_path, const SGRawValue< const char * > &rawValue, bool useDefault=true)
 
bool tie (const std::string &relative_path, const SGRawValue< const char * > &rawValue, bool useDefault=true)
 
template<>
bool tie (const SGRawValue< const char * > &rawValue, bool useDefault)
 
bool unalias ()
 
bool untie ()
 
bool untie (const char *relative_path)
 
bool untie (const std::string &relative_path)
 

Static Public Member Functions

static bool compare (const SGPropertyNode &lhs, const SGPropertyNode &rhs)
 
static unsigned count (const SGReferenced *ref)
 
static unsigned get (const SGReferenced *ref)
 
static simgear::PropertyInterpolationMgrgetInterpolationMgr ()
 
static unsigned put (const SGReferenced *ref)
 
static void setInterpolationMgr (simgear::PropertyInterpolationMgr *mgr)
 
static bool shared (const SGReferenced *ref)
 

Static Public Attributes

static const int LAST_USED_ATTRIBUTE = PRESERVE
 

Protected Member Functions

 SGPropertyNode (const std::string &name, int index, SGPropertyNode *parent)
 
template<typename Itr >
 SGPropertyNode (Itr begin, Itr end, int index, SGPropertyNode *parent)
 
SGPropertyNode_ptr eraseChild (simgear::PropertyList::iterator child)
 
void fireChildAdded (SGPropertyNode *parent, SGPropertyNode *child)
 
void fireChildRemoved (SGPropertyNode *parent, SGPropertyNode *child)
 
void fireValueChanged (SGPropertyNode *node)
 

Static Protected Attributes

static simgear::PropertyInterpolationMgr_interpolation_mgr = 0
 

Private Member Functions

bool get_bool () const
 
double get_double () const
 
float get_float () const
 
int get_int () const
 
long get_long () const
 
const char * get_string () const
 
template<typename Itr >
SGPropertyNodegetChildImpl (Itr begin, Itr end, int index=0, bool create=false)
 
template<typename Itr >
SGPropertyNodegetExistingChild (Itr begin, Itr end, int index)
 
const char * make_string () const
 
bool set_bool (bool value)
 
bool set_double (double value)
 
bool set_float (float value)
 
bool set_int (int value)
 
bool set_long (long value)
 
bool set_string (const char *value)
 
void trace_read () const
 
void trace_write () const
 

Private Attributes

int _attr
 
std::string _buffer
 
simgear::PropertyList _children
 
int _index
 
std::vector< SGPropertyChangeListener * > * _listeners
 
union {
   bool   bool_val
 
   double   double_val
 
   float   float_val
 
   int   int_val
 
   long   long_val
 
   char *   string_val
 
_local_val
 
std::string _name
 
SGPropertyNode_parent
 
bool _tied
 
simgear::props::Type _type
 
union {
   SGPropertyNode *   alias
 
   SGRaw *   val
 
_value
 

Friends

template<typename SplitItr >
SGPropertyNodefind_node_aux (SGPropertyNode *current, SplitItr &itr, bool create, int last_index)
 
size_t hash_value (const SGPropertyNode &node)
 

Detailed Description

A node in a property tree.

Definition at line 720 of file props.hxx.

Member Enumeration Documentation

anonymous enum

Public constants.

Enumerator
MAX_STRING_LEN 

Definition at line 727 of file props.hxx.

Access mode attributes.

The ARCHIVE attribute is strictly advisory, and controls whether the property should normally be saved and restored.

Enumerator
NO_ATTR 
READ 
WRITE 
ARCHIVE 
REMOVED 
TRACE_READ 
TRACE_WRITE 
USERARCHIVE 
PRESERVE 

Definition at line 737 of file props.hxx.

Constructor & Destructor Documentation

SGPropertyNode::SGPropertyNode ( )

Default constructor.

Default constructor: always creates a root node.

Definition at line 651 of file props.cxx.

Referenced by addChild(), addChildren(), and getChild().

SGPropertyNode::SGPropertyNode ( const SGPropertyNode node)

Copy constructor.

Definition at line 667 of file props.cxx.

SGPropertyNode::~SGPropertyNode ( )
virtual

Destructor.

Definition at line 758 of file props.cxx.

SGPropertyNode::SGPropertyNode ( const std::string &  name,
int  index,
SGPropertyNode parent 
)
protected

Protected constructor for making new nodes on demand.

Definition at line 738 of file props.cxx.

template<typename Itr >
SGPropertyNode::SGPropertyNode ( Itr  begin,
Itr  end,
int  index,
SGPropertyNode parent 
)
protected

Convenience constructor.

Definition at line 721 of file props.cxx.

Member Function Documentation

SGPropertyNode * SGPropertyNode::addChild ( const char *  name,
int  min_index = 0,
bool  append = true 
)

Create a new child node with the given name and an unused index

Parameters
min_indexMinimal index for new node (skips lower indices)
appendWhether to simply use the index after the last used index or use a lower, unused index if it exists

create a non-const child by name after the last node with the same name.

Definition at line 861 of file props.cxx.

Referenced by addChild(), simgear::canvas::Group::createChild(), simgear::PropertyBasedMgr::createElement(), anonymous_namespace{SGReaderWriterXML.cxx}::makeEffectAnimations(), sgLoad3DModel_internal(), test_addChild(), and simgear::SGTerraSync::SvnThread::writeCompletedTilesPersistentCache().

SGPropertyNode* SGPropertyNode::addChild ( const std::string &  name,
int  min_index = 0,
bool  append = true 
)
inline

Definition at line 870 of file props.hxx.

simgear::PropertyList SGPropertyNode::addChildren ( const std::string &  name,
size_t  count,
int  min_index = 0,
bool  append = true 
)

Create multiple child nodes with the given name an unused indices

Parameters
countThe number of nodes create
min_indexMinimal index for new nodes (skips lower indices)
appendWhether to simply use the index after the last used index or use a lower, unused index if it exists

Create multiple children with unused indices

Definition at line 878 of file props.cxx.

bool SGPropertyNode::alias ( SGPropertyNode target)

Alias this node's leaf value to another's.

bool SGPropertyNode::alias ( const char *  path)

Alias this node's leaf value to another's by relative path.

bool SGPropertyNode::alias ( const std::string &  path)
inline

Alias this node's leaf value to another's by relative path.

Definition at line 978 of file props.hxx.

bool SGPropertyNode::compare ( const SGPropertyNode lhs,
const SGPropertyNode rhs 
)
static

Compare two property trees. The property trees are equal if: 1) They have no children, and have the same type and the values are equal, or 2) have the same number of children, and the corresponding children in each tree are equal. "corresponding" means have the same name and index.

Attributes, removed children, and aliases aren't considered.

Definition at line 2403 of file props.cxx.

Referenced by simgear::props::Compare::operator()().

static unsigned SGReferenced::count ( const SGReferenced ref)
inlinestaticinherited
SGPropertyNode_ptr SGPropertyNode::eraseChild ( simgear::PropertyList::iterator  child)
protected

Definition at line 2262 of file props.cxx.

Referenced by removeChild().

void SGPropertyNode::fireChildAdded ( SGPropertyNode child)

Fire a child-added event to all listeners.

Definition at line 2185 of file props.cxx.

Referenced by addChild(), addChildren(), fireChildAdded(), fireCreatedRecursive(), and getChild().

void SGPropertyNode::fireChildAdded ( SGPropertyNode parent,
SGPropertyNode child 
)
protected

Definition at line 2235 of file props.cxx.

void SGPropertyNode::fireChildRemoved ( SGPropertyNode child)

Fire a child-removed event to all listeners.

Definition at line 2206 of file props.cxx.

Referenced by eraseChild(), fireChildRemoved(), fireChildrenRemovedRecursive(), and removeAllChildren().

void SGPropertyNode::fireChildRemoved ( SGPropertyNode parent,
SGPropertyNode child 
)
protected

Definition at line 2248 of file props.cxx.

void SGPropertyNode::fireChildrenRemovedRecursive ( )

Fire a child-removed event for every child of this node (Unlimited depth)

Upon removal of a child node only for this single node a child-removed event is triggered. If eg. resource cleanup relies on receiving a child-removed event for every child this method can be used.

Definition at line 2212 of file props.cxx.

Referenced by simgear::PropertyBasedMgr::childRemoved(), and fireChildrenRemovedRecursive().

void SGPropertyNode::fireCreatedRecursive ( bool  fire_self = false)

Trigger a child-added and value-changed event for every child (Unlimited depth).

Parameters
fire_selfWhether to trigger the events also for the node itself.

It can be used to simulating the creation of a property tree, eg. for (re)initializing a subsystem which is controlled through the property tree.

Definition at line 2191 of file props.cxx.

Referenced by simgear::PropertyBasedMgr::init().

void SGPropertyNode::fireValueChanged ( )

Fire a value change event to all listeners.

Definition at line 2179 of file props.cxx.

Referenced by fireCreatedRecursive(), and fireValueChanged().

void SGPropertyNode::fireValueChanged ( SGPropertyNode node)
protected

Definition at line 2223 of file props.cxx.

bool SGPropertyNode::get_bool ( ) const
inlineprivate
double SGPropertyNode::get_double ( ) const
inlineprivate
float SGPropertyNode::get_float ( ) const
inlineprivate
int SGPropertyNode::get_int ( ) const
inlineprivate
long SGPropertyNode::get_long ( ) const
inlineprivate
const char * SGPropertyNode::get_string ( ) const
inlineprivate
SGPropertyNode * SGPropertyNode::getAliasTarget ( )

Get a non-const pointer to the current alias target, if any.

Get the target of an alias.

Definition at line 845 of file props.cxx.

Referenced by writeNode().

const SGPropertyNode * SGPropertyNode::getAliasTarget ( ) const

Get a const pointer to the current alias target, if any.

Definition at line 852 of file props.cxx.

int SGPropertyNode::getAttributes ( ) const
inline

Get all of the mode attributes for the property node.

Definition at line 1119 of file props.hxx.

Referenced by simgear::effect::mergePropertyTrees(), and tie().

bool SGPropertyNode::getBoolValue ( const char *  relative_path,
bool  defaultValue = false 
) const

Get another node's value as a bool.

Get a bool value for another node.

Definition at line 1916 of file props.cxx.

bool SGPropertyNode::getBoolValue ( const std::string &  relative_path,
bool  defaultValue = false 
) const
inline

Get another node's value as a bool.

Definition at line 1378 of file props.hxx.

SGPropertyNode * SGPropertyNode::getChild ( int  position)

Get a child node by position (NOT index).

Get a non-const child by index.

Definition at line 925 of file props.cxx.

Referenced by simgear::Particles::appendParticles(), simgear::HLAPropertyDataElement::DataElementFactoryVisitor::apply(), SGPerformanceMonitor::bind(), simgear::GBufferBuilder::build(), simgear::TextureUnitBuilder::buildAttribute(), simgear::RenderBinBuilder::buildAttribute(), simgear::UniformBuilder::buildAttribute(), simgear::PointBuilder::buildAttribute(), SGMaterial::buildEffectProperties(), simgear::buildPass(), simgear::buildTechnique(), simgear::buildTexEnvCombine(), simgear::buildTexGen(), simgear::canvas::Element::canApplyStyle(), anonymous_namespace{SGMaterialAnimation.cxx}::ColorSpec::ColorSpec(), SGMaterialAnimation::createAnimationGroup(), simgear::SGBuildingBin::createBuildingsGroup(), simgear::HLAPropertyDataElement::DataElementFactoryVisitor::ArrayDataElementFactory::createElement(), simgear::HLAPropertyDataElement::DataElementFactoryVisitor::VariantRecordDataElementFactory::createElement(), simgear::createForest(), PropsVisitor::endElement(), SGBinding::fire(), simgear::canvas::Map::geoNodeChanged(), getChild(), simgear::getColor(), SGAnimation::getCondition(), simgear::getEffectPropertyChild(), simgear::getEffectPropertyNode(), simgear::getGlobalProperty(), simgear::pkg::Catalog::getLocalisedString(), simgear::pkg::Package::getLocalisedString(), simgear::canvas::Element::getMatrix(), hasChild(), PropsVisitor::State::hasChildren(), SGXmlSound::init(), simgear::SGTerraSync::SvnThread::initCompletedTilesPersistentCache(), simgear::StateMachine::initFromPlist(), simgear::instantiateEffects(), isArchivable(), SGMaterialLib::load(), makeChild(), simgear::makeChildList(), simgear::makeEffect(), anonymous_namespace{SGReaderWriterXML.cxx}::makeEffectAnimations(), simgear::makeParametersFromStateSet(), simgear::pkg::Package::matches(), simgear::effect::mergePropertyTrees(), simgear::pkg::Catalog::parseProps(), printRating(), anonymous_namespace{SGMaterialAnimation.cxx}::PropSpec::PropSpec(), SGBinding::read(), SGMaterial::read_properties(), read_value(), readAndConditions(), simgear::expression::Parser::readChildren(), readComparison(), readNotCondition(), SGAnimation::readOffsetValue(), readOptionalBindingList(), readOrConditions(), SGPerformanceMonitor::reportTiming(), simgear::canvas::Element::setClip(), simgear::canvas::GeoNodePair::setScreenPos(), SGLightAnimation::SGLightAnimation(), SGReadExpression(), SGReadNaryOperands(), SGShaderAnimation::SGShaderAnimation(), PropsVisitor::startElement(), test_addChild(), test_property_nodes(), testParse(), simgear::canvas::Element::update(), anonymous_namespace{SGMaterialAnimation.cxx}::UpdateCallback::UpdateCallback(), SGTimedAnimation::UpdateCallback::UpdateCallback(), SGPickAnimation::VncCallback::VncCallback(), and writeNode().

const SGPropertyNode * SGPropertyNode::getChild ( int  position) const

Get a const child node by position (NOT index).

Get a const child by index.

Definition at line 938 of file props.cxx.

SGPropertyNode * SGPropertyNode::getChild ( const char *  name,
int  index = 0,
bool  create = false 
)

Get a child node by name and index.

Get a non-const child by name and index, creating if necessary.

Definition at line 952 of file props.cxx.

SGPropertyNode * SGPropertyNode::getChild ( const std::string &  name,
int  index = 0,
bool  create = false 
)

Definition at line 958 of file props.cxx.

const SGPropertyNode * SGPropertyNode::getChild ( const char *  name,
int  index = 0 
) const

Get a const child node by name and index.

Get a const child by name and index.

Definition at line 977 of file props.cxx.

const SGPropertyNode* SGPropertyNode::getChild ( const std::string &  name,
int  index = 0 
) const
inline

Get a const child node by name and index.

Definition at line 903 of file props.hxx.

template<typename Itr >
SGPropertyNode * SGPropertyNode::getChildImpl ( Itr  begin,
Itr  end,
int  index = 0,
bool  create = false 
)
private

Definition at line 249 of file props.cxx.

Referenced by find_node_aux(), and getChild().

simgear::PropertyList SGPropertyNode::getChildren ( const std::string &  name) const
inline

Get a vector of all children with the specified name.

Definition at line 915 of file props.hxx.

template<typename T , typename T_get >
std::vector< T > SGPropertyNode::getChildValues ( const std::string &  name) const

Get a list of values from all children with the given name

Definition at line 1994 of file props.hxx.

Referenced by simgear::canvas::Path::update().

template<typename T >
std::vector< T > SGPropertyNode::getChildValues ( const std::string &  name) const
inline

Get a list of values from all children with the given name

Definition at line 2007 of file props.hxx.

std::string SGPropertyNode::getDisplayName ( bool  simplify = false) const

Get the node's pretty display name, with subscript when needed.

Definition at line 1075 of file props.cxx.

Referenced by simgear::canvas::Group::childRemoved().

double SGPropertyNode::getDoubleValue ( const char *  relative_path,
double  defaultValue = 0.0 
) const

Get another node's value as a double.

Get a double value for another node.

Definition at line 1964 of file props.cxx.

double SGPropertyNode::getDoubleValue ( const std::string &  relative_path,
double  defaultValue = 0.0 
) const
inline

Get another node's value as a double.

Definition at line 1432 of file props.hxx.

template<typename Itr >
SGPropertyNode * SGPropertyNode::getExistingChild ( Itr  begin,
Itr  end,
int  index 
)
inlineprivate

Definition at line 239 of file props.cxx.

Referenced by getChild().

float SGPropertyNode::getFloatValue ( const char *  relative_path,
float  defaultValue = 0.0f 
) const

Get another node's value as a float.

Get a float value for another node.

Definition at line 1952 of file props.cxx.

float SGPropertyNode::getFloatValue ( const std::string &  relative_path,
float  defaultValue = 0.0f 
) const
inline

Get another node's value as a float.

Definition at line 1418 of file props.hxx.

simgear::PropertyInterpolationMgr * SGPropertyNode::getInterpolationMgr ( )
static

Get the interpolation manager

Definition at line 1698 of file props.cxx.

int SGPropertyNode::getIntValue ( const char *  relative_path,
int  defaultValue = 0 
) const

Get another node's value as an int.

Get an int value for another node.

Definition at line 1928 of file props.cxx.

int SGPropertyNode::getIntValue ( const std::string &  relative_path,
int  defaultValue = 0 
) const
inline

Get another node's value as an int.

Definition at line 1391 of file props.hxx.

long SGPropertyNode::getLongValue ( ) const
long SGPropertyNode::getLongValue ( const char *  relative_path,
long  defaultValue = 0L 
) const

Get another node's value as a long int.

Get a long value for another node.

Definition at line 1940 of file props.cxx.

long SGPropertyNode::getLongValue ( const std::string &  relative_path,
long  defaultValue = 0L 
) const
inline

Get another node's value as a long int.

Definition at line 1405 of file props.hxx.

SGPropertyNode * SGPropertyNode::getNode ( const char *  relative_path,
bool  create = false 
)

Get a pointer to another node by relative path.

Definition at line 1855 of file props.cxx.

Referenced by simgear::effect::EffectExtendedPropListener< T, Func >::activate(), simgear::Particles::appendParticles(), SGText::appendText(), simgear::SGTerraSync::bind(), simgear::canvas::Image::childChanged(), anonymous_namespace{SGMaterialAnimation.cxx}::ColorSpec::ColorSpec(), SGMaterialAnimation::createAnimationGroup(), simgear::PropertyBasedElement::get(), getBoolValue(), simgear::PropertyBasedElement::getDataProp(), getDoubleValue(), simgear::getEffectPropertyNode(), getFloatValue(), getIntValue(), getLightEffect(), getLongValue(), getNode(), getStringValue(), getType(), hasValue(), SGXmlSound::init(), simgear::StateMachine::initFromPlist(), SGLightAnimation::install(), isTied(), simgear::makeNode(), simgear::PropertyObjectBase::node(), SGLightAnimation::UpdateCallback::operator()(), simgear::propertyExpressionParser(), anonymous_namespace{SGMaterialAnimation.cxx}::PropSpec::PropSpec(), read_interpolation_table(), read_value(), SGTexTransformAnimation::readValue(), simgear::PropertyBasedElement::set(), setBoolValue(), setDoubleValue(), setFloatValue(), setIntValue(), SGComparisonCondition::setLeftProperty(), setLongValue(), SGComparisonCondition::setPrecisionProperty(), SGComparisonCondition::setRightProperty(), simgear::SGTerraSync::setRoot(), setStringValue(), setUnspecifiedValue(), setValueReadOnly(), sgLoad3DModel_internal(), SGPersonalityParameter< double >::SGPersonalityParameter(), SGRangeAnimation::SGRangeAnimation(), SGReadExpression(), SGScaleAnimation::SGScaleAnimation(), test_addChild(), test_property_nodes(), testAssignment(), testCreate(), testParse(), testRelative(), simgear::TiedPropertyList::Tie(), tie(), untie(), and anonymous_namespace{SGMaterialAnimation.cxx}::UpdateCallback::UpdateCallback().

SGPropertyNode* SGPropertyNode::getNode ( const std::string &  relative_path,
bool  create = false 
)
inline

Get a pointer to another node by relative path.

Definition at line 1037 of file props.hxx.

SGPropertyNode * SGPropertyNode::getNode ( const char *  relative_path,
int  index,
bool  create = false 
)

Get a pointer to another node by relative path.

This method leaves the index off the last member of the path, so that the user can specify it separately (and save some string building). For example, getNode("/bar[1]/foo", 3) is exactly equivalent to getNode("bar[1]/foo[3]"). The index provided overrides any given in the path itself for the last component.

Definition at line 1865 of file props.cxx.

SGPropertyNode* SGPropertyNode::getNode ( const std::string &  relative_path,
int  index,
bool  create = false 
)
inline

Get a pointer to another node by relative path.

This method leaves the index off the last member of the path, so that the user can specify it separately (and save some string building). For example, getNode("/bar[1]/foo", 3) is exactly equivalent to getNode("bar[1]/foo[3]"). The index provided overrides any given in the path itself for the last component.

Definition at line 1063 of file props.hxx.

const SGPropertyNode * SGPropertyNode::getNode ( const char *  relative_path) const

Get a const pointer to another node by relative path.

Definition at line 1874 of file props.cxx.

const SGPropertyNode* SGPropertyNode::getNode ( const std::string &  relative_path) const
inline

Get a const pointer to another node by relative path.

Definition at line 1075 of file props.hxx.

const SGPropertyNode * SGPropertyNode::getNode ( const char *  relative_path,
int  index 
) const

Get a const pointer to another node by relative path.

This method leaves the index off the last member of the path, so that the user can specify it separate.

Definition at line 1880 of file props.cxx.

const SGPropertyNode* SGPropertyNode::getNode ( const std::string &  relative_path,
int  index 
) const
inline

Get a const pointer to another node by relative path.

This method leaves the index off the last member of the path, so that the user can specify it separate.

Definition at line 1094 of file props.hxx.

const SGPropertyNode* SGPropertyNode::getParent ( void  ) const
inline

Get a const pointer to the node's parent.

Definition at line 818 of file props.hxx.

SGPropertyNode * SGPropertyNode::getRootNode ( )

Get a pointer to the root node.

Definition at line 1837 of file props.cxx.

Referenced by find_node(), and getRootNode().

const SGPropertyNode * SGPropertyNode::getRootNode ( ) const

Get a const pointer to the root node.

Definition at line 1846 of file props.cxx.

const char * SGPropertyNode::getStringValue ( void  ) const

Get a string value for this node.

Definition at line 1283 of file props.cxx.

Referenced by SGAnimation::animate(), simgear::Particles::appendParticles(), SGText::appendText(), SGTexTransformAnimation::appendTexTrapezoid(), simgear::CubeMapBuilder::build(), simgear::GBufferBuilder::build(), simgear::TextureUnitBuilder::buildAttribute(), simgear::ShadeModelBuilder::buildAttribute(), simgear::CullFaceBuilder::buildAttribute(), simgear::RenderBinBuilder::buildAttribute(), simgear::ShaderProgramBuilder::buildAttribute(), simgear::UniformBuilder::buildAttribute(), simgear::NameBuilder::buildAttribute(), simgear::pkg::Catalog::Downloader::checkVersion(), simgear::canvas::Image::childChanged(), anonymous_namespace{SGMaterialAnimation.cxx}::ColorSpec::ColorSpec(), simgear::anonymous_namespace{props.cxx}::compareNodeValue(), SGMaterialAnimation::createAnimationGroup(), SGShaderAnimation::createAnimationGroup(), simgear::pkg::Catalog::createFromPath(), simgear::pkg::Package::dependencies(), doComparison(), simgear::pkg::Package::downloadUrls(), simgear::extensionSupportedParser(), simgear::findAttr(), simgear::canvas::Map::geoNodeChanged(), simgear::getColor(), simgear::getEffectPropertyNode(), simgear::getGlobalProperty(), simgear::canvas::GeoNodePair::getLat(), simgear::pkg::Catalog::getLocalisedString(), simgear::pkg::Package::getLocalisedString(), simgear::canvas::GeoNodePair::getLon(), getStringValue(), SGAnimation::getType(), simgear::UniformFactoryImpl::getUniform(), hash_value(), simgear::pkg::Catalog::id(), simgear::ColorInterpolator::init(), SGXmlSound::init(), simgear::SGTerraSync::SvnThread::initCompletedTilesPersistentCache(), simgear::StateMachine::initFromPlist(), simgear::pkg::Package::initWithProps(), SGInteractionAnimation::install(), simgear::instantiateEffects(), interpolate(), simgear::canvas::Element::isStyleEmpty(), KnobSliderPickCallback::KnobSliderPickCallback(), SGMaterialLib::load(), simgear::makeCubeMapTuple(), simgear::makeEffect(), anonymous_namespace{SGReaderWriterXML.cxx}::makeEffectAnimations(), simgear::makeShaderKey(), simgear::anonymous_namespace{TextureBuilder.cxx}::makeTexTuple(), simgear::pkg::Package::matches(), simgear::pkg::Package::md5(), simgear::pkg::Package::name(), simgear::pkg::Package::nameForVariant(), simgear::pkg::Catalog::Downloader::onDone(), simgear::PropertyObject< std::string >::operator std::string(), anonymous_namespace{SGReaderWriterXML.cxx}::ExcludeInPreview::operator()(), simgear::pkg::Catalog::parseProps(), SGPickAnimation::PickCallback::PickCallback(), printPackageInfo(), simgear::propertyExpressionParser(), anonymous_namespace{SGMaterialAnimation.cxx}::PropSpec::PropSpec(), SGBinding::read(), SGMaterial::read_properties(), read_value(), readComparison(), readPropertyCondition(), SGTexTransformAnimation::readValue(), simgear::SGTerraSync::reinit(), simgear::canvas::Canvas::reloadPlacements(), simgear::ColorInterpolator::setTarget(), SGAnimation::SGAnimation(), SGLightAnimation::SGLightAnimation(), sgLoad3DModel_internal(), SGMatModel::SGMatModel(), SGNewCloud::SGNewCloud(), SGRangeAnimation::SGRangeAnimation(), SGReadExpression(), SGReadValueFromContent(), SGRotateAnimation::SGRotateAnimation(), SGScaleAnimation::SGScaleAnimation(), SGShaderAnimation::SGShaderAnimation(), SGTrackToAnimation::SGTrackToAnimation(), show_values(), testCreate(), testString(), simgear::pkg::Package::thumbnailUrls(), tie(), SGDistScaleAnimation::Transform::Transform(), SGFlashAnimation::Transform::Transform(), SGBillboardAnimation::Transform::Transform(), untie(), simgear::canvas::Canvas::update(), anonymous_namespace{SGMaterialAnimation.cxx}::UpdateCallback::UpdateCallback(), simgear::canvas::Window::valueChanged(), simgear::StateMachine::StateMachinePrivate::valueChanged(), simgear::canvas::Canvas::valueChanged(), simgear::HLAPropertyDataElement::StringDataElement::Listener::valueChanged(), simgear::BufferNameChangeListener::valueChanged(), and simgear::pkg::Package::variants().

const char * SGPropertyNode::getStringValue ( const char *  relative_path,
const char *  defaultValue = "" 
) const

Get another node's value as a string.

Get a string value for another node.

Definition at line 1976 of file props.cxx.

const char* SGPropertyNode::getStringValue ( const std::string &  relative_path,
const char *  defaultValue = "" 
) const
inline

Get another node's value as a string.

Definition at line 1446 of file props.hxx.

props::Type SGPropertyNode::getType ( const char *  relative_path) const

Get another node's type.

Get the value type for another node.

Definition at line 1905 of file props.cxx.

simgear::props::Type SGPropertyNode::getType ( const std::string &  relative_path) const
inline

Get another node's type.

Definition at line 1355 of file props.hxx.

template<typename T >
T SGPropertyNode::getValue ( typename boost::disable_if_c< simgear::props::PropertyTraits< T >::Internal >::type dummy = 0) const

Definition at line 1959 of file props.hxx.

bool SGPropertyNode::hasChild ( const std::string &  name,
int  index = 0 
) const
inline

Test whether a named child exists.

Definition at line 855 of file props.hxx.

bool SGPropertyNode::hasValue ( ) const
inline
bool SGPropertyNode::hasValue ( const char *  relative_path) const

Test whether another node has a leaf value.

Test whether another node has a value attached.

Definition at line 1894 of file props.cxx.

bool SGPropertyNode::hasValue ( const std::string &  relative_path) const
inline

Test whether another node has a leaf value.

Definition at line 1366 of file props.hxx.

bool SGPropertyNode::interpolate ( const std::string &  type,
const SGPropertyNode target,
double  duration = 0.6,
const std::string &  easing = "swing" 
)

Interpolate current value to target value within given time.

Parameters
typeType of interpolation ("numeric", "color", etc.)
targetNode containing target value
durationDuration of interpolation (in seconds)
easingEasing function (http://easings.net/)

Definition at line 1655 of file props.cxx.

bool SGPropertyNode::interpolate ( const std::string &  type,
const simgear::PropertyList values,
const double_list deltas,
const std::string &  easing = "swing" 
)

Interpolate current value to a series of values within given durations.

Parameters
typeType of interpolation ("numeric", "color", etc.)
valuesNodes containing intermediate and target values
deltasDurations for each interpolation step (in seconds)
easingEasing function (http://easings.net/)

Definition at line 1673 of file props.cxx.

bool SGPropertyNode::isAlias ( ) const
inline

Test whether the node's leaf value is aliased to another's.

Definition at line 991 of file props.hxx.

Referenced by PropsVisitor::endElement(), and writeNode().

bool SGPropertyNode::isTied ( ) const
inline

Test whether this node is bound to an external data source.

Definition at line 1327 of file props.hxx.

Referenced by isTied(), and PropsVisitor::startElement().

bool SGPropertyNode::isTied ( const char *  relative_path) const

Test whether another node is bound to an external data source.

Test whether another node is tied.

Definition at line 2059 of file props.cxx.

bool SGPropertyNode::isTied ( const std::string &  relative_path) const
inline

Test whether another node is bound to an external data source.

Definition at line 1542 of file props.hxx.

const char * SGPropertyNode::make_string ( ) const
private

Get the value as a string.

Definition at line 561 of file props.cxx.

Referenced by getStringValue(), and getValue().

int SGPropertyNode::nListeners ( ) const
inline

Get the number of listeners.

Definition at line 1658 of file props.hxx.

std::ostream & SGPropertyNode::printOn ( std::ostream &  stream) const

Print the value of the property to a stream.

Definition at line 1706 of file props.cxx.

static unsigned SGReferenced::put ( const SGReferenced ref)
inlinestaticinherited

Definition at line 46 of file SGReferenced.hxx.

void SGPropertyNode::removeAllChildren ( )

Remove all children (does not change the value of the node)

Definition at line 1060 of file props.cxx.

Referenced by simgear::PropertyBasedMgr::shutdown().

bool SGPropertyNode::removeChild ( SGPropertyNode node)

Remove child by pointer (if it is a child of this node).

Returns
true, if the node was deleted.

Definition at line 1005 of file props.cxx.

Referenced by simgear::PropertyBasedElement::destroy(), PropsVisitor::endElement(), simgear::instantiateEffects(), main(), removeChild(), removeChildren(), simgear::PropertyBasedElement::removeDataProp(), and SGBinding::~SGBinding().

SGPropertyNode_ptr SGPropertyNode::removeChild ( int  pos)

Remove child by position.

Definition at line 1020 of file props.cxx.

SGPropertyNode_ptr SGPropertyNode::removeChild ( const char *  name,
int  index = 0 
)

Remove a child node

Definition at line 1033 of file props.cxx.

SGPropertyNode_ptr SGPropertyNode::removeChild ( const std::string &  name,
int  index = 0 
)
inline

Remove a child node

Definition at line 940 of file props.hxx.

PropertyList SGPropertyNode::removeChildren ( const char *  name)

Remove all children with the specified name.

Definition at line 1047 of file props.cxx.

Referenced by simgear::instantiateEffects(), and removeChildren().

simgear::PropertyList SGPropertyNode::removeChildren ( const std::string &  name)
inline

Remove all children with the specified name.

Definition at line 951 of file props.hxx.

bool SGPropertyNode::set_bool ( bool  value)
inlineprivate
bool SGPropertyNode::set_double ( double  value)
inlineprivate
bool SGPropertyNode::set_float ( float  value)
inlineprivate
bool SGPropertyNode::set_int ( int  value)
inlineprivate
bool SGPropertyNode::set_long ( long  value)
inlineprivate
bool SGPropertyNode::set_string ( const char *  value)
inlineprivate
void SGPropertyNode::setAttribute ( Attribute  attr,
bool  state 
)
inline

Set a single mode attribute for the property node.

Definition at line 1111 of file props.hxx.

Referenced by simgear::SGTerraSync::bind(), eraseChild(), removeAllChildren(), and tie().

void SGPropertyNode::setAttributes ( int  attr)
inline

Set all of the mode attributes for the property node.

Definition at line 1125 of file props.hxx.

Referenced by PropsVisitor::endElement(), simgear::effect::mergePropertyTrees(), setValueReadOnly(), and tie().

bool SGPropertyNode::setBoolValue ( const char *  relative_path,
bool  value 
)

Set another node's value as a bool.

Set a bool value for another node.

Definition at line 1988 of file props.cxx.

bool SGPropertyNode::setBoolValue ( const std::string &  relative_path,
bool  value 
)
inline

Set another node's value as a bool.

Definition at line 1459 of file props.hxx.

bool SGPropertyNode::setDoubleValue ( const char *  relative_path,
double  value 
)

Set another node's value as a double.

Set a double value for another node.

Definition at line 2028 of file props.cxx.

bool SGPropertyNode::setDoubleValue ( const std::string &  relative_path,
double  value 
)
inline

Set another node's value as a double.

Definition at line 1507 of file props.hxx.

bool SGPropertyNode::setFloatValue ( const char *  relative_path,
float  value 
)

Set another node's value as a float.

Set a float value for another node.

Definition at line 2018 of file props.cxx.

bool SGPropertyNode::setFloatValue ( const std::string &  relative_path,
float  value 
)
inline

Set another node's value as a float.

Definition at line 1495 of file props.hxx.

void SGPropertyNode::setInterpolationMgr ( simgear::PropertyInterpolationMgr mgr)
static

Set the interpolation manager used by the interpolate methods.

Definition at line 1692 of file props.cxx.

bool SGPropertyNode::setIntValue ( const char *  relative_path,
int  value 
)

Set another node's value as an int.

Set an int value for another node.

Definition at line 1998 of file props.cxx.

bool SGPropertyNode::setIntValue ( const std::string &  relative_path,
int  value 
)
inline

Set another node's value as an int.

Definition at line 1471 of file props.hxx.

bool SGPropertyNode::setLongValue ( long  value)
bool SGPropertyNode::setLongValue ( const char *  relative_path,
long  value 
)

Set another node's value as a long int.

Set a long value for another node.

Definition at line 2008 of file props.cxx.

bool SGPropertyNode::setLongValue ( const std::string &  relative_path,
long  value 
)
inline

Set another node's value as a long int.

Definition at line 1483 of file props.hxx.

bool SGPropertyNode::setStringValue ( const std::string &  value)
inline

Set a string value for this node.

Definition at line 1236 of file props.hxx.

bool SGPropertyNode::setStringValue ( const char *  relative_path,
const char *  value 
)

Set another node's value as a string.

Set a string value for another node.

Definition at line 2038 of file props.cxx.

bool SGPropertyNode::setStringValue ( const char *  relative_path,
const std::string &  value 
)
inline

Definition at line 1516 of file props.hxx.

bool SGPropertyNode::setStringValue ( const std::string &  relative_path,
const char *  value 
)
inline

Set another node's value as a string.

Definition at line 1521 of file props.hxx.

bool SGPropertyNode::setStringValue ( const std::string &  relative_path,
const std::string &  value 
)
inline

Definition at line 1524 of file props.hxx.

bool SGPropertyNode::setUnspecifiedValue ( const char *  value)

Set a value of unspecified type for this node.

Definition at line 1603 of file props.cxx.

Referenced by PropsVisitor::endElement(), interpolate(), setUnspecifiedValue(), PropsVisitor::startElement(), and test_value().

bool SGPropertyNode::setUnspecifiedValue ( const char *  relative_path,
const char *  value 
)

Set another node's value with no specified type.

Set an unknown value for another node.

Definition at line 2048 of file props.cxx.

template<typename T >
bool SGPropertyNode::setValue ( const T &  val,
typename boost::disable_if_c< simgear::props::PropertyTraits< T >::Internal >::type dummy = 0 
)

Definition at line 2013 of file props.hxx.

template<int N>
bool SGPropertyNode::setValue ( const char(&)  val[N])
inline

Definition at line 1256 of file props.hxx.

template<typename T >
bool SGPropertyNode::setValueReadOnly ( const std::string &  relative_path,
const T &  value 
)
inline

Set relative node to given value and afterwards make read only.

Parameters
relative_pathPath to node
valueValue to set
Returns
whether value could be set

Definition at line 1270 of file props.hxx.

static bool SGReferenced::shared ( const SGReferenced ref)
inlinestaticinherited

Definition at line 50 of file SGReferenced.hxx.

template<typename T >
bool SGPropertyNode::tie ( const SGRawValue< T > &  rawValue,
bool  useDefault = true 
)

Bind this node to an external source.

Definition at line 1928 of file props.hxx.

Referenced by test_value(), simgear::TiedPropertyList::Tie(), and tie().

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< bool > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external bool source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2070 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< bool > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external bool source.

Definition at line 1554 of file props.hxx.

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< int > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external int source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2082 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< int > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external int source.

Definition at line 1568 of file props.hxx.

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< long > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external long int source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2094 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< long > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external long int source.

Definition at line 1582 of file props.hxx.

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< float > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external float source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2106 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< float > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external float source.

Definition at line 1596 of file props.hxx.

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< double > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external double source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2118 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< double > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external double source.

Definition at line 1610 of file props.hxx.

bool SGPropertyNode::tie ( const char *  relative_path,
const SGRawValue< const char * > &  rawValue,
bool  useDefault = true 
)

Bind another node to an external string source.

Tie a node reached by a relative path, creating it if necessary.

Definition at line 2130 of file props.cxx.

bool SGPropertyNode::tie ( const std::string &  relative_path,
const SGRawValue< const char * > &  rawValue,
bool  useDefault = true 
)
inline

Bind another node to an external string source.

Definition at line 1624 of file props.hxx.

bool SGPropertyNode::tie ( const SGRawValue< const char * > &  rawValue,
bool  useDefault 
)

Definition at line 1744 of file props.cxx.

void SGPropertyNode::trace_read ( ) const
private

Trace a read access.

Trace a read access for a property.

Definition at line 627 of file props.cxx.

Referenced by getBoolValue(), getDoubleValue(), getFloatValue(), getIntValue(), getLongValue(), getStringValue(), and getValue().

void SGPropertyNode::trace_write ( ) const
private

Trace a write access.

Trace a write access for a property.

Definition at line 612 of file props.cxx.

Referenced by setBoolValue(), setDoubleValue(), setFloatValue(), setIntValue(), setLongValue(), setStringValue(), setUnspecifiedValue(), and setValue().

bool SGPropertyNode::unalias ( )

Remove any alias for this node.

Remove an alias.

Definition at line 832 of file props.cxx.

bool SGPropertyNode::untie ( )

Unbind this node from any external data source.

Definition at line 1769 of file props.cxx.

Referenced by test_value(), and untie().

bool SGPropertyNode::untie ( const char *  relative_path)

Unbind another node from any external data source.

Attempt to untie another node reached by a relative path.

Definition at line 2142 of file props.cxx.

bool SGPropertyNode::untie ( const std::string &  relative_path)
inline

Unbind another node from any external data source.

Definition at line 1637 of file props.hxx.

Friends And Related Function Documentation

template<typename SplitItr >
SGPropertyNode* find_node_aux ( SGPropertyNode current,
SplitItr &  itr,
bool  create,
int  last_index 
)
friend

Definition at line 267 of file props.cxx.

size_t hash_value ( const SGPropertyNode node)
friend

Definition at line 2452 of file props.cxx.

Referenced by hash_value(), and simgear::props::Hash::operator()().

Member Data Documentation

std::string SGPropertyNode::_buffer
mutableprivate

Definition at line 1772 of file props.hxx.

int SGPropertyNode::_index
private

Definition at line 1766 of file props.hxx.

Referenced by getDisplayName(), and getIndex().

simgear::PropertyInterpolationMgr * SGPropertyNode::_interpolation_mgr = 0
staticprotected

Definition at line 1729 of file props.hxx.

Referenced by getInterpolationMgr(), interpolate(), and setInterpolationMgr().

std::vector<SGPropertyChangeListener *>* SGPropertyNode::_listeners
private
union { ... } SGPropertyNode::_local_val
std::string SGPropertyNode::_name
private

Definition at line 1767 of file props.hxx.

Referenced by getDisplayName(), getName(), getNameString(), and SGPropertyNode().

SGPropertyNode* SGPropertyNode::_parent
private

To avoid cyclic reference counting loops this shall not be a reference counted pointer

Definition at line 1770 of file props.hxx.

Referenced by fireChildAdded(), fireChildRemoved(), fireCreatedRecursive(), fireValueChanged(), getParent(), getPath(), getRootNode(), removeAllChildren(), removeChild(), and ~SGPropertyNode().

bool SGPropertyNode::_tied
private

Definition at line 1774 of file props.hxx.

Referenced by isTied(), setBoolValue(), SGPropertyNode(), tie(), and untie().

bool SGPropertyNode::alias

Alias to another node.

Alias to another node by path.

Definition at line 1779 of file props.hxx.

Referenced by alias(), SGPropertyNode(), and PropsVisitor::startElement().

bool SGPropertyNode::bool_val

Definition at line 1784 of file props.hxx.

double SGPropertyNode::double_val

Definition at line 1788 of file props.hxx.

float SGPropertyNode::float_val

Definition at line 1787 of file props.hxx.

int SGPropertyNode::int_val

Definition at line 1785 of file props.hxx.

const int SGPropertyNode::LAST_USED_ATTRIBUTE = PRESERVE
static

Last used attribute Update as needed when enum Attribute is changed

Definition at line 756 of file props.hxx.

long SGPropertyNode::long_val

Definition at line 1786 of file props.hxx.

char* SGPropertyNode::string_val

Definition at line 1789 of file props.hxx.

SGRaw* SGPropertyNode::val

Definition at line 1780 of file props.hxx.

Referenced by hash_value(), setValue(), SGPropertyNode(), and untie().


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