6#include <QtGui/QMouseEvent>
9#include <imt3dgui/CShape3dBase.h>
10#include <imt3d/CPointCloud3d.h>
17class CRulerShape:
public CShape3dBase
22 void SetSlaveShape(
const CShape3dBase* slaveShapePtr);
23 bool OnMousePress(QMouseEvent& e);
24 bool OnMouseMove(QMouseEvent& e);
25 bool OnMouseRelease(QMouseEvent& e);
29 virtual void UpdateShapeGeometry(
const istd::IChangeable::ChangeSet& changeSet)
override;
30 virtual void DrawShapeGl(QOpenGLShaderProgram& program, QOpenGLFunctions& functions)
override;
31 virtual void Draw(QPainter& painter)
override;
34 const CShape3dBase* m_slaveShapePtr;
35 int m_movingVertexIndex;
36 QPoint m_mousePrevPos;
37 static const float s_moveSpeed;
38 static const QVector3D s_color;
39 static const QVector3D s_selectionColor;
40 imt3d::IPointsBasedObject::PointXyzwRgba32* m_vertices;