An SGRawBase class has been added as a base class to the SGRawValue
hierarchy so that SGPropertyValue functions don't necessarily need to
know the type of the value stored in the node.
A new SGRawValueContainer class stores properties that shouldn't be
stored in the node itself. PropertyTraits indicates if a type is
stored in the property node or externally.
Add getValue and SetValue template member functions to SGPropertyNode.
Read and write new extended properties.
Rearrange props.hxx a bit so that the template magic actually works.
Split out extended raw value virtual functions into a seperate base class.
SGRawExtended is chosen as a base class of SGRawValue for extended property
types.
Change most uses of the SGPropertyNode _value union to use static_cast.
Move SGPropertyNode::Type out of the class into simgear::props namespace. Add
a PropertyTraits class so that templates can calculate the property type tag
based on a C++ type.
In destructor, delete _value.val if it is not 0 (and the property is not
aliased).
Extend SGAtomic with atomic exchange and add.
Import updates from the original implementation of that in OpenFDM.
Modified Files:
Makefile.am SGAtomic.cxx SGAtomic.hxx SGReferenced.hxx
SGSharedPtr.hxx
Added Files:
SGWeakPtr.hxx SGWeakReferenced.hxx
Make sg_throwable inherit from std::exception.
change exception objects to contain C strings: exception objects should not
include objects, like std::string, whose copy constructor could throw.
Move call of SGModelData::modelLoaded directly into the xml reader.
Modified Files:
simgear/scene/model/SGPagedLOD.cxx
simgear/scene/model/modellib.hxx
simgear/scene/model/modellib.cxx
simgear/scene/model/SGReaderWriterXML.cxx
Should make the Nasal code for some xml models work again.
Modified Files:
simgear/scene/model/SGPagedLOD.cxx
simgear/scene/model/SGReaderWriterXML.cxx
simgear/scene/model/modellib.cxx
simgear/scene/model/modellib.hxx
support cartesian waypoints and compute distance off a cartesian route.
Add a helper to access the total route distance.
Should not cause any visible functionality change.
for the modelLoaded call. MAy be this needs to be revisited, but in any
case better than constant zero.
Modified Files:
simgear/scene/model/SGPagedLOD.cxx
simgear/scene/model/modellib.cxx