33#include <NDEVR/SelectionArea.h>
34#include <NDEVR/SnapController.h>
41 , e_vertex_rectangle_selection
42 , e_vertex_polygon_selection
44 , e_sub_selection_size
53 explicit SelectionController(DesignObjectLookup* manager);
54 virtual ~SelectionController(){}
55 virtual void begin()
override;
56 virtual void finish()
override;
57 virtual void cancel()
override;
58 bool isInvertedSelection()
const;
59 void setInvertedSelection(
bool is_inside);
60 void setSubSelectionMode(
const SubSelectionMode& mode);
61 uint04 addMask(
const SelectionArea<3, fltp08>& mask);
63 void setThemeCameraBackgroundColor(
const RGBColor& color);
64 void updateCameraBackgrounds();
65 void setCameraShowGrid(
bool show_grid);
66 void setCameraShowEnvironment(
bool show_grid);
67 void removeMask(uint04 mask_index);
68 void highlightMask(uint04 mask_index);
69 void clearMaskHighlight();
71 const Buffer<SelectionArea<3, fltp08>>& masks()
const;
72 void setMaskEnabled(uint04 index,
bool enabled);
74 void updateSelectionInfo();
75 SubSelectionMode subSelectionMode()
const {
return m_sub_selection_mode;}
76 TranslatedString defaultHint(
const TranslatedString& action_hint)
const;
77 String currentSelectionHint()
const;
78 virtual bool processMouseEvent(
const MouseEvent& mouse_event, DesignObjectLookup* lookup, Camera* camera)
override;
79 virtual bool processKeyEvent(
const KeyEvent& event, DesignObjectLookup* lookup, Camera* camera)
override;
81 bool selectionComplete()
const {
return m_selection_complete;}
82 UUID currentSelection()
const;
83 void clear(
bool clear_selection,
bool clear_masks);
84 void setHideMaskExclusion(
bool is_hidden);
85 bool darkensMaskExclusion()
const {
return m_darken_mask_exclusion; }
86 void darkenMaskExclusion(
bool darken);
88 void setPreModelFilter(
const std::function<
bool(
const Model&)>& pre_model_filter);
89 void setPreGeometryFilter(
const std::function<
bool(
const Model&,
const Geometry&)>& pre_geometry_filter);
90 void setSelectionFilter(
const std::function<
bool(
const Model&)>& selection_filter);
91 void setIsEditSelection(
bool is_edit_selection);
93 void setSelectionMaskInfo(
const SelectionInfo& info);
94 void updateSelectionMask();
95 void clearSelection();
98 UUID m_current_selection;
99 SelectionInfo m_selection_info;
100 SelectionInfo m_selection_mask_info;
101 SelectionInfo m_selection_highlight_info;
102 SubSelectionMode m_sub_selection_mode;
103 Buffer<UUID> m_last_mask_geometries;
104 Buffer<UUID> m_last_selection_geometries;
105 bool m_inverted_selection;
106 bool m_temp_inverted;
107 bool m_selection_complete;
108 bool m_is_edit_selection;
109 bool m_hide_mask_exclusion;
110 bool m_darken_mask_exclusion;
111 uint04 m_highlighted_mask;
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96