MeVisLab Toolbox Reference
CSOManager.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 
16 
17 #pragma once
18 
19 #include "../CSOList.h"
20 
21 #include "../CSORules/CSOGroupRules.h"
22 #include "../CSORules/CSOListRules.h"
23 
24 
25 ML_START_NAMESPACE
26 
28 
33 {
34 
35 public:
36 
38  CSOManager(int numInImages=0,int numOutImages=0);
39 
41  void updateManager();
42 
47 
48 
50  inline int getSelectionPathPointColoringMode() { return _selectionPathPointColoringModeFld->getEnumValue(); }
52  inline int getSelectionPathPointWidthMode() { return _selectionPathPointWidthModeFld->getEnumValue(); }
56  void getSelectionPathPointWidth(float& origLineWidth);
57 
59  Vector3 getSelectedPathPointsFixedColor() const { return _selectionFixedPathPointColorFld->getVector3Value(); }
61  float getSelectedPathPointsBrightenValue() const { return _selectionBrightenPathPointColorFld->getFloatValue(); }
63  float getSelectedPathPointsFixedLineWidth() const { return _selectionFixedPathPointWidthFld->getFloatValue(); }
65  float getSelectedPathPointsWidenValue() const { return _selectionWidenPathPointWidthFld->getFloatValue(); }
66 
68  Vector3 getSelectedSeedPointFixedColor() const { return _selectedSeedPointFixedColorFld->getVector3Value(); }
70  float getSelectedSeedPointBrightenValue() const { return _selectedSeedPointBrightenColorFld->getFloatValue(); }
72  float getSelectedSeedPointFixedSize() const { return _selectedSeedPointSizeFld->getFloatValue(); }
74  float getSelectedSeedPointEnlargeValue() const { return _selectedSeedPointEnlargeSizeFld->getFloatValue(); }
75 
77  inline int getSelectedSeedPointColoringMode() { return _selectedSeedPointColoringModeFld->getEnumValue(); }
79  inline int getSelectedSeedPointSizeMode() { return _selectedSeedPointSizeModeFld->getEnumValue(); }
83  void getSelectedSeedPointSize(float& origSize);
84 
86 
88  std::string getCSODefaultLabel();
89 
91  inline std::string getCSODefaultDescription() const { return _csoDefaultDescriptionFld->getStringValue(); }
93  inline bool getCSODefaultShowState() const { return _csoDefaultShowStateFld->getBoolValue(); }
95  inline bool getCSODefaultVoxelizeState() const { return _csoDefaultVoxelizeStateFld->getBoolValue(); }
97  inline bool getCSODefaultEditableState() const { return _csoDefaultEditableStateFld->getBoolValue(); }
98 
100 
102  std::string getGroupDefaultLabel();
103 
105  inline std::string getGroupDefaultDescription() const { return _groupDefaultDescriptionFld->getStringValue(); }
107  inline bool getGroupDefaultUseTimePointIndex() const { return _groupDefaultUseTimePointIndexFld->getBoolValue(); }
109  inline int getGroupDefaultTimePointIndex() const { return static_cast<int>(_groupDefaultTimePointIndexFld->getIntValue()); }
111  inline bool getGroupDefaultUseShowState() const { return _groupDefaultUseShowStateFld->getBoolValue(); }
113  inline bool getGroupDefaultShowState() const { return _groupDefaultShowStateFld->getBoolValue(); }
115  inline bool getGroupDefaultUseVoxelizeState() const { return _groupDefaultUseVoxelizeStateFld->getBoolValue(); }
117  inline bool getGroupDefaultVoxelizeState() const { return _groupDefaultVoxelizeStateFld->getBoolValue(); }
119  inline bool getGroupDefaultUseEditableState() const { return _groupDefaultUseEditableStateFld->getBoolValue(); }
121  inline bool getGroupDefaultEditableState() const { return _groupDefaultEditableStateFld->getBoolValue(); }
122 
124  inline bool getGroupDefaultUsePathPointStyle() const { return _groupDefaultUsePathPointStyleFld->getBoolValue(); }
125  inline CSOPathPointsStyle getGroupDefaultPathPointStyle() const { return static_cast<CSOPathPointsStyle>(_groupDefaultPathPointStyleFld->getEnumValue()); }
127  inline bool getGroupDefaultUsePathPointWidth() const { return _groupDefaultUsePathPointWidthFld->getBoolValue(); }
128  inline float getGroupDefaultPathPointWidth() const { return _groupDefaultPathPointWidthFld->getFloatValue(); }
130  inline bool getGroupDefaultUsePathPointColor() const { return _groupDefaultUsePathPointColorFld->getBoolValue(); }
131  inline Vector3 getGroupDefaultPathPointColor() const { return _groupDefaultPathPointColorFld->getVector3Value(); }
133  inline bool getGroupDefaultUsePathPointAlpha() const { return _groupDefaultUsePathPointAlphaFld->getBoolValue(); }
134  inline float getGroupDefaultPathPointAlpha() const { return _groupDefaultPathPointAlphaFld->getFloatValue(); }
135 
137  inline bool getGroupDefaultUseSeedPointStyle() const { return _groupDefaultUseSeedPointStyleFld->getBoolValue(); }
138  inline int getGroupDefaultSeedPointStyle() const { return _groupDefaultSeedPointStyleFld->getEnumValue(); }
140  inline bool getGroupDefaultUseSeedPointSize() const { return _groupDefaultUseSeedPointSizeFld->getBoolValue(); }
141  inline float getGroupDefaultSeedPointSize() const { return _groupDefaultSeedPointSizeFld->getFloatValue(); }
143  inline bool getGroupDefaultUseSeedPointColor() const { return _groupDefaultUseSeedPointColorFld->getBoolValue(); }
144  inline Vector3 getGroupDefaultSeedPointColor() const { return _groupDefaultSeedPointColorFld->getVector3Value(); }
146  inline bool getGroupDefaultUseSeedPointAlpha() const { return _groupDefaultUseSeedPointAlphaFld->getBoolValue(); }
147  inline float getGroupDefaultSeedPointAlpha() const { return _groupDefaultSeedPointAlphaFld->getFloatValue(); }
148 
150  inline bool getGroupDefaultUseVoxelWriteMode() const { return _groupDefaultUseVoxelWriteModeFld->getBoolValue(); }
151  inline int getGroupDefaultVoxelWriteMode() const { return _groupDefaultVoxelWriteModeFld->getEnumValue(); }
153  inline bool getGroupDefaultUseVoxelWriteValue() const { return _groupDefaultUseVoxelWriteValueFld->getBoolValue(); }
154  inline float getGroupDefaultVoxelWriteValue() const { return _groupDefaultVoxelWriteValueFld->getFloatValue(); }
155 
156 
158  inline int getGroupDefaultNumMaximumCSOs() const { return static_cast<int>(_groupDefaultNumMaximumCSOsFld->getIntValue()); }
160  inline CSOGroupOverflowHandling getGroupDefaultOverflowHandling() const { return static_cast<CSOGroupOverflowHandling>(_groupDefaultOverflowHandlingFld->getEnumValue()); }
162  inline CSORemoveHandling getGroupDefaultRemoveFromGroupHandling() const { return static_cast<CSORemoveHandling>(_groupDefaultRemoveFromGroupHandlingFld->getEnumValue()); }
163  inline CSORemoveHandling getGroupDefaultDeleteGroupCSOHandling() const { return static_cast<CSORemoveHandling>(_groupDefaultDeleteGroupCSOHandlingFld->getEnumValue()); }
165  inline CSORemoveEmptyGroupHandling getDefaultRemoveEmptyGroupHandling() const { return static_cast<CSORemoveEmptyGroupHandling>(_listDefaultRemoveEmptyGroupHandlingFld->getEnumValue()); }
166 
167 protected:
168 
170  ~CSOManager() override;
171 
173  void activateAttachments() override;
174 
176  void handleNotification(Field* field) override;
177 
180 
181 private:
182 
183  /* FIELDS */
184 
186  BaseField* _outCSOListFld;
188  BaseField* _inCSOListFld;
189 
191  BaseField* _inUndoContextFld;
192 
194  BoolField* _workDirectlyOnInputCSOListFld;
196  NotifyField* _copyInputCSOListFld;
197 
199  StringField* _csoDisplayTreeFld;
201  StringField* _groupDisplayTreeFld;
203  BoolField* _shouldUpdateCsoDisplayTreeFld;
205  BoolField* _shouldUpdateGroupDisplayTreeFld;
206 
208  StringField* _csoSelectedItemsFld;
210  StringField* _groupSelectedItemsFld;
212  StringField* _groupSelectedCSOItemsFld;
214  StringField* _csoSelectedGroupItemsFld;
215 
217  BoolField* _enableUndoRedoFld;
219  NotifyField* _triggerUndoFld;
221  NotifyField* _triggerRedoFld;
223  IntField* _numUndosFld;
225  IntField* _numRedosFld;
227  IntField* _undoStackLimitFld;
228 
230  NotifyField* _addCSOtoGroupFld;
232  NotifyField* _breakCSOFromGroupFld;
233 
235  NotifyField* _removeAllCSOsAndGroupsFld;
236 
238  NotifyField* _csoRemoveSelectedFld;
240  NotifyField* _csoCopySelectedFld;
242  NotifyField* _csoPasteFld;
243 
245  NotifyField* _groupCreateNewFld;
247  BoolField* _selectLastCreatedGroupFld;
249  NotifyField* _groupRemoveSelectedFld;
251  NotifyField* _groupCopySelectedFld;
253  NotifyField* _groupPasteFld;
254 
256  TypedEnumField<CSOSelectionColoring>* _selectionPathPointColoringModeFld;
258  TypedEnumField<CSOSelectionLineWidth>* _selectionPathPointWidthModeFld;
260  FloatField* _selectionBrightenPathPointColorFld;
262  ColorField* _selectionFixedPathPointColorFld;
264  FloatField* _selectionWidenPathPointWidthFld;
266  FloatField* _selectionFixedPathPointWidthFld;
267 
269  TypedEnumField<CSOSelectedSeedPointColoring>* _selectedSeedPointColoringModeFld;
271  TypedEnumField<CSOSelectedSeedPointSize>* _selectedSeedPointSizeModeFld;
273  FloatField* _selectedSeedPointBrightenColorFld;
275  ColorField* _selectedSeedPointFixedColorFld;
277  FloatField* _selectedSeedPointEnlargeSizeFld;
279  FloatField* _selectedSeedPointSizeFld;
280 
282  IntField* _csoSingleIdFld;
284  StringField* _csoSingleLabelFld;
286  StringField* _csoSingleDescriptionFld;
287 
289  IntField* _csoSingleTimePointIndexFld;
291  BoolField* _csoSingleShowStateFld;
293  BoolField* _csoSingleVoxelizeStateFld;
295  BoolField* _csoSingleEditableStateFld;
296 
298  TypedEnumField<CSOPathPointsStyle>* _csoSinglePathPointStyleFld;
300  FloatField* _csoSinglePathPointWidthFld;
302  ColorField* _csoSinglePathPointColorFld;
304  FloatField* _csoSinglePathPointAlphaFld;
305 
307  TypedEnumField<CSOSeedPointStyle>* _csoSingleSeedPointStyleFld;
309  FloatField* _csoSingleSeedPointSizeFld;
311  ColorField* _csoSingleSeedPointColorFld;
313  FloatField* _csoSingleSeedPointAlphaFld;
314 
316  TypedEnumField<CSOVoxelWriteModes>* _csoSingleVoxelWriteModeFld;
318  FloatField* _csoSingleVoxelWriteValueFld;
319 
321  StringField* _csoDefaultLabelFld;
323  BoolField* _csoDefaultLabelAddUniqueIdFld;
325  StringField* _csoDefaultLabelUniqueIdFormatFld;
327  BoolField* _csoDefaultLabelAddUniqueIdAlwaysFld;
328 
330  StringField* _csoDefaultDescriptionFld;
332  BoolField* _csoDefaultShowStateFld;
334  BoolField* _csoDefaultVoxelizeStateFld;
336  BoolField* _csoDefaultEditableStateFld;
337 
339  NotifyField* _csoSingleApplyFld;
340 
341 
343  IntField* _groupSingleIdFld;
345  StringField* _groupSingleLabelFld;
347  StringField* _groupSingleDescriptionFld;
348 
350  BoolField* _groupSingleUseTimePointIndexFld;
352  IntField* _groupSingleTimePointIndexFld;
354  BoolField* _groupSingleUseShowStateFld;
356  BoolField* _groupSingleShowStateFld;
358  BoolField* _groupSingleUseVoxelizeStateFld;
360  BoolField* _groupSingleVoxelizeStateFld;
362  BoolField* _groupSingleUseEditableStateFld;
364  BoolField* _groupSingleEditableStateFld;
365 
366 
368  BoolField* _groupSingleUsePathPointStyleFld;
369  TypedEnumField<CSOPathPointsStyle>* _groupSinglePathPointStyleFld;
371  FloatField* _groupSinglePathPointWidthFld;
372  BoolField* _groupSingleUsePathPointWidthFld;
374  BoolField* _groupSingleUsePathPointColorFld;
375  ColorField* _groupSinglePathPointColorFld;
377  BoolField* _groupSingleUsePathPointAlphaFld;
378  FloatField* _groupSinglePathPointAlphaFld;
379 
380 
381 
383  BoolField* _groupSingleUseSeedPointStyleFld;
384  TypedEnumField<CSOSeedPointStyle>* _groupSingleSeedPointStyleFld;
386  BoolField* _groupSingleUseSeedPointSizeFld;
387  FloatField* _groupSingleSeedPointSizeFld;
389  BoolField* _groupSingleUseSeedPointColorFld;
390  ColorField* _groupSingleSeedPointColorFld;
392  BoolField* _groupSingleUseSeedPointAlphaFld;
393  FloatField* _groupSingleSeedPointAlphaFld;
394 
396  BoolField* _groupSingleUseVoxelWriteModeFld;
398  TypedEnumField<CSOVoxelWriteModes>* _groupSingleVoxelWriteModeFld;
400  BoolField* _groupSingleUseVoxelWriteValueFld;
401  FloatField* _groupSingleVoxelWriteValueFld;
402 
404  IntField* _groupSingleNumMaximumCSOsFld;
406  TypedEnumField<CSOGroupOverflowHandling>* _groupSingleOverflowHandlingFld;
408  TypedEnumField<CSORemoveHandling>* _groupSingleRemoveFromGroupHandlingFld;
410  TypedEnumField<CSORemoveHandling>* _groupSingleDeleteGroupCSOHandlingFld;
411 
413  StringField* _groupDefaultLabelFld;
415  BoolField* _groupDefaultLabelAddUniqueIdFld;
417  StringField* _groupDefaultLabelUniqueIdFormatFld;
419  BoolField* _groupDefaultLabelAddUniqueIdAlwaysFld;
420 
422  StringField* _groupDefaultDescriptionFld;
423 
425  BoolField* _groupDefaultUseTimePointIndexFld;
427  IntField* _groupDefaultTimePointIndexFld;
429  BoolField* _groupDefaultUseShowStateFld;
431  BoolField* _groupDefaultShowStateFld;
433  BoolField* _groupDefaultUseVoxelizeStateFld;
435  BoolField* _groupDefaultVoxelizeStateFld;
437  BoolField* _groupDefaultUseEditableStateFld;
439  BoolField* _groupDefaultEditableStateFld;
440 
442  BoolField* _groupDefaultUsePathPointStyleFld;
443  TypedEnumField<CSOPathPointsStyle>* _groupDefaultPathPointStyleFld;
445  BoolField* _groupDefaultUsePathPointWidthFld;
446  FloatField* _groupDefaultPathPointWidthFld;
448  BoolField* _groupDefaultUsePathPointColorFld;
449  ColorField* _groupDefaultPathPointColorFld;
451  BoolField* _groupDefaultUsePathPointAlphaFld;
452  FloatField* _groupDefaultPathPointAlphaFld;
453 
455  BoolField* _groupDefaultUseSeedPointSizeFld;
456  FloatField* _groupDefaultSeedPointSizeFld;
458  BoolField* _groupDefaultUseSeedPointStyleFld;
459  TypedEnumField<CSOSeedPointStyle>* _groupDefaultSeedPointStyleFld;
461  BoolField* _groupDefaultUseSeedPointColorFld;
462  ColorField* _groupDefaultSeedPointColorFld;
464  BoolField* _groupDefaultUseSeedPointAlphaFld;
465  FloatField* _groupDefaultSeedPointAlphaFld;
466 
468  BoolField* _groupDefaultUseVoxelWriteModeFld;
470  TypedEnumField<CSOVoxelWriteModes>* _groupDefaultVoxelWriteModeFld;
472  BoolField* _groupDefaultUseVoxelWriteValueFld;
473  FloatField* _groupDefaultVoxelWriteValueFld;
474 
476  IntField* _groupDefaultNumMaximumCSOsFld;
478  TypedEnumField<CSOGroupOverflowHandling>* _groupDefaultOverflowHandlingFld;
480  TypedEnumField<CSORemoveHandling>* _groupDefaultRemoveFromGroupHandlingFld;
481  TypedEnumField<CSORemoveHandling>* _groupDefaultDeleteGroupCSOHandlingFld;
483  NotifyField* _groupSingleApplyFld;
484 
486 
488  TypedEnumField<CSORemoveEmptyGroupHandling>* _listSingleRemoveEmptyGroupHandlingFld;
490  TypedEnumField<CSORemoveEmptyGroupHandling>* _listDefaultRemoveEmptyGroupHandlingFld;
491 
493 
495  BoolField* _useSelectionCSONotificationFld;
497  BoolField* _useSelectionGroupNotificationFld;
499  BoolField* _useFinishedCSONotificationFld;
501  BoolField* _useFinishedGroupNotificationFld;
503  BoolField* _useCSOMovedNotificationFld;
505  BoolField* _useRepaintNotificationFld;
507  BoolField* _useInteractionInitNotificationFld;
509  BoolField* _useNewCSOStartedNotificationFld;
510 
512  NotifyField* _notifyOnSelectionCSOFld;
514  NotifyField* _notifyOnSelectionGroupFld;
516  NotifyField* _notifyOnFinishedCSOFld;
518  NotifyField* _notifyOnFinishedGroupFld;
520  NotifyField* _notifyOnCSOMovedFld;
522  NotifyField* _notifyOnRepaintFld;
524  NotifyField* _notifyOnInteractionInitFld;
526  NotifyField* _notifyOnStartNewCSOFld;
527 
529 
531  BoolField* _enableSelectionNotificationFld;
533  BoolField* _enableFinishedNotificationFld;
535  BoolField* _enableCSOMovedNotificationFld;
537  BoolField* _enableRepaintNotificationFld;
538 
540  NotifyField* _triggerSelectionNotificationFld;
542  NotifyField* _triggerFinishedNotificationFld;
544  NotifyField* _triggerCSOMovedNotificationFld;
546  NotifyField* _triggerRepaintNotificationFld;
548  BoolField* _outputApplicationEventsDebugFld;
549 
551 
552  /* MEMBER VARIABLES */
553 
556  struct GroupCSOPair {
557  CSO* cso;
558  CSOGroup* group;
559  };
560 
562  CSOListPtr _outCSOList;
564  CSOListPtr _inCSOList;
565 
567  bool _isOutputCSOListOwner;
569  bool _isWorkingDirectlyOnInputCSOList;
570 
572  std::vector<GroupCSOPair>_csoSelectedGroups;
574  std::vector<GroupCSOPair>_groupSelectedCSOs;
575 
577  std::vector<CSO*>_copiedCSOs;
579  std::vector<CSOGroup*>_copiedGroups;
580 
582  bool _isInNotificationCB;
583 
585  bool _useSelectionCSONotification;
587  bool _useSelectionGroupNotification;
589  bool _useFinishedCSONotification;
591  bool _useFinishedGroupNotification;
593  bool _useCSOMovedNotification;
595  bool _useRepaintNotification;
597  bool _useInteractionInitNotification;
599  bool _useNewCSOStartedNotification;
600 
602  bool _selectedCSOItemsChangedFromField;
604  bool _selectedCSOGroupItemsChangedFromField;
605 
607  bool _isNotifyingItself;
608 
609  /* METHODS */
610 
612  static void _csoListNotificationCB(void* userData, int notificationFlag);
613 
615  void _updateManagerFields();
616 
618  void _updateCSOManagerFields();
620  void _updateGroupManagerFields();
621 
623  void _updateInformationFields();
624 
627  bool _parseCSOSelectedItemsString();
630  bool _parseGroupSelectedItemsString();
631 
633  void _parseStringToVector(std::string toParse, std::vector<int>& parsedIds);
634 
636  void _parseCSOGroupToVector();
638  void _parseGroupCSOToVector();
639 
641  void _parsePair(std::string toParse, int& firstId, int& secondId);
643  void _addPairToVector(int csoId, int groupId, std::vector<GroupCSOPair>& gcPairVec);
644 
645 
648  void _openUndoRedoGroup(const std::string& description);
651  void _closeUndoRedoGroup();
652 
654  void _createCSOString();
656  void _createGroupString();
657 
659  void _updateCSOInformationFields();
661  void _updateGroupInformationFields();
662 
664  void _copySelectedCSOs();
666  void _copySelectedGroups();
668  void _pasteCopiedCSOs();
670  void _pasteCopiedGroups();
671 
673  void _addSelectedCSOtoGroup();
675  void _breakSelectedCSOFromGroup();
676 
678  void _removeCSOs();
680  void _removeGroups();
681 
683  void _createGroup();
684 
685  static void baseEventCB(void* userData, BaseEvent* event);
686 
687  int _eventGroupCounter;
688 
690 };
691 
693 
694 ML_END_NAMESPACE
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
Definition: MLCSOSystem.h:23
BaseEvent is the base class for all events emitted from EventSourceBase.
Definition: mlEventSource.h:86
Field to encapsulate a pointer to an ML base object.
Definition: mlFields.h:1187
Field to encapsulate a boolean value.
Definition: mlFields.h:62
A CSOGroup comprises a number of CSOs, which themselves can be in a number of different CSOGroups.
Definition: CSOGroup.h:38
The CSOManager allows for storing and iterating CSOs, and implements an undo/redo mechanism.
Definition: CSOManager.h:33
void getSelectedSeedPointColor(Vector3 &origColor)
Returns the selected seed point color (on base of the given color if in 'brighten' mode).
bool getGroupDefaultShowState() const
Returns the default show state for CSOGroups.
Definition: CSOManager.h:113
float getSelectedPathPointsBrightenValue() const
Returns the brighten value for selected path points.
Definition: CSOManager.h:61
bool getGroupDefaultUseVoxelWriteValue() const
Returns the default voxel write value for CSOGroups.
Definition: CSOManager.h:153
float getSelectedSeedPointBrightenValue() const
Returns the brighten value for selected seed points.
Definition: CSOManager.h:70
Vector3 getSelectedSeedPointFixedColor() const
Returns the fixed color for selected seed points.
Definition: CSOManager.h:68
float getSelectedSeedPointEnlargeValue() const
Returns the value for selected seed points.
Definition: CSOManager.h:74
float getGroupDefaultPathPointAlpha() const
Definition: CSOManager.h:134
CSOGroupOverflowHandling getGroupDefaultOverflowHandling() const
Returns the default overflow handling mode for CSOGroups.
Definition: CSOManager.h:160
int getGroupDefaultTimePointIndex() const
Returns the default time point index for CSOGroups.
Definition: CSOManager.h:109
void activateAttachments() override
Initialize module after loading.
CSORemoveHandling getGroupDefaultRemoveFromGroupHandling() const
Returns the default remove from group handling mode for CSOGroups.
Definition: CSOManager.h:162
bool getGroupDefaultUsePathPointStyle() const
Returns the default line style for CSOGroups.
Definition: CSOManager.h:124
CSORemoveHandling getGroupDefaultDeleteGroupCSOHandling() const
Definition: CSOManager.h:163
bool getCSODefaultEditableState() const
Returns the default editable state for CSOs.
Definition: CSOManager.h:97
bool getGroupDefaultUsePathPointAlpha() const
Returns the default alpha value for CSOGroups.
Definition: CSOManager.h:133
std::string getGroupDefaultDescription() const
Returns the default description for CSOGroups.
Definition: CSOManager.h:105
int getGroupDefaultVoxelWriteMode() const
Definition: CSOManager.h:151
Vector3 getGroupDefaultSeedPointColor() const
Definition: CSOManager.h:144
std::string getGroupDefaultLabel()
Returns the default label for CSOGroups.
std::string getCSODefaultDescription() const
Returns the default description for CSOs.
Definition: CSOManager.h:91
bool getGroupDefaultUseSeedPointSize() const
Returns the default marker size for CSOGroups.
Definition: CSOManager.h:140
float getSelectedPathPointsWidenValue() const
Returns the widen value for selected path points.
Definition: CSOManager.h:65
bool getGroupDefaultUseSeedPointStyle() const
Returns the default marker mode for CSOGroups.
Definition: CSOManager.h:137
bool getGroupDefaultEditableState() const
Returns the default editable state for CSOGroups.
Definition: CSOManager.h:121
Vector3 getSelectedPathPointsFixedColor() const
Returns the fixed color for selected path points without regarding the coloring mode.
Definition: CSOManager.h:59
bool getCSODefaultShowState() const
Returns the default show state for CSOs.
Definition: CSOManager.h:93
void handleNotification(Field *field) override
Called when input changes.
bool getCSODefaultVoxelizeState() const
Returns the default voxelize state for CSOs.
Definition: CSOManager.h:95
int getGroupDefaultNumMaximumCSOs() const
Returns the default maximum number of CSOs for CSOGroups.
Definition: CSOManager.h:158
bool getGroupDefaultUseSeedPointAlpha() const
Returns the default marker alpha value for CSOGroups.
Definition: CSOManager.h:146
void updateGroupManager()
Updates the Group list view and the single Group fields.
void updateCSOManager()
Updates the CSO list view and the single CSO fields.
int getSelectedSeedPointSizeMode()
Returns the size mode for selected seed points (enlarge / fixed size).
Definition: CSOManager.h:79
bool getGroupDefaultUseEditableState() const
Returns whether the member CSOs shall use the CSOGroup's editable state by default.
Definition: CSOManager.h:119
CSORemoveEmptyGroupHandling getDefaultRemoveEmptyGroupHandling() const
Returns the default remove empty group handling mode for CSOLists.
Definition: CSOManager.h:165
Vector3 getGroupDefaultPathPointColor() const
Definition: CSOManager.h:131
void updateManager()
Updates the tree views and the single CSO/Group fields.
bool getGroupDefaultVoxelizeState() const
Returns the default voxelize state for CSOGroups.
Definition: CSOManager.h:117
void getSelectionPathPointWidth(float &origLineWidth)
Returns the selection line width (on base of the given line width if in 'widen' mode).
~CSOManager() override
Standard destructor.
void setInternalVariables()
Sets internal state variables.
float getSelectedPathPointsFixedLineWidth() const
Returns the fixed line width value for selected path points.
Definition: CSOManager.h:63
int getSelectionPathPointColoringMode()
Returns the coloring mode for selected CSOs (brighten / fixed color).
Definition: CSOManager.h:50
bool getGroupDefaultUseShowState() const
Returns whether the member CSOs shall use the CSOGroup's show state by default.
Definition: CSOManager.h:111
CSOPathPointsStyle getGroupDefaultPathPointStyle() const
Definition: CSOManager.h:125
float getGroupDefaultVoxelWriteValue() const
Definition: CSOManager.h:154
std::string getCSODefaultLabel()
Returns the default label for CSOs.
bool getGroupDefaultUseTimePointIndex() const
Returns whether the member CSOs shall use the CSOGroup's time point index by default.
Definition: CSOManager.h:107
bool getGroupDefaultUsePathPointWidth() const
Returns the default line width for CSOGroups.
Definition: CSOManager.h:127
bool getGroupDefaultUseVoxelizeState() const
Returns whether the member CSOs shall use the CSOGroup's voxelize state by default.
Definition: CSOManager.h:115
bool getGroupDefaultUseSeedPointColor() const
Returns the default marker color for CSOGroups.
Definition: CSOManager.h:143
int getSelectionPathPointWidthMode()
Returns the line width mode for selected CSOs (widen / fixed width).
Definition: CSOManager.h:52
float getGroupDefaultSeedPointSize() const
Definition: CSOManager.h:141
float getSelectedSeedPointFixedSize() const
Returns the fixed size value for selected seed points.
Definition: CSOManager.h:72
int getSelectedSeedPointColoringMode()
Returns the coloring mode for selected seed points (brighten / fixed color).
Definition: CSOManager.h:77
void getSelectionPathPointColor(Vector3 &origColor)
Returns the selection color (on base of the given color if in 'brighten' mode).
int getGroupDefaultSeedPointStyle() const
Definition: CSOManager.h:138
CSOManager(int numInImages=0, int numOutImages=0)
Standard constructor.
bool getGroupDefaultUsePathPointColor() const
Returns the default color for CSOGroups.
Definition: CSOManager.h:130
bool getGroupDefaultUseVoxelWriteMode() const
Returns the default voxel write mode for CSOGroups.
Definition: CSOManager.h:150
float getGroupDefaultSeedPointAlpha() const
Definition: CSOManager.h:147
void getSelectedSeedPointSize(float &origSize)
Returns the selected seed point size (on base of the given size if in 'enlarge' mode).
float getGroupDefaultPathPointWidth() const
Definition: CSOManager.h:128
The CSO represents a contour segmentation object.
Definition: CSO.h:44
Field to encapsulate a vector of 3 float values representing an (rgb) color with all properties of Ve...
Definition: mlFields.h:2065
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate a float value.
Definition: mlFields.h:627
Field to encapsulate an integer value.
Definition: mlFields.h:161
Base class for an image processing module of the ML.
Definition: mlModule.h:156
Field without value for notifications.
Definition: mlFields.h:1049
Field to encapsulate a string value.
Definition: mlFields.h:1000
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
CSORemoveHandling
Enumeration for the removal handling of CSOs from group and if group is deleted.
Definition: CSOGroupRules.h:40
CSOPathPointsStyle
Enumeration of line styles (order as StylePalette::LineStyle).
Definition: CSODefines.h:42
CSORemoveEmptyGroupHandling
Enumeration for empty groups removal.
Definition: CSOListRules.h:31
CSOGroupOverflowHandling
Enumeration for the group overflow handling modes.
Definition: CSOGroupRules.h:30