23#ifndef __vtkMRMLSegmentEditorNode_h
24#define __vtkMRMLSegmentEditorNode_h
31#include "vtkSlicerSegmentationsModuleMRMLExport.h"
53 EffectParameterModified = 62200
59 OverwriteAllSegments=0,
71 void PrintSelf(ostream& os, vtkIndent indent)
override;
80 void WriteXML(ostream& of,
int indent)
override;
118 vtkGetStringMacro(SelectedSegmentID);
119 vtkSetStringMacro(SelectedSegmentID);
124 vtkGetStringMacro(ActiveEffectName);
125 vtkSetStringMacro(ActiveEffectName);
134 vtkSetMacro(MaskMode,
int);
135 vtkGetMacro(MaskMode,
int);
142 vtkGetStringMacro(MaskSegmentID);
143 vtkSetStringMacro(MaskSegmentID);
148 vtkBooleanMacro(SourceVolumeIntensityMask,
bool);
149 vtkGetMacro(SourceVolumeIntensityMask,
bool);
150 vtkSetMacro(SourceVolumeIntensityMask,
bool);
166 vtkSetVector2Macro(SourceVolumeIntensityMaskRange,
double);
167 vtkGetVector2Macro(SourceVolumeIntensityMaskRange,
double);
174 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::SetMasterVolumeIntensityMaskRange() method is deprecated, use SetSourceVolumeIntensityMaskRange method instead");
175 this->SetSourceVolumeIntensityMaskRange(_arg1, _arg2);
179 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::SetMasterVolumeIntensityMaskRange() method is deprecated, use SetSourceVolumeIntensityMaskRange method instead");
180 this->SetSourceVolumeIntensityMaskRange(_arg);
185 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
186 return this->GetSourceVolumeIntensityMaskRange();
192 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
193 this->GetSourceVolumeIntensityMaskRange(_arg1, _arg2);
199 vtkWarningMacro(
"vtkMRMLSegmentEditorNode::GetMasterVolumeIntensityMaskRange() method is deprecated, use GetSourceVolumeIntensityMaskRange method instead");
200 this->GetSourceVolumeIntensityMaskRange(_arg);
207 vtkSetMacro(OverwriteMode,
int);
208 vtkGetMacro(OverwriteMode,
int);
218 char* SelectedSegmentID{
nullptr};
221 char* ActiveEffectName{
nullptr};
224 char* MaskSegmentID{
nullptr};
226 int OverwriteMode{OverwriteAllSegments};
228 bool SourceVolumeIntensityMask{
false};
229 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.