20 #ifndef __vtkMRMLPlotChartNode_h 21 #define __vtkMRMLPlotChartNode_h 43 void PrintSelf(ostream& os, vtkIndent indent)
override;
53 void WriteXML(ostream& of,
int indent)
override;
67 void *callData)
override;
79 PlotModifiedEvent = 17000,
98 const char *GetPlotSeriesNodeID();
107 const char *GetNthPlotSeriesNodeID(
int n);
118 int GetPlotSeriesNodeIndexFromID(
const char* plotSeriesNodeID);
122 virtual int GetPlotSeriesNodeIDs(std::vector<std::string> &plotSeriesNodeIDs);
126 virtual int GetPlotSeriesNodeNames(std::vector<std::string> &plotSeriesNodeNames);
131 int GetNumberOfPlotSeriesNodes();
136 void AddAndObservePlotSeriesNodeID(
const char *plotSeriesNodeID);
141 void SetAndObservePlotSeriesNodeID(
const char *plotSeriesNodeID);
150 void SetAndObserveNthPlotSeriesNodeID(
int n,
const char *plotSeriesNodeID);
155 void RemovePlotSeriesNodeID(
const char *plotSeriesNodeID);
160 void RemoveNthPlotSeriesNodeID(
int n);
164 void RemoveAllPlotSeriesNodeIDs();
168 bool HasPlotSeriesNodeID(
const char* plotSeriesNodeID);
172 vtkSetStringMacro(Title);
173 vtkGetStringMacro(Title);
176 vtkSetMacro(TitleFontSize,
int);
177 vtkGetMacro(TitleFontSize,
int);
180 vtkBooleanMacro(TitleVisibility,
bool);
181 vtkGetMacro(TitleVisibility,
bool);
182 vtkSetMacro(TitleVisibility,
bool);
185 vtkBooleanMacro(GridVisibility,
bool);
186 vtkGetMacro(GridVisibility,
bool);
187 vtkSetMacro(GridVisibility,
bool);
190 vtkBooleanMacro(LegendVisibility,
bool);
191 vtkGetMacro(LegendVisibility,
bool);
192 vtkSetMacro(LegendVisibility,
bool);
195 vtkSetMacro(LegendFontSize,
int);
196 vtkGetMacro(LegendFontSize,
int);
198 vtkGetMacro(XAxisRangeAuto,
bool);
199 vtkSetMacro(XAxisRangeAuto,
bool);
200 vtkBooleanMacro(XAxisRangeAuto,
bool);
202 vtkGetMacro(YAxisRangeAuto,
bool);
203 vtkSetMacro(YAxisRangeAuto,
bool);
204 vtkBooleanMacro(YAxisRangeAuto,
bool);
206 vtkGetVector2Macro(XAxisRange,
double);
207 vtkSetVector2Macro(XAxisRange,
double);
209 vtkGetVector2Macro(YAxisRange,
double);
210 vtkSetVector2Macro(YAxisRange,
double);
214 vtkGetMacro(XAxisLogScale,
bool);
215 vtkSetMacro(XAxisLogScale,
bool);
216 vtkBooleanMacro(XAxisLogScale,
bool);
220 vtkGetMacro(YAxisLogScale,
bool);
221 vtkSetMacro(YAxisLogScale,
bool);
222 vtkBooleanMacro(YAxisLogScale,
bool);
225 vtkSetStringMacro(XAxisTitle);
226 vtkGetStringMacro(XAxisTitle);
229 vtkBooleanMacro(XAxisTitleVisibility,
bool);
230 vtkGetMacro(XAxisTitleVisibility,
bool);
231 vtkSetMacro(XAxisTitleVisibility,
bool);
234 vtkSetStringMacro(YAxisTitle);
235 vtkGetStringMacro(YAxisTitle);
238 vtkBooleanMacro(YAxisTitleVisibility,
bool);
239 vtkGetMacro(YAxisTitleVisibility,
bool);
240 vtkSetMacro(YAxisTitleVisibility,
bool);
243 vtkSetMacro(AxisTitleFontSize,
int);
244 vtkGetMacro(AxisTitleFontSize,
int);
247 vtkSetMacro(AxisLabelFontSize,
int);
248 vtkGetMacro(AxisLabelFontSize,
int);
251 vtkSetStringMacro(FontType);
252 vtkGetStringMacro(FontType);
256 vtkBooleanMacro(EnablePointMoveAlongX,
bool);
257 vtkGetMacro(EnablePointMoveAlongX,
bool);
258 vtkSetMacro(EnablePointMoveAlongX,
bool);
262 vtkBooleanMacro(EnablePointMoveAlongY,
bool);
263 vtkGetMacro(EnablePointMoveAlongY,
bool);
264 vtkSetMacro(EnablePointMoveAlongY,
bool);
267 virtual const char* GetPlotSeriesNodeReferenceRole();
270 void SetPropertyToAllPlotSeriesNodes(PlotSeriesNodeProperty plotProperty,
const char* value);
275 bool GetPropertyFromAllPlotSeriesNodes(PlotSeriesNodeProperty plotProperty, std::string& value);
300 char *Title{
nullptr};
301 int TitleFontSize{20};
302 bool TitleVisibility{
true};
303 bool GridVisibility{
true};
304 bool LegendVisibility{
true};
305 int LegendFontSize{16};
306 bool XAxisRangeAuto{
true};
307 bool YAxisRangeAuto{
true};
308 double XAxisRange[2];
309 double YAxisRange[2];
310 bool XAxisLogScale{
false};
311 bool YAxisLogScale{
false};
312 char* XAxisTitle{
nullptr};
313 bool XAxisTitleVisibility{
true};
314 char* YAxisTitle{
nullptr};
315 bool YAxisTitleVisibility{
true};
316 int AxisTitleFontSize{16};
317 int AxisLabelFontSize{12};
318 char* FontType{
nullptr};
319 bool EnablePointMoveAlongX{
true};
320 bool EnablePointMoveAlongY{
true};
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model).
MRML node for referencing a collection of data to plot.
MRML node to represent a vtkPlot object.
virtual void ReadXMLAttributes(const char **atts)
void operator=(const vtkMRMLNode &)
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
virtual void OnNodeReferenceModified(vtkMRMLNodeReference *reference)
Called when a referenced node pointer is modified.
virtual void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData)
Propagate events generated in mrml.
virtual void OnNodeReferenceRemoved(vtkMRMLNodeReference *reference)
Called when a referenced node pointer is removed (set to nullptr).
PlotSeriesNodeProperty
Properties used by SetPropertyToAllPlotSeriesNodes() and GetPropertyFromAllPlotSeriesNodes() methods...
virtual void WriteXML(ostream &of, int indent)
void PrintSelf(ostream &os, vtkIndent indent) override
#define vtkMRMLCopyContentMacro(thisClassName)
virtual void OnNodeReferenceAdded(vtkMRMLNodeReference *reference)
Abstract Superclass for all specific types of MRML nodes.
static const char * PlotSeriesNodeReferenceRole