9#include <istd/TRange.h>
12#include <imt3dgui/CShape3dBase.h>
13#include <imt3d/IPointCloud3d.h>
30 void SetColor(
const QVector3D& color);
31 void SetPointSize(
float pointSize);
32 void SetPointSelection(
const QPoint& selectionPoint,
bool clearPreviousSelection);
33 void SetBoxSelection(
const QRect& selectionRect,
bool clearPreviousSelection);
34 void SetCircleSelection(
const QRect& selectionRect,
bool clearPreviousSelection);
35 void ClearSelection();
37 void InvertSelection();
38 void DeleteSelection();
39 void SetInfoBoxEnabled(
bool isEnabled =
true);
43 virtual void UpdateShapeGeometry(
const istd::IChangeable::ChangeSet& changeSet)
override;
44 virtual void DrawShapeGl(QOpenGLShaderProgram& program, QOpenGLFunctions& functions)
override;
47 virtual void Draw(QPainter& painter)
override;
50 virtual QVector3D GetColor()
const override;
53 void SetRectSelection(
const QRect& selectionRect,
bool isCircle,
bool clearPreviousSelection);
55 static bool IsPointWithin(
const QPoint& point,
const QRect& rect,
bool isCircle);
58 typedef std::set<int> SelectedVerticesIndicies;
62 SelectedVerticesIndicies m_selectedVerticesIndicies;
63 bool m_isInfoBoxEnabled;
65 static const QVector3D s_selectionColor;