23#ifndef __vtkMRMLSegmentEditorNode_h
24#define __vtkMRMLSegmentEditorNode_h
31#include "vtkSlicerSegmentationsModuleMRMLExport.h"
54 EffectParameterModified = 62200
60 OverwriteAllSegments=0,
72 void PrintSelf(ostream& os, vtkIndent indent)
override;
81 void WriteXML(ostream& of,
int indent)
override;
119 vtkGetStringMacro(SelectedSegmentID);
120 vtkSetStringMacro(SelectedSegmentID);
125 vtkGetStringMacro(ActiveEffectName);
126 vtkSetStringMacro(ActiveEffectName);
135 vtkSetMacro(MaskMode,
int);
136 vtkGetMacro(MaskMode,
int);
143 vtkGetStringMacro(MaskSegmentID);
144 vtkSetStringMacro(MaskSegmentID);
149 vtkBooleanMacro(SourceVolumeIntensityMask,
bool);
150 vtkGetMacro(SourceVolumeIntensityMask,
bool);
151 vtkSetMacro(SourceVolumeIntensityMask,
bool);
167 vtkSetVector2Macro(SourceVolumeIntensityMaskRange,
double);
168 vtkGetVector2Macro(SourceVolumeIntensityMaskRange,
double);
175 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::SetMasterVolumeIntensityMaskRange() method is deprecated, use SetSourceVolumeIntensityMaskRange method instead");
176 this->SetSourceVolumeIntensityMaskRange(_arg1, _arg2);
180 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::SetMasterVolumeIntensityMaskRange() method is deprecated, use SetSourceVolumeIntensityMaskRange method instead");
181 this->SetSourceVolumeIntensityMaskRange(_arg);
186 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
187 return this->GetSourceVolumeIntensityMaskRange();
193 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
194 this->GetSourceVolumeIntensityMaskRange(_arg1, _arg2);
200 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
201 this->GetSourceVolumeIntensityMaskRange(_arg);
208 vtkSetMacro(OverwriteMode,
int);
209 vtkGetMacro(OverwriteMode,
int);
219 char* SelectedSegmentID{
nullptr};
222 char* ActiveEffectName{
nullptr};
225 char* MaskSegmentID{
nullptr};
227 int OverwriteMode{OverwriteAllSegments};
229 bool SourceVolumeIntensityMask{
false};
230 double SourceVolumeIntensityMaskRange[2];
Abstract Superclass for all specific types of MRML nodes.
MRML node for representing a volume (image stack).
A set of MRML Nodes that supports serialization and undo/redo.
Parameter set node for the segment editor widget.
vtkMRMLScalarVolumeNode * GetMasterVolumeNode()
Deprecated. Use GetSourceVolumeNode/SetAndObserveSourceVolumeNode methods instead.
const char * GetNodeTagName() override
Get unique node XML tag name (like Volume, Model)
vtkMRMLSegmentEditorNode(const vtkMRMLSegmentEditorNode &)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
virtual void SetMasterVolumeIntensityMaskRange(double _arg1, double _arg2)
Deprecated. Use Get/SetSourceVolumeIntensityMaskRange method instead.
void SetAndObserveSourceVolumeNode(vtkMRMLScalarVolumeNode *node)
virtual VTK_WRAPEXCLUDE void GetMasterVolumeIntensityMaskRange(double _arg[2])
static int ConvertOverwriteModeFromString(const char *modeStr)
Convert between constants IDs to/from string.
virtual bool GetMasterVolumeIntensityMask()
virtual VTK_WRAPEXCLUDE void GetMasterVolumeIntensityMaskRange(double &_arg1, double &_arg2)
@ OverwriteNone
Areas added to selected segment will not be removed from any segments. (overlap with all other segmen...
@ OverwriteVisibleSegments
Areas added to selected segment will be removed from all visible segments. (no overlap with visible,...
vtkMRMLSegmentationNode * GetSegmentationNode()
Get/set segmentation node.
virtual void MasterVolumeIntensityMaskOn()
Deprecated. Use Get/SetSourceVolumeIntensityMask method instead.
static const char * ConvertOverwriteModeToString(int mode)
void SetAndObserveSegmentationNode(vtkMRMLSegmentationNode *node)
void ReadXMLAttributes(const char **atts) override
Set node attributes from name/value pairs.
vtkMRMLNode * CreateNodeInstance() override
Create a new node of this type.
void PrintSelf(ostream &os, vtkIndent indent) override
void SetMasterVolumeIntensityMaskRange(const double _arg[2])
virtual void MasterVolumeIntensityMaskOff()
static vtkMRMLSegmentEditorNode * New()
virtual void SetMasterVolumeIntensityMask(bool enable)
virtual double * GetMasterVolumeIntensityMaskRange() VTK_SIZEHINT(2)
vtkMRMLSegmentEditorNode()
void operator=(const vtkMRMLSegmentEditorNode &)
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
~vtkMRMLSegmentEditorNode() override
void SetAndObserveMasterVolumeNode(vtkMRMLScalarVolumeNode *node)
vtkMRMLScalarVolumeNode * GetSourceVolumeNode()
MRML node containing segmentations.
@ EditAllowedEverywhere
Modification is allowed everywhere.