class BoxPicker : public osgGA::GUIEventHandler
{
public:
BoxPicker()
{
x=0.0f;
y=0.0f;
OK= false;
}
osg::observer_ptr<osg::Geometry> geometry;
virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa)
{
bool doit = false;
osgViewer::Viewer* viewer = dynamic_cast<osgViewer::Viewer*>(&aa);
if (!viewer)
{
return false;
}
if(ea.getEventType() == osgGA::GUIEventAdapter::PUSH)
{
x = ea.getXnormalized();
y = ea.getYnormalized();
x_pick = ea.getX();
y_pick = ea.getY();
OK = true;
}
if (ea.getEventType() == osgGA::GUIEventAdapter::DRAG)
{
if (OK)
{
float end_x = ea.getXnormalized();
float end_y = ea.getYnormalized();
if (geometry.valid())
{
osg::Vec3Array* vertex = new osg::Vec3Array(4);
(*vertex)[0]=osg::Vec3(x,0,y);
&
osg场景中的物体的框选
最新推荐文章于 2024-01-31 11:51:54 发布

最低0.47元/天 解锁文章
555

被折叠的 条评论
为什么被折叠?



