20 #ifndef __vtkMRMLPlotSeriesNode_h 21 #define __vtkMRMLPlotSeriesNode_h 82 void PrintSelf(ostream& os, vtkIndent indent)
override;
96 void WriteXML(ostream& of,
int indent)
override;
105 virtual void SetAndObserveTableNodeID(
const char *tableNodeID);
111 virtual void SetAndObserveTableNodeID(
const std::string& tableNodeID);
121 void *callData)
override;
127 TableModifiedEvent = 15000
132 const char *GetTableNodeID();
143 vtkSetMacro(PlotType,
int);
144 vtkGetMacro(PlotType,
int);
149 virtual void SetPlotType(
const char* type);
152 vtkGetMacro(XColumnName, std::string);
153 vtkSetMacro(XColumnName, std::string);
157 vtkGetMacro(YColumnName, std::string);
158 vtkSetMacro(YColumnName, std::string);
162 vtkGetMacro(LabelColumnName, std::string);
163 vtkSetMacro(LabelColumnName, std::string);
167 static const char *GetPlotTypeAsString(
int id);
168 static int GetPlotTypeFromString(
const char *name);
175 vtkSetMacro(MarkerStyle,
int);
176 vtkGetMacro(MarkerStyle,
int);
180 static const char *GetMarkerStyleAsString(
int id);
181 static int GetMarkerStyleFromString(
const char *name);
186 vtkGetMacro(MarkerSize,
float);
187 vtkSetMacro(MarkerSize,
float);
193 vtkSetMacro(LineStyle,
int);
194 vtkGetMacro(LineStyle,
int);
198 const char *GetLineStyleAsString(
int id);
199 int GetLineStyleFromString(
const char *name);
204 vtkGetMacro(LineWidth,
float);
205 vtkSetMacro(LineWidth,
float);
209 vtkGetVector3Macro(Color,
double);
210 vtkSetVector3Macro(Color,
double);
215 void SetUniqueColor(
const char* colorTableNodeID =
nullptr);
219 vtkGetMacro(Opacity,
double);
220 vtkSetMacro(Opacity,
double);
224 bool IsXColumnRequired();
238 virtual const char* GetTableNodeReferenceRole();
239 virtual const char* GetTableNodeReferenceMRMLAttributeName();
245 Superclass::OnNodeReferenceAdded(reference);
246 if (std::string(reference->
GetReferenceRole()) == this->TableNodeReferenceRole)
256 Superclass::OnNodeReferenceModified(reference);
257 if (std::string(reference->
GetReferenceRole()) == this->TableNodeReferenceRole)
267 Superclass::OnNodeReferenceRemoved(reference);
268 if (std::string(reference->
GetReferenceRole()) == this->TableNodeReferenceRole)
285 int PlotType{PlotTypeLine};
292 int LineStyle{LineStyleSolid};
295 int MarkerStyle{MarkerStyleCircle};
virtual char * GetReferenceRole()
std::string LabelColumnName
virtual void InvokeCustomModifiedEvent(int eventId, void *callData=nullptr)
This method allows the node to compress events.
MRML node to represent a vtkPlot object.
vtkMRMLNode * GetReferencedNode() const
virtual void ReadXMLAttributes(const char **atts)
static const char * TableNodeReferenceMRMLAttributeName
void operator=(const vtkMRMLNode &)
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
virtual void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData)
Propagate events generated in mrml.
void OnNodeReferenceRemoved(vtkMRMLNodeReference *reference) override
Called after a node reference ID is removed (list size decreased).
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model).
A superclass for other storage nodes.
virtual void WriteXML(ostream &of, int indent)
void OnNodeReferenceAdded(vtkMRMLNodeReference *reference) override
Called when a node reference ID is added (list size increased).
void PrintSelf(ostream &os, vtkIndent indent) override
#define vtkMRMLCopyContentMacro(thisClassName)
MRML node to represent a table object.
Abstract Superclass for all specific types of MRML nodes.
Class to hold information about a node reference.
void OnNodeReferenceModified(vtkMRMLNodeReference *reference) override
Called when a node reference ID is modified.
static const char * TableNodeReferenceRole