一、核心代码如下:
void COSGObject::isTrackFly2(bool btrack)
{
theApp.bNeedModify = TRUE;
while(!theApp.bCanModify)Sleep(1);
if(btrack)
{
em->setNode(flyAirport2);
gnodeboud2 = new osg::Geode;
osg::BoundingSphere bs = mtFlySelf2->getBound();
osg::ref_ptr<osg::ShapeDrawable> sd = new osg::ShapeDrawable(new osg::Sphere(bs.center(), bs.radius()));
sd->setColor(osg::Vec4(1.0, 1.0, 1.0, 0.2));
gnodeboud2->addDrawable(sd);
gnodeboud2->getOrCreateStateSet()->setMode(GL_BLEND, osg::StateAttribute::ON);
mtfly2->addChild(gnodeboud2);
if(gnodeboud0 != 0)
{
mtfly->removeChild(gnodeboud0);
gnodeboud0 = 0;
}
}