Bear with me guys, I'm just starting to feel my way around OSG/C++. I did what Robert suggested and went from osg::Group* to osg::ref_ptr<osg::Group>* and a buncha polymorphic type errors came up that to fix I changed my toolTrans from a PAT* to an osg::ref_ptr<osg::PositionAttitudeTransform>*. Now I can no longer use ->replaceChild(). Where do I go from here? Thanks.

From: "Robert Osfield" <[EMAIL PROTECTED]>
Reply-To: osg users <[email protected]>
To: "osg users" <[email protected]>
Subject: Re: [osg-users] Problem with PositionAttitudeTransform'sreplaceChild()
Date: Wed, 19 Jul 2006 19:29:21 +0100

Are you using ref_pr<Node> for pointers to the Groups your are
managing? If not there is you problem.

On 7/19/06, N. Farr <[EMAIL PROTECTED]> wrote:
Hello all,

I have a number of pointers to several osg::Groups that I am making children
of a PositionAttitudeTransform by using replaceChild on the PAT. It works
fine until I try to go back to the Group that started out as the initial
child of the PAT, in which case the program crashes with a memory violation.
Right now, I have to recreate the osg::Groups (actually pointers to
osg::Groups) from scratch, and because I cann't delete a pointer to an
osg::Group (error C2248: 'osg::Group::Group' : cannot access protected
member declared in class 'osg::Group') I have a memory leak. Any ideas how
to get replaceChild not to crash? Is there another way of doing this?

Here's my code:
//All tools are osg::Group* and toolTrans is a PAT*
if (currentTool == tool1) nextTool = tool2;
else if (currentTool == tool2) nextTool = tool3;
else if (currentTool == tool3) nextTool = tool4;
else if (currentTool == tool4) nextTool = tool1;
toolTrans->replaceChild(dynamic_cast<osg::Node*> (currentTool),
dynamic_cast<osg::Node*> (nextTool)); //CRASHES HERE ONLY WHEN GOING FROM
tool4 to tool1.
currentTool = nextTool;

Thanks all.

_________________________________________________________________
Play Q6 for your chance to WIN great prizes.
http://q6trivia.imagine-live.com/enca/landing

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_________________________________________________________________
Play Q6 for your chance to WIN great prizes. http://q6trivia.imagine-live.com/enca/landing

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to