HI,

I want to make a copy of an existing node and all it's children, and
then find all the geometry and make it transparent.

I do something like

osg::ref_ptr<osg::Node> copyA = new osg::Node(*A,
osg::CopyOp::DEEP_COPY_ALL);

where A is the original Node tree.

If I try to use the findNodeVisitor:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
"Geode");
copyA->accept(nv);
std::vector<osg::Node*> nodeList = nv.getNodeList();
int length = nodeList.size();

then length is 0.

If I do the same with the original node:

findNodeVisitor nv(FINDNODETYPE_NODETYPE|FINDNODETYPE_FINDALL,
"Geode");
A->accept(nv);
std::vector<osg::Node*> nodeList = nv.getNodeList();
int length = nodeList.size();

then length is 32.

Also if I try to cast the copyA to a osg::Group* I get a null pointer:

osg::Group* temp = dynamic_cast<osg::Group*>(copyA);

temp is a null pointer.

So did I miss a step somewhere?

Judie






_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to