功能描述如下:
1. 鼠标点击之处为圆心位置;
2. 以圆心到鼠标move的距离为半径绘圆;
3. 鼠标有点点击结束绘制;
4. 鼠标点击为新的圆心,继续下次绘制。
代码如下:drawcircle.h
class DrawCircle : public HandleAdapter
{
public:
DrawCircle(GraphicsView* view);
~DrawCircle();
protected:
virtual void slotPicked(osg::Vec3d pos);
virtual void slotMoveing(osg::Vec3d pos);
virtual void slotRightHandle();
private:
osg::Vec3d m_centerPoint;
osgEarth::Symbology::Style m_circleStyle;
osgEarth::Annotation::CircleNode* m_pCircleNode;
osgEarth::Annotation::CircleNodeEditor* m_pCircleEdit;
};
功能代码如下:drawcircle.cpp
DrawCircle::DrawCircle(GraphicsView* view)
: