ok I found, I was a error in my code.
thanks a all
On 2/7/07, elekis <[EMAIL PROTECTED]> wrote:
hi all,
I made a class who have to draw a simple line (see below)
but I don't know why when I delete CLine class, the line is always visible
(but the class is well deleted)
I put the code of the class.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class CLine{
private:
osg::ref_ptr<osg::Geode> SegmentGeode;
osg::ref_ptr<osg::Geometry> SegmentGeometry;
public:
CLine( double x1,double y1,double z1, double x2,double
y2,double z2);
~CLine();
};
-----------------------------------------------------------------------------------------------------------------
CLine::CLine( double x1,double y1,double z1,
double x2,double y2,double z2){
SegmentGeode = new osg::Geode(); //
SegmentGeometry = new osg::Geometry();
SegmentGeode->addDrawable(SegmentGeometry.get());
CGeneral::instance().root->addChild(SegmentGeode.get());
osg::Vec3Array* SegmentVertices = new osg::Vec3Array;
SegmentVertices->push_back( osg::Vec3( x1, y1, z1) );
SegmentVertices->push_back( osg::Vec3( x2, y2, z2) );
SegmentGeometry->setVertexArray( SegmentVertices );
osg::DrawElementsUInt* SegmentBase = new
osg::DrawElementsUInt(osg::PrimitiveSet::LINES, 0);
SegmentBase->push_back(0);
SegmentBase->push_back(1);
SegmentGeometry->addPrimitiveSet(SegmentBase);
osg::Vec4Array* colors = new osg::Vec4Array;
colors->push_back(osg::Vec4(1.0f,1.0f,0.0f,1.0f));
SegmentGeometry->setColorArray(colors);
SegmentGeometry->setColorBinding(osg::Geometry::BIND_PER_VERTEX);
CGeneral::instance().root->addChild(SegmentGeode.get());
}
CLine::~CLine(){
CGeneral::instance().root->removeChild(SegmentGeode.get());
SegmentGeode = 0;
}
THANKS;
a++++
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/