distribution clean from GUI examples, these instead should live in the bazaar.
This can better accomodate the many different types of viewer that users are
developming.
on the stack thus ensure that they arn't created locally and have their
memory deleted incorrectly.
Also updated the IntersectVisitor so that it no used osg::ref_ptr<> internally
for storing all data. Have also move the IntersectState helper class to inside the
IntersectVisitor which simplifies the external interface to the class.
class now combines Cloner and DeepCopy into one class. Cloner and DeepCopy
will be removed in next commit.
Also have added osgcopy app to Demos which shows how the CopyOp have be
subclassed to create users own specific handling of copying.
Have fixed copy constructor problems in GeoSet which fix the deep copy
problem experienced yesterday.
copy constructor which takes an optional Cloner object, and the old
osg::Object::clone() has changed so that it now requires a Cloner as paramter.
This is passed on to the copy constructor to help control the shallow vs
deep copying. The old functionality of clone() which was clone of type has
been renamed to cloneType().
Updated all of the OSG to work with these new conventions, implemention all
the required copy constructors etc. A couple of areas will do shallow
copies by design, a couple of other still need to be updated to do either
shallow or deep.
Neither of the shallow or deep copy operations have been tested yet, only
the old functionality of the OSG has been checked so far, such running the
viewer on various demo datasets.
Also fixed a problem in osg::Optimize::RemoveRendundentNodesVisitor which
was not checking that Group didn't have have any attached StateSet's, Callbacks
or UserData. These checks have now been added, which fixes a bug which was
revealled by the new osgscribe demo, this related to removal of group acting
as state decorator.
method
it consistent with the rest of the osg::Matrix naming. Updated OSG
distribution to account for new name.
Added support for the STATIC/DYNAMIC osg::Transform::Type to the .osg
ASCII reader/writer plugin and the flt reader plugin.
Removed the non cost version of osg::Transform::getMatrix() as this could
by pass the dirty mechinism.
that used it, all references to the Standard C++ stream classes use the
std::ostream etc convention, all references to "using namespace std" and
"using namespace std::ostream etc" have been removed.
the functionality clear given the name. This will break user code unfortunately
so please be away of the following mapping.
osg::Matrix::makeTrans(..)?\026 -> osg::Matrix::makeTranslate(..)
osg::Matrix::makeRot(..)?\026 -> osg::Matrix::makeRotate(..)
osg::Matrix::trans(..)?\026 -> osg::Matrix::translate(..)
osg::Quat::makeRot(..)?\026 -> osg::Quat::makeRotate(..)
Also updated the rest of the OSG distribution to use the new names, and
have removed the old deprecated Matrix methods too.
Updates to the osg::Transform, adding preMult and postMult methods and
deprecating the old preRotate,preTranslate,preScale.
Updated the rest of the OSG so that it nolonger uses the deprecated
osg::Transform nodes.
Renamed osgUtil::SceneView::setGlobalState() to
osgUtil::SceneView::setGlobalStateSet() so that the name reflects its
functionality better. Updated osgGLUT::Viewer etc to cope with new
name change.
different types of optimization on the scene graph - state optimization,
flattening static transforms, combining LOD's and removing redundent groups.
The new Optimizer replaces the once seperate OptimizerStateVisitor.