Hello guys! 
I have run a search over the topics, but I didn't find an answer for my 
question, so here it is:

I have my own derived class called PiFaceGeometry, which is derived from 
osg::Geometry class, I use this to work with faces of solids - so I have the 
type of face - cylinder, plane, and other which I store within this class and 
also some other properties.
I have a different class called SolidComponent, which is derived from 
osg::MatrixTransform and represent machinery workpieces and tools.

The problem is that sometimes I need to clone the SolidComponent (which 
contains Geode as child with PiFaceGeometries, and can also contain other 
SolidComponents as children). I think, I need a deep copy, because sometimes I 
have to change the color of triangles, or am I wrong? The question is, how 
should I reimplement the clone() function? I looked also into the osg source 
code but I didn't understand the way, how to do this.

How can I force the program to call PiFaceGeometry::clone() if this is only a 
child of object, on which I called clone()?
I am sorry If this question is silly, I am not a good C++ programmer and I hate 
C++ :-P.

Thank you for your responses!

Cheers,
Peter
Code:

class PiFaceGeometry: public osg::Geometry {
public:
 osg::ref_ptr<osg::IntArray> edges;
 PiSurfaceType surfType;
 void changeFaceColor(osg::Vec4 color){...};
 PiFaceGeometry * clone(const osg::CopyOp &copyop ){
      //how can I reuse Geometry::Clone(), if it returns a Geometry but I need 
PiFaceGeometry?
 }
};




------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=44132#44132





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to