14 #ifndef __OP3D_InputSelectorBase_h__
15 #define __OP3D_InputSelectorBase_h__
45 class DM_HeldHotkeyCache;
104 {
return *myFinishedValue; }
106 {
return *myFinishedValue; }
111 { myPreferredSelectMode = selmode; }
113 {
return myPreferredSelectMode; }
119 {
return myAllowDragging; }
121 { myAllowDragging = on; }
126 {
return myAllowFinishingFlag; }
128 { myAllowFinishingFlag = allow_finishing;}
131 bool allowFinishWithExistingSelection()
const;
132 void setAllowFinishWithExistingSelection(
bool allow);
137 {
return myAllowQuickSelect; }
139 { myAllowQuickSelect = on; }
142 {
return myAllowEmptyQuickSelect; }
144 { myAllowEmptyQuickSelect = on; }
160 {
return myJustDisplayedOpFlag; }
162 { myJustDisplayedOpFlag = on; }
170 int hotkey_id)
override;
172 const char *
cursor()
const override;
180 {
return theAllowUseExistingSelection; }
182 { theAllowUseExistingSelection =
val; }
184 {
return theSelectFullLoops; }
186 { theSelectFullLoops =
val; }
194 static const SIM_Data *getSimModifierFromPath(
const char *
path);
198 static const char *getFloodFillSelectionHotkeyStringRef(
202 static const char *getLoopSelectionHotkeyStringRef(
208 static bool isTransitoryLoopSelectionHotkey(
214 static bool isTransitoryLoopSelectionHotkeyPressed(
215 DM_Viewport *viewport,
220 static void showLoopSelectionMessage(
221 DM_Workbench &workbench);
223 static void showSelectionHintsMessage(
224 DM_Workbench &workbench);
228 const char* prefix =
nullptr)
override;
244 void enableDrawableSelection(
bool select_drawables);
252 const DM_Workbench &
workbench()
const {
return *myWorkbench; }
255 { myFinishedValue = new_value; }
257 {
return myFinishedValue; }
260 { myLocatedValue = new_value; }
262 {
return myLocatedValue; }
265 { mySelectionStyle = new_value; }
267 {
return mySelectionStyle; }
270 if (mySelectionStyle)
272 (
int)*mySelectionStyle;
277 { myVisiblePickValue = new_value; }
279 {
return myVisiblePickValue; }
282 if(myVisiblePickValue)
283 return (
bool) *myVisiblePickValue;
288 { myContainedPickValue = new_value; }
290 {
return myContainedPickValue; }
293 if(myContainedPickValue)
294 return (
bool) *myContainedPickValue;
299 { mySelectionRule = new_value; }
301 {
return mySelectionRule; }
306 (
int)*mySelectionRule;
313 *mySelectionRule = (
int)srule;
322 bool isDragSelectActive()
const;
326 virtual bool needObjectPick()
const;
330 bool selectModeMatchesTemplateType();
335 bool *changed =
nullptr);
348 bool *changed =
nullptr);
351 virtual void saveForUndo();
356 virtual bool getPickName(
const OP3D_PickId &pickid,
358 bool descriptivename)
const = 0;
363 void disablePicker();
377 const char *echo_hotkey);
379 const char *echo_hotkey);
406 unsigned drawablePickMask(
unsigned pick_mask)
const;
407 bool filterDrawable(
const char* drawable_name)
const;
411 DM_Workbench *myWorkbench;
420 SI_RubberBox *myPickBox;
421 SI_Lasso *myPickLasso;
422 SI_Brush *myPickBrush;
423 SI_Brush *myPickLaser;
426 bool myAllowDragging;
427 bool myAllowFinishingFlag;
428 bool myAllowFinishWithExistingSelection;
429 bool myAllowQuickSelect;
430 bool myAllowEmptyQuickSelect;
431 bool myJustDisplayedOpFlag;
432 bool myActivePicking;
435 bool myCreatedPriorSelections;
437 static bool thePickingMenuOn;
438 static bool theAllowUseExistingSelection;
439 static bool theSelectFullLoops;
442 bool myDrawableSelectableFlag;
455 {
return mySelector != NULL; }
459 inline void intrusive_ptr_add_ref()
const { incref(); }
486 intrusive_ptr_add_ref(
const OP3D_InputSelectorBase::Proxy *proxy)
488 proxy->intrusive_ptr_add_ref();
494 proxy->intrusive_ptr_release();
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
static int compare(const OP3D_PickId *id1, const OP3D_PickId *id2)
GLsizei const GLchar *const * path
Temporary container for either a RV_Render and an RE_Render.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
IMATH_HOSTDEVICE constexpr int cmp(T a, T b) IMATH_NOEXCEPT
Wrapper around hboost::intrusive_ptr.
GLuint const GLchar * name
bool operator==(const OP3D_PickId &cmp) const
bool operator!=(const OP3D_PickId &cmp) const