Never mind; I solved this problem by overriding Dragger::handle         
(GUIEventAdapter &, GUIActionAdapter & )        and using a PolytopeIntersector 
in place of the LineSegmentIntersector it was using before.  This picks up my 
line geometry so I no longer need the triangle strip, and I can specify the 
polytope in screen coordinates.

Cheers,
Michael


mschan01 wrote:
> Hi,
> 
> I am trying to add a circle to my application that the user can resize by 
> dragging.  I subclassed osgManipulator::Dragger, and in 
> setupDefaultGeometry() I draw a circle with lines, then another circle with a 
> triangle strip which is then hidden (this is used as the draggable area, 
> since the intersection doesn't work too well with lines).  So if my visible 
> circle has radius R, then the triangle strip has a width W and its vertices 
> are two circles of radius R+W/2 and R-W/2.  Then on a mouse drag I calculate 
> the new radius, and apply a uniform scaling on the dragger.
> 
> This works, but it has a disadvantage in that the draggable area (W) scales 
> as well.  I'd like the draggable area to be a constant size from the visible 
> circle.  That is, I would like W to be constant in screen coordinates.  I 
> could probably accomplish this by recalculating all of the vertices after 
> each mouse release, but this seems inefficient.  Is there a better way to do 
> what I am describing?
> 
> ... 
> 
> Thank you!
> 
> Cheers,
> Michael


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





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

Reply via email to