Added --test-NodeMask option to test crash when a parent of osgmanipulator::AntiSquish node has a NodeMask set to 0x0.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14842 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
parent
3a2380932f
commit
a583b306c5
@ -35,6 +35,7 @@
|
|||||||
#include <osgManipulator/TranslateAxisDragger>
|
#include <osgManipulator/TranslateAxisDragger>
|
||||||
#include <osgManipulator/TranslatePlaneDragger>
|
#include <osgManipulator/TranslatePlaneDragger>
|
||||||
#include <osgManipulator/RotateCylinderDragger>
|
#include <osgManipulator/RotateCylinderDragger>
|
||||||
|
#include <osgManipulator/AntiSquish>
|
||||||
|
|
||||||
#include <osg/ShapeDrawable>
|
#include <osg/ShapeDrawable>
|
||||||
#include <osg/MatrixTransform>
|
#include <osg/MatrixTransform>
|
||||||
@ -169,8 +170,6 @@ osgManipulator::Dragger* createDragger(const std::string& name)
|
|||||||
dragger = d;
|
dragger = d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return dragger;
|
return dragger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,6 +373,7 @@ osg::Node* createDemoScene(bool fixedSizeInScreen) {
|
|||||||
|
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
int main( int argc, char **argv )
|
int main( int argc, char **argv )
|
||||||
{
|
{
|
||||||
@ -407,6 +407,28 @@ int main( int argc, char **argv )
|
|||||||
// get details on keyboard and mouse bindings used by the viewer.
|
// get details on keyboard and mouse bindings used by the viewer.
|
||||||
viewer.getUsage(*arguments.getApplicationUsage());
|
viewer.getUsage(*arguments.getApplicationUsage());
|
||||||
|
|
||||||
|
|
||||||
|
if (arguments.read("--test-NodeMask"))
|
||||||
|
{
|
||||||
|
const osg::ref_ptr<osg::Group> group = new osg::Group();
|
||||||
|
group->setNodeMask(0);
|
||||||
|
|
||||||
|
const osg::ref_ptr<osgManipulator::AntiSquish> antiSquish = new osgManipulator::AntiSquish();
|
||||||
|
|
||||||
|
group->addChild(antiSquish);
|
||||||
|
|
||||||
|
const osg::ref_ptr<osg::Node> node = new osg::Node();
|
||||||
|
node->setInitialBound(osg::BoundingSphere(osg::Vec3(0.0, 0.0, 0.0), 1.0));
|
||||||
|
|
||||||
|
antiSquish->addChild(node);
|
||||||
|
|
||||||
|
group->getBound();
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// if user request help write it out to cout.
|
// if user request help write it out to cout.
|
||||||
bool helpAll = arguments.read("--help-all");
|
bool helpAll = arguments.read("--help-all");
|
||||||
unsigned int helpType = ((helpAll || arguments.read("-h") || arguments.read("--help"))? osg::ApplicationUsage::COMMAND_LINE_OPTION : 0 ) |
|
unsigned int helpType = ((helpAll || arguments.read("-h") || arguments.read("--help"))? osg::ApplicationUsage::COMMAND_LINE_OPTION : 0 ) |
|
||||||
|
Loading…
Reference in New Issue
Block a user