[osg-users] [osgPlugins] Updating vertices properly + pick only one Geometry object
Bart Postma
B.J.J.Postma.1 at student.rug.nl
Fri Nov 13 05:51:38 PST 2009
Hello,
After spending several years writing plain OpenGL, I decided to seek it a bit higher, ending up with OSG. So I am currently working on my first project with OSG and I like. However, I have two questions that, after searching this forum and the web site, are not resolved yet.
1. My current project is developing a cloth simulation and it is working. The model consists of particles connected with springs. To visualize everything I use a Geometry object representing a triangle mesh, which I update every time step by first calling the dirtyDisplayList() function. This is not a very clean solution, but OSG is rather big and not everything has been documented, so perhaps one of you know where I should be looking for a cleaner solution. There is osgParticle and osgAnimation, though I get the impression that osgParticle has been designed for unconnected particles.
2. I want to select particles with the mouse using a pick operation and this is working now for all objects in the scene. I only need to pick the cloth's particles, but how do I let OSG only do intersection tests on the cloth's geometry? Current implementation is now:
Code:
ref_ptr<LineSegmentIntersector> intersector = new LineSegmentIntersector(Intersector::PROJECTION, x, y);
IntersectionVisitor intersectionVisitor(intersector);
viewer->getCamera()->accept(intersectionVisitor);
//Get the intersected triangle
if (intersector->containsIntersections()) {
LineSegmentIntersector::Intersection intersection = intersector->getFirstIntersection();
const LineSegmentIntersector::Intersection::IndexList& indexList = intersection.indexList;
unsigned int triangle[3];
for (unsigned int j = 0; j < 3; ++j)
triangle[j] = indexList[j];
//Add picked particle to selection
clothSelector->selectNearestParticle(triangle, intersection.getWorldIntersectPoint());
}
I hope you guys can help me out with these two issues.[/code]
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=19613#19613
More information about the osg-users
mailing list