Hello Andy, Andy Bartz wrote: > I have a virtual model consisting of different .obj gometries using > openSG. I already managed to find out the hit triangle Index and it's > related obj Object, by clicking in my virtual scene. > > What I'm trying to do is let the user select a number of connected > triangles of one .obj Object. After that I want to create a new geometry > object consisting only of the selected triangles, without changing the > original geometry.
the triangle index from the IntersectAction can be used together with a TriangleIterator to get all relevant properties of the triangle (positions, normals, colors, texcoords, ...). > Therefore I kind of need to "copy" the selected triangles somehow. since the TriangleIterator gives you access to all the information about the triangles you can create a new Geometry and add the needed positions, normals, etc. to it. > Is there an easy way to achieve that? hm, there is no helper function to make partial copies of geometry in the way you need it - such a use case has not come up yet. The basic steps would look somewhat like this: // triIdx is the triangle index from the IntersectAction TriangleIterator triIt = geo->beginTriangles(); triIt.seek(triIdx); // triIt 'points' at the hit triangle GeometryRefPtr geoCopy = Geometry::create(); GeoPnt3fPropertyRefPtr pnts = GeoPnt3fProperty::create(); pnts->addValue(triIt.getPosition(0)); pnts->addValue(triIt.getPosition(1)); pnts->addValue(triIt.getPosition(2)); // similar for normals, etc. // you also need to set lengths and types on the geometry (please see // the tutorial <http://www.opensg.org/wiki/Tutorial/OpenSG2/Geometry> // for details on the geometries workings). // add the new geometry to the scene graph NodeRefPtr geoCopyN = makeNodeFor(geoCopy); rootNode->addChild(geoCopyN); Cheers, Carsten ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users