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
25ML_START_NAMESPACE
26
28
33{
34
35public:
36
38 CSOManager(int numInImages=0,int numOutImages=0);
39
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(); }
126 inline CSOPathPointsStyle getGroupDefaultPathPointStyle() const { return static_cast<CSOPathPointsStyle>(_groupDefaultPathPointStyleFld->getEnumValue()); }
128 inline bool getGroupDefaultUsePathPointWidth() const { return _groupDefaultUsePathPointWidthFld->getBoolValue(); }
130 inline float getGroupDefaultPathPointWidth() const { return _groupDefaultPathPointWidthFld->getFloatValue(); }
132 inline bool getGroupDefaultUsePathPointColor() const { return _groupDefaultUsePathPointColorFld->getBoolValue(); }
134 inline Vector3 getGroupDefaultPathPointColor() const { return _groupDefaultPathPointColorFld->getVector3Value(); }
136 inline bool getGroupDefaultUsePathPointAlpha() const { return _groupDefaultUsePathPointAlphaFld->getBoolValue(); }
138 inline float getGroupDefaultPathPointAlpha() const { return _groupDefaultPathPointAlphaFld->getFloatValue(); }
139
141 inline bool getGroupDefaultUseSeedPointStyle() const { return _groupDefaultUseSeedPointStyleFld->getBoolValue(); }
143 inline int getGroupDefaultSeedPointStyle() const { return _groupDefaultSeedPointStyleFld->getEnumValue(); }
145 inline bool getGroupDefaultUseSeedPointSize() const { return _groupDefaultUseSeedPointSizeFld->getBoolValue(); }
147 inline float getGroupDefaultSeedPointSize() const { return _groupDefaultSeedPointSizeFld->getFloatValue(); }
149 inline bool getGroupDefaultUseSeedPointColor() const { return _groupDefaultUseSeedPointColorFld->getBoolValue(); }
151 inline Vector3 getGroupDefaultSeedPointColor() const { return _groupDefaultSeedPointColorFld->getVector3Value(); }
153 inline bool getGroupDefaultUseSeedPointAlpha() const { return _groupDefaultUseSeedPointAlphaFld->getBoolValue(); }
155 inline float getGroupDefaultSeedPointAlpha() const { return _groupDefaultSeedPointAlphaFld->getFloatValue(); }
156
158 inline bool getGroupDefaultUseVoxelWriteMode() const { return _groupDefaultUseVoxelWriteModeFld->getBoolValue(); }
160 inline int getGroupDefaultVoxelWriteMode() const { return _groupDefaultVoxelWriteModeFld->getEnumValue(); }
162 inline bool getGroupDefaultUseVoxelWriteValue() const { return _groupDefaultUseVoxelWriteValueFld->getBoolValue(); }
164 inline float getGroupDefaultVoxelWriteValue() const { return _groupDefaultVoxelWriteValueFld->getFloatValue(); }
165
166
168 inline int getGroupDefaultNumMaximumCSOs() const { return static_cast<int>(_groupDefaultNumMaximumCSOsFld->getIntValue()); }
170 inline CSOGroupOverflowHandling getGroupDefaultOverflowHandling() const { return static_cast<CSOGroupOverflowHandling>(_groupDefaultOverflowHandlingFld->getEnumValue()); }
172 inline CSORemoveHandling getGroupDefaultRemoveFromGroupHandling() const { return static_cast<CSORemoveHandling>(_groupDefaultRemoveFromGroupHandlingFld->getEnumValue()); }
174 inline CSORemoveHandling getGroupDefaultDeleteGroupCSOHandling() const { return static_cast<CSORemoveHandling>(_groupDefaultDeleteGroupCSOHandlingFld->getEnumValue()); }
176 inline CSORemoveEmptyGroupHandling getDefaultRemoveEmptyGroupHandling() const { return static_cast<CSORemoveEmptyGroupHandling>(_listDefaultRemoveEmptyGroupHandlingFld->getEnumValue()); }
177
178protected:
179
181 ~CSOManager() override;
182
184 void activateAttachments() override;
185
187 void handleNotification(Field* field) override;
188
191
192private:
193
194 /* FIELDS */
195
197 BaseField* _outCSOListFld;
199 BaseField* _inCSOListFld;
200
202 BaseField* _inUndoContextFld;
203
205 BoolField* _workDirectlyOnInputCSOListFld;
207 NotifyField* _copyInputCSOListFld;
208
210 StringField* _csoDisplayTreeFld;
212 StringField* _groupDisplayTreeFld;
214 BoolField* _shouldUpdateCsoDisplayTreeFld;
216 BoolField* _shouldUpdateGroupDisplayTreeFld;
217
219 StringField* _csoSelectedItemsFld;
221 StringField* _groupSelectedItemsFld;
223 StringField* _groupSelectedCSOItemsFld;
225 StringField* _csoSelectedGroupItemsFld;
226
228 BoolField* _enableUndoRedoFld;
230 NotifyField* _triggerUndoFld;
232 NotifyField* _triggerRedoFld;
234 IntField* _numUndosFld;
236 IntField* _numRedosFld;
238 IntField* _undoStackLimitFld;
239
241 NotifyField* _addCSOtoGroupFld;
243 NotifyField* _breakCSOFromGroupFld;
244
246 NotifyField* _removeAllCSOsAndGroupsFld;
247
249 NotifyField* _csoRemoveSelectedFld;
251 NotifyField* _csoCopySelectedFld;
253 NotifyField* _csoPasteFld;
254
256 NotifyField* _groupCreateNewFld;
258 BoolField* _selectLastCreatedGroupFld;
260 NotifyField* _groupRemoveSelectedFld;
262 NotifyField* _groupCopySelectedFld;
264 NotifyField* _groupPasteFld;
265
267 TypedEnumField<CSOSelectionColoring>* _selectionPathPointColoringModeFld;
269 TypedEnumField<CSOSelectionLineWidth>* _selectionPathPointWidthModeFld;
271 FloatField* _selectionBrightenPathPointColorFld;
273 ColorField* _selectionFixedPathPointColorFld;
275 FloatField* _selectionWidenPathPointWidthFld;
277 FloatField* _selectionFixedPathPointWidthFld;
278
280 TypedEnumField<CSOSelectedSeedPointColoring>* _selectedSeedPointColoringModeFld;
282 TypedEnumField<CSOSelectedSeedPointSize>* _selectedSeedPointSizeModeFld;
284 FloatField* _selectedSeedPointBrightenColorFld;
286 ColorField* _selectedSeedPointFixedColorFld;
288 FloatField* _selectedSeedPointEnlargeSizeFld;
290 FloatField* _selectedSeedPointSizeFld;
291
293 IntField* _csoSingleIdFld;
295 StringField* _csoSingleLabelFld;
297 StringField* _csoSingleDescriptionFld;
298
300 IntField* _csoSingleTimePointIndexFld;
302 BoolField* _csoSingleShowStateFld;
304 BoolField* _csoSingleVoxelizeStateFld;
306 BoolField* _csoSingleEditableStateFld;
307
309 TypedEnumField<CSOPathPointsStyle>* _csoSinglePathPointStyleFld;
311 FloatField* _csoSinglePathPointWidthFld;
313 ColorField* _csoSinglePathPointColorFld;
315 FloatField* _csoSinglePathPointAlphaFld;
316
318 TypedEnumField<CSOSeedPointStyle>* _csoSingleSeedPointStyleFld;
320 FloatField* _csoSingleSeedPointSizeFld;
322 ColorField* _csoSingleSeedPointColorFld;
324 FloatField* _csoSingleSeedPointAlphaFld;
325
327 TypedEnumField<CSOVoxelWriteModes>* _csoSingleVoxelWriteModeFld;
329 FloatField* _csoSingleVoxelWriteValueFld;
330
332 StringField* _csoDefaultLabelFld;
334 BoolField* _csoDefaultLabelAddUniqueIdFld;
336 StringField* _csoDefaultLabelUniqueIdFormatFld;
338 BoolField* _csoDefaultLabelAddUniqueIdAlwaysFld;
339
341 StringField* _csoDefaultDescriptionFld;
343 BoolField* _csoDefaultShowStateFld;
345 BoolField* _csoDefaultVoxelizeStateFld;
347 BoolField* _csoDefaultEditableStateFld;
348
350 NotifyField* _csoSingleApplyFld;
351
352
354 IntField* _groupSingleIdFld;
356 StringField* _groupSingleLabelFld;
358 StringField* _groupSingleDescriptionFld;
359
361 BoolField* _groupSingleUseTimePointIndexFld;
363 IntField* _groupSingleTimePointIndexFld;
365 BoolField* _groupSingleUseShowStateFld;
367 BoolField* _groupSingleShowStateFld;
369 BoolField* _groupSingleUseVoxelizeStateFld;
371 BoolField* _groupSingleVoxelizeStateFld;
373 BoolField* _groupSingleUseEditableStateFld;
375 BoolField* _groupSingleEditableStateFld;
376
377
379 BoolField* _groupSingleUsePathPointStyleFld;
381 TypedEnumField<CSOPathPointsStyle>* _groupSinglePathPointStyleFld;
383 BoolField* _groupSingleUsePathPointWidthFld;
385 FloatField* _groupSinglePathPointWidthFld;
387 BoolField* _groupSingleUsePathPointColorFld;
389 ColorField* _groupSinglePathPointColorFld;
391 BoolField* _groupSingleUsePathPointAlphaFld;
393 FloatField* _groupSinglePathPointAlphaFld;
394
396 BoolField* _groupSingleUseSeedPointStyleFld;
398 TypedEnumField<CSOSeedPointStyle>* _groupSingleSeedPointStyleFld;
400 BoolField* _groupSingleUseSeedPointSizeFld;
402 FloatField* _groupSingleSeedPointSizeFld;
404 BoolField* _groupSingleUseSeedPointColorFld;
406 ColorField* _groupSingleSeedPointColorFld;
408 BoolField* _groupSingleUseSeedPointAlphaFld;
410 FloatField* _groupSingleSeedPointAlphaFld;
411
413 BoolField* _groupSingleUseVoxelWriteModeFld;
415 TypedEnumField<CSOVoxelWriteModes>* _groupSingleVoxelWriteModeFld;
417 BoolField* _groupSingleUseVoxelWriteValueFld;
419 FloatField* _groupSingleVoxelWriteValueFld;
420
422 IntField* _groupSingleNumMaximumCSOsFld;
424 TypedEnumField<CSOGroupOverflowHandling>* _groupSingleOverflowHandlingFld;
426 TypedEnumField<CSORemoveHandling>* _groupSingleRemoveFromGroupHandlingFld;
428 TypedEnumField<CSORemoveHandling>* _groupSingleDeleteGroupCSOHandlingFld;
429
431 StringField* _groupDefaultLabelFld;
433 BoolField* _groupDefaultLabelAddUniqueIdFld;
435 StringField* _groupDefaultLabelUniqueIdFormatFld;
437 BoolField* _groupDefaultLabelAddUniqueIdAlwaysFld;
438
440 StringField* _groupDefaultDescriptionFld;
441
443 BoolField* _groupDefaultUseTimePointIndexFld;
445 IntField* _groupDefaultTimePointIndexFld;
447 BoolField* _groupDefaultUseShowStateFld;
449 BoolField* _groupDefaultShowStateFld;
451 BoolField* _groupDefaultUseVoxelizeStateFld;
453 BoolField* _groupDefaultVoxelizeStateFld;
455 BoolField* _groupDefaultUseEditableStateFld;
457 BoolField* _groupDefaultEditableStateFld;
458
459
461 BoolField* _groupDefaultUsePathPointStyleFld;
463 TypedEnumField<CSOPathPointsStyle>* _groupDefaultPathPointStyleFld;
465 BoolField* _groupDefaultUsePathPointWidthFld;
467 FloatField* _groupDefaultPathPointWidthFld;
469 BoolField* _groupDefaultUsePathPointColorFld;
471 ColorField* _groupDefaultPathPointColorFld;
473 BoolField* _groupDefaultUsePathPointAlphaFld;
475 FloatField* _groupDefaultPathPointAlphaFld;
476
478 BoolField* _groupDefaultUseSeedPointSizeFld;
480 FloatField* _groupDefaultSeedPointSizeFld;
482 BoolField* _groupDefaultUseSeedPointStyleFld;
484 TypedEnumField<CSOSeedPointStyle>* _groupDefaultSeedPointStyleFld;
486 BoolField* _groupDefaultUseSeedPointColorFld;
488 ColorField* _groupDefaultSeedPointColorFld;
490 BoolField* _groupDefaultUseSeedPointAlphaFld;
492 FloatField* _groupDefaultSeedPointAlphaFld;
493
495 BoolField* _groupDefaultUseVoxelWriteModeFld;
497 TypedEnumField<CSOVoxelWriteModes>* _groupDefaultVoxelWriteModeFld;
499 BoolField* _groupDefaultUseVoxelWriteValueFld;
501 FloatField* _groupDefaultVoxelWriteValueFld;
502
504 IntField* _groupDefaultNumMaximumCSOsFld;
506 TypedEnumField<CSOGroupOverflowHandling>* _groupDefaultOverflowHandlingFld;
508 TypedEnumField<CSORemoveHandling>* _groupDefaultRemoveFromGroupHandlingFld;
510 TypedEnumField<CSORemoveHandling>* _groupDefaultDeleteGroupCSOHandlingFld;
512 NotifyField* _groupSingleApplyFld;
513
515
517 TypedEnumField<CSORemoveEmptyGroupHandling>* _listSingleRemoveEmptyGroupHandlingFld;
519 TypedEnumField<CSORemoveEmptyGroupHandling>* _listDefaultRemoveEmptyGroupHandlingFld;
520
522
524 BoolField* _useSelectionCSONotificationFld;
526 BoolField* _useSelectionGroupNotificationFld;
528 BoolField* _useFinishedCSONotificationFld;
530 BoolField* _useFinishedGroupNotificationFld;
532 BoolField* _useCSOMovedNotificationFld;
534 BoolField* _useRepaintNotificationFld;
536 BoolField* _useInteractionInitNotificationFld;
538 BoolField* _useNewCSOStartedNotificationFld;
539
541 NotifyField* _notifyOnSelectionCSOFld;
543 NotifyField* _notifyOnSelectionGroupFld;
545 NotifyField* _notifyOnFinishedCSOFld;
547 NotifyField* _notifyOnFinishedGroupFld;
549 NotifyField* _notifyOnCSOMovedFld;
551 NotifyField* _notifyOnRepaintFld;
553 NotifyField* _notifyOnInteractionInitFld;
555 NotifyField* _notifyOnStartNewCSOFld;
556
558
560 BoolField* _enableSelectionNotificationFld;
562 BoolField* _enableFinishedNotificationFld;
564 BoolField* _enableCSOMovedNotificationFld;
566 BoolField* _enableRepaintNotificationFld;
567
569 NotifyField* _triggerSelectionNotificationFld;
571 NotifyField* _triggerFinishedNotificationFld;
573 NotifyField* _triggerCSOMovedNotificationFld;
575 NotifyField* _triggerRepaintNotificationFld;
577 BoolField* _outputApplicationEventsDebugFld;
578
580
581 /* MEMBER VARIABLES */
582
585 struct GroupCSOPair {
586 CSO* cso;
587 CSOGroup* group;
588 };
589
591 CSOListPtr _outCSOList;
593 CSOListPtr _inCSOList;
594
596 bool _isOutputCSOListOwner;
598 bool _isWorkingDirectlyOnInputCSOList;
599
601 std::vector<GroupCSOPair>_csoSelectedGroups;
603 std::vector<GroupCSOPair>_groupSelectedCSOs;
604
606 std::vector<CSO*>_copiedCSOs;
608 std::vector<CSOGroup*>_copiedGroups;
609
611 bool _isInNotificationCB;
612
614 bool _useSelectionCSONotification;
616 bool _useSelectionGroupNotification;
618 bool _useFinishedCSONotification;
620 bool _useFinishedGroupNotification;
622 bool _useCSOMovedNotification;
624 bool _useRepaintNotification;
626 bool _useInteractionInitNotification;
628 bool _useNewCSOStartedNotification;
629
631 bool _selectedCSOItemsChangedFromField;
633 bool _selectedCSOGroupItemsChangedFromField;
634
636 bool _isNotifyingItself;
637
638 /* METHODS */
639
641 static void _csoListNotificationCB(void* userData, int notificationFlag);
642
644 void _updateManagerFields();
645
647 void _updateCSOManagerFields();
649 void _updateGroupManagerFields();
650
652 void _updateInformationFields();
653
656 bool _parseCSOSelectedItemsString();
659 bool _parseGroupSelectedItemsString();
660
662 void _parseStringToVector(std::string toParse, std::vector<int>& parsedIds);
663
665 void _parseCSOGroupToVector();
667 void _parseGroupCSOToVector();
668
670 void _parsePair(std::string toParse, int& firstId, int& secondId);
672 void _addPairToVector(int csoId, int groupId, std::vector<GroupCSOPair>& gcPairVec);
673
674
677 void _openUndoRedoGroup(const std::string& description);
680 void _closeUndoRedoGroup();
681
683 void _createCSOString();
685 void _createGroupString();
686
688 void _updateCSOInformationFields();
690 void _updateGroupInformationFields();
691
693 void _copySelectedCSOs();
695 void _copySelectedGroups();
697 void _pasteCopiedCSOs();
699 void _pasteCopiedGroups();
700
702 void _addSelectedCSOtoGroup();
704 void _breakSelectedCSOFromGroup();
705
707 void _removeCSOs();
709 void _removeGroups();
710
712 void _createGroup();
713
714 static void baseEventCB(void* userData, BaseEvent* event);
715
716 int _eventGroupCounter;
717
719};
720
722
723ML_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.
Field to encapsulate a pointer to an ML base object.
Definition mlFields.h:729
Field to encapsulate a boolean value.
Definition mlFields.h:56
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 whether the member CSOs shall use the CSOGroup's voxel write value by default.
Definition CSOManager.h:162
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
Returns the default alpha value for CSOGroups.
Definition CSOManager.h:138
CSOGroupOverflowHandling getGroupDefaultOverflowHandling() const
Returns the default overflow handling mode for CSOGroups.
Definition CSOManager.h:170
int getGroupDefaultTimePointIndex() const
Returns the default time point index for CSOGroups.
Definition CSOManager.h:109
void activateAttachments() override
Initializes the module after loading.
CSORemoveHandling getGroupDefaultRemoveFromGroupHandling() const
Returns the default remove-from-group handling mode for CSOGroups.
Definition CSOManager.h:172
bool getGroupDefaultUsePathPointStyle() const
Returns whether the member CSOs shall use the CSOGroup's line style by default.
Definition CSOManager.h:124
CSORemoveHandling getGroupDefaultDeleteGroupCSOHandling() const
Returns the default delete-group handling mode for CSOGroups.
Definition CSOManager.h:174
bool getCSODefaultEditableState() const
Returns the default editable state for CSOs.
Definition CSOManager.h:97
bool getGroupDefaultUsePathPointAlpha() const
Returns whether the member CSOs shall use the CSOGroup's alpha value by default.
Definition CSOManager.h:136
std::string getGroupDefaultDescription() const
Returns the default description for CSOGroups.
Definition CSOManager.h:105
int getGroupDefaultVoxelWriteMode() const
Returns the default voxel write mode for CSOGroups.
Definition CSOManager.h:160
Vector3 getGroupDefaultSeedPointColor() const
Returns the default marker color for CSOGroups.
Definition CSOManager.h:151
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 whether the member CSOs shall use the CSOGroup's marker size by default.
Definition CSOManager.h:145
float getSelectedPathPointsWidenValue() const
Returns the widen value for selected path points.
Definition CSOManager.h:65
bool getGroupDefaultUseSeedPointStyle() const
Returns whether the member CSOs shall use the CSOGroup's marker mode by default.
Definition CSOManager.h:141
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:168
bool getGroupDefaultUseSeedPointAlpha() const
Returns whether the member CSOs shall use the CSOGroup's marker alpha by default.
Definition CSOManager.h:153
void updateGroupManager()
Updates the CSOGroup list view and the single CSOGroup 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:176
Vector3 getGroupDefaultPathPointColor() const
Returns the default color for CSOGroups.
Definition CSOManager.h:134
void updateManager()
Updates the tree views and the single CSO and CSOGroup 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
Returns the default line style for CSOGroups.
Definition CSOManager.h:126
float getGroupDefaultVoxelWriteValue() const
Returns the default voxel write value for CSOGroups.
Definition CSOManager.h:164
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 whether the member CSOs shall use the CSOGroup's line width by default.
Definition CSOManager.h:128
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 whether the member CSOs shall use the CSOGroup's marker color by default.
Definition CSOManager.h:149
int getSelectionPathPointWidthMode()
Returns the line width mode for selected CSOs (widen / fixed width).
Definition CSOManager.h:52
float getGroupDefaultSeedPointSize() const
Returns the default marker size for CSOGroups.
Definition CSOManager.h:147
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
Returns the default marker mode for CSOGroups.
Definition CSOManager.h:143
CSOManager(int numInImages=0, int numOutImages=0)
Standard constructor.
bool getGroupDefaultUsePathPointColor() const
Returns whether the member CSOs shall use the CSOGroup's color by default.
Definition CSOManager.h:132
bool getGroupDefaultUseVoxelWriteMode() const
Returns whether the member CSOs shall use the CSOGroup's voxel write mode by default.
Definition CSOManager.h:158
float getGroupDefaultSeedPointAlpha() const
Returns the default marker alpha value for CSOGroups.
Definition CSOManager.h:155
void getSelectedSeedPointSize(float &origSize)
Returns the selected seed point size (on base of the given size if in 'enlarge' mode).
float getGroupDefaultPathPointWidth() const
Returns the default line width for CSOGroups.
Definition CSOManager.h:130
The CSO represents a contour segmentation object.
Definition CSO.h:44
Field to encapsulate a vector of three float values representing an (RGB) color with all properties o...
Definition mlFields.h:1332
Base class for all fields used in the ML.
Definition mlField.h:73
Field to encapsulate a float value.
Definition mlFields.h:389
Field to encapsulate an integer value.
Definition mlFields.h:117
Base class for an image processing module of the ML.
Definition mlModule.h:151
Field without value for notifications.
Definition mlFields.h:598
Field to encapsulate a string value.
Definition mlFields.h:553
TypedEnumField is used to encapsulate a C++ enum value and work with a real enum value instead of int...
Definition mlFields.h:358
#define ML_MODULE_CLASS_HEADER(className)
Similar to ML_CLASS_HEADER for the usage of derived classes from Module.
CSORemoveHandling
Enumeration for the removal handling of CSOs from CSOGroup and whether CSOGroup is deleted.
CSOPathPointsStyle
Enumeration of line styles (order as StylePalette::LineStyle).
Definition CSODefines.h:42
CSORemoveEmptyGroupHandling
Enumeration for empty CSOGroups removal.
CSOGroupOverflowHandling
Enumeration for the CSOGroup overflow handling modes.