79 #ifndef vtkXYPlotActor_h
80 #define vtkXYPlotActor_h
82 #define VTK_XYPLOT_INDEX 0
83 #define VTK_XYPLOT_ARC_LENGTH 1
84 #define VTK_XYPLOT_NORMALIZED_ARC_LENGTH 2
85 #define VTK_XYPLOT_VALUE 3
87 #define VTK_XYPLOT_ROW 0
88 #define VTK_XYPLOT_COLUMN 1
90 #define VTK_XYPLOT_Y_AXIS_TOP 0
91 #define VTK_XYPLOT_Y_AXIS_HCENTER 1
92 #define VTK_XYPLOT_Y_AXIS_VCENTER 2 // rotate by 90 degrees (y-axis aligned)
95 #include "vtkRenderingAnnotationModule.h"
98 VTK_ABI_NAMESPACE_BEGIN
99 class vtkXYPlotActorConnections;
152 this->AddDataSetInputConnection(in,
nullptr, 0);
165 this->RemoveDataSetInputConnection(in,
nullptr, 0);
173 void RemoveAllDataSetInputConnections();
180 void SetPointComponent(
int i,
int comp);
181 int GetPointComponent(
int i);
197 vtkGetMacro(XValues,
int);
202 const char* GetXValuesAsString();
233 vtkGetMacro(DataObjectPlotMode,
int);
236 const char* GetDataObjectPlotModeAsString();
248 void SetDataObjectXComponent(
int i,
int comp);
249 int GetDataObjectXComponent(
int i);
261 void SetDataObjectYComponent(
int i,
int comp);
262 int GetDataObjectYComponent(
int i);
271 void SetPlotColor(
int i,
double r,
double g,
double b);
274 this->SetPlotColor(i, color[0], color[1], color[2]);
279 void SetPlotLabel(
int i,
const char* label);
280 const char* GetPlotLabel(
int i);
293 void SetPlotLines(
int i,
int);
294 int GetPlotLines(
int i);
296 void SetPlotPoints(
int i,
int);
297 int GetPlotPoints(
int i);
347 vtkSetStringMacro(Title);
348 vtkGetStringMacro(Title);
355 vtkSetStringMacro(XTitle);
356 vtkGetStringMacro(XTitle);
363 virtual void SetYTitle(
const char*);
385 vtkSetVector2Macro(XRange,
double);
386 vtkGetVectorMacro(XRange,
double, 2);
387 vtkSetVector2Macro(YRange,
double);
388 vtkGetVectorMacro(YRange,
double, 2);
391 this->SetXRange(xmin, xmax);
392 this->SetYRange(ymin, ymax);
403 vtkSetClampMacro(NumberOfXLabels,
int, 0, 50);
404 vtkGetMacro(NumberOfXLabels,
int);
405 vtkSetClampMacro(NumberOfYLabels,
int, 0, 50);
406 vtkGetMacro(NumberOfYLabels,
int);
409 this->SetNumberOfXLabels(num);
410 this->SetNumberOfYLabels(num);
422 void SetAdjustXLabels(
int adjust);
423 vtkGetMacro(AdjustXLabels,
int);
424 void SetAdjustYLabels(
int adjust);
425 vtkGetMacro(AdjustYLabels,
int);
432 void SetNumberOfXMinorTicks(
int num);
433 int GetNumberOfXMinorTicks();
434 void SetNumberOfYMinorTicks(
int num);
435 int GetNumberOfYMinorTicks();
454 vtkSetVector2Macro(TitlePosition,
double);
455 vtkGetVector2Macro(TitlePosition,
double);
476 AlignAxisLeft = 0x100,
477 AlignAxisRight = 0x200,
478 AlignAxisHCenter = 0x400,
479 AlignAxisTop = 0x1000,
480 AlignAxisBottom = 0x2000,
481 AlignAxisVCenter = 0x4000
492 vtkSetMacro(AdjustTitlePositionMode,
int);
493 vtkGetMacro(AdjustTitlePositionMode,
int);
505 vtkSetVector2Macro(LegendPosition,
double);
506 vtkGetVector2Macro(LegendPosition,
double);
507 vtkSetVector2Macro(LegendPosition2,
double);
508 vtkGetVector2Macro(LegendPosition2,
double);
551 virtual void SetLabelFormat(
const char*);
559 virtual void SetXLabelFormat(
const char*);
560 vtkGetStringMacro(XLabelFormat);
567 virtual void SetYLabelFormat(
const char*);
568 vtkGetStringMacro(YLabelFormat);
576 vtkSetClampMacro(Border,
int, 0, 50);
577 vtkGetMacro(Border,
int);
607 vtkSetClampMacro(GlyphSize,
double, 0.0, 0.2);
608 vtkGetMacro(GlyphSize,
double);
615 void ViewportToPlotCoordinate(
vtkViewport* viewport,
double& u,
double& v);
623 void ViewportToPlotCoordinate(
vtkViewport* viewport);
624 vtkSetVector2Macro(PlotCoordinate,
double);
625 vtkGetVector2Macro(PlotCoordinate,
double);
631 void PlotToViewportCoordinate(
vtkViewport* viewport,
double& u,
double& v);
640 void PlotToViewportCoordinate(
vtkViewport* viewport);
641 vtkSetVector2Macro(ViewportCoordinate,
double);
642 vtkGetVector2Macro(ViewportCoordinate,
double);
649 int IsInPlot(
vtkViewport* viewport,
double u,
double v);
689 vtkSetMacro(ReferenceXValue,
double);
690 vtkGetMacro(ReferenceXValue,
double);
706 vtkSetMacro(ReferenceYValue,
double);
707 vtkGetMacro(ReferenceYValue,
double);
718 void PrintAsCSV(ostream& os);
747 void SetXTitlePosition(
double position);
748 double GetXTitlePosition();
755 vtkSetMacro(YTitlePosition,
int);
756 vtkGetMacro(YTitlePosition,
int);
766 virtual void SetPlotGlyphType(
int,
int);
767 virtual void SetLineWidth(
double);
768 virtual void AddUserCurvesPoint(
double,
double,
double);
769 virtual void RemoveAllActiveCurves();
776 virtual void SetLegendBorder(
int);
777 virtual void SetLegendBox(
int);
778 virtual void SetLegendUseBackground(
int);
779 virtual void SetLegendBackgroundColor(
double,
double,
double);
786 virtual void SetTitleColor(
double,
double,
double);
787 virtual void SetTitleFontFamily(
int);
788 virtual void SetTitleBold(
int);
789 virtual void SetTitleItalic(
int);
790 virtual void SetTitleShadow(
int);
791 virtual void SetTitleFontSize(
int);
792 virtual void SetTitleJustification(
int);
793 virtual void SetTitleVerticalJustification(
int);
800 virtual void SetXAxisColor(
double,
double,
double);
801 virtual void SetYAxisColor(
double,
double,
double);
808 virtual void SetAxisTitleColor(
double,
double,
double);
809 virtual void SetAxisTitleFontFamily(
int);
810 virtual void SetAxisTitleBold(
int);
811 virtual void SetAxisTitleItalic(
int);
812 virtual void SetAxisTitleShadow(
int);
813 virtual void SetAxisTitleFontSize(
int);
814 virtual void SetAxisTitleJustification(
int);
815 virtual void SetAxisTitleVerticalJustification(
int);
822 virtual void SetAxisLabelColor(
double,
double,
double);
823 virtual void SetAxisLabelFontFamily(
int);
824 virtual void SetAxisLabelBold(
int);
825 virtual void SetAxisLabelItalic(
int);
826 virtual void SetAxisLabelShadow(
int);
827 virtual void SetAxisLabelFontSize(
int);
828 virtual void SetAxisLabelJustification(
int);
829 virtual void SetAxisLabelVerticalJustification(
int);
851 double XComputedRange[2];
852 double YComputedRange[2];
864 double TitlePosition[2];
877 double ViewportCoordinate[2];
878 double PlotCoordinate[2];
896 void InitializeEntries();
901 double LegendPosition[2];
902 double LegendPosition2[2];
932 void ComputeXRange(
double range[2],
double* lengths);
933 void ComputeYRange(
double range[2]);
934 void ComputeDORange(
double xrange[2],
double yrange[2],
double* lengths);
936 virtual void CreatePlotData(
937 int* pos,
int* pos2,
double xRange[2],
double yRange[2],
double* norms,
int numDS,
int numDO);
938 void PlaceAxes(
vtkViewport* viewport,
const int*
size,
int pos[2],
int pos2[2]);
939 void GenerateClipPlanes(
int* pos,
int* pos2);
940 double ComputeGlyphScale(
int i,
int* pos,
int* pos2);
941 void ClipPlotData(
int* pos,
int* pos2,
vtkPolyData* pd);
942 double* TransformPoint(
int pos[2],
int pos2[2],
double x[3],
double xNew[3]);
976 VTK_ABI_NAMESPACE_END
vtkPolyDataMapper2D * ChartBorderMapper
const char * GetLabelFormat()
Set/Get the format with which to print the labels .
generate an x-y plot from input dataset(s) or field data
vtkLegendBoxActor * LegendActor
maintain an unordered list of dataset objects
copy oriented and scaled glyph geometry to every input point (2D specialization)
int RenderOverlay(vtkViewport *viewport) override
Support the standard render methods.
vtkXYPlotActorConnections * InputConnectionHolder
vtkTypeUInt32 vtkMTimeType
abstract specification for Viewports
vtkPolyDataMapper2D * ReferenceLinesMapper
abstract class to specify dataset behavior
void AddDataSetInputConnection(vtkAlgorithmOutput *in)
Add a dataset to the list of data to append.
vtkMTimeType GetMTime() override
Return this objects MTime.
maintain an unordered list of data objects
a actor that draws 2D data
vtkAxisActor2D * GetXAxisActor2D()
Retrieve handles to the X and Y axis (so that you can set their text properties for example) ...
record modification and/or execution time
vtkTextProperty * AxisTitleTextProperty
#define VTK_XYPLOT_Y_AXIS_TOP
implicit function for convex set of planes
Create an axis with tick marks and labels.
void SetPlotRange(double xmin, double ymin, double xmax, double ymax)
Set the plot range (range of independent and dependent variables) to plot.
char ** SelectedInputScalars
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkSmartPointer< vtkDoubleArray > ActiveCurve
vtkProperty2D * GetChartBoxProperty()
Get the box vtkProperty2D.
Proxy object to connect input/output ports.
vtkPolyData * ChartBorderPolyData
dynamic, self-adjusting array of double
vtkTypeBool PlotCurveLines
#define VTK_XYPLOT_Y_AXIS_HCENTER
vtkTypeBool ShowReferenceYLine
window superclass for vtkRenderWindow
vtkAxisActor2D * GetYAxisActor2D()
Retrieve handles to the X and Y axis (so that you can set their text properties for example) ...
An actor that displays text.
#define VTK_XYPLOT_ARC_LENGTH
dynamic, self-adjusting array of int
vtkPolyDataMapper2D ** PlotMapper
vtkActor2D * ChartBoxActor
vtkXYPlotActorConnections * DataObjectInputConnectionHolder
vtkTypeBool AdjustTitlePosition
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
a simple class to control print indentation
static vtkActor2D * New()
Creates an actor2D with the following defaults: position (0,0) (coordinate system is viewport); at la...
vtkAppendPolyData ** PlotAppend
void SetPlotColor(int i, const double color[3])
appends one or more polygonal datasets together
vtkGlyphSource2D * GlyphSource
vtkTextMapper * TitleMapper
vtkTextProperty * AxisLabelTextProperty
#define VTK_SIZEHINT(...)
represent text properties.
void AddDataSetInput(vtkDataSet *ds)
Add a dataset to the list of data to append.
void SetNumberOfLabels(int num)
Set/Get the number of annotation labels to show along the x and y axes.
vtkTypeBool PlotCurvePoints
void SetXValuesToArcLength()
Specify how the independent (x) variable is computed from the points.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
void SetXValuesToValue()
Specify how the independent (x) variable is computed from the points.
vtkTextProperty * TitleTextProperty
vtkActor2D * ChartBorderActor
#define VTK_XYPLOT_NORMALIZED_ARC_LENGTH
void SetYTitlePositionToVCenter()
Set/Get the position of the title of Y axis.
#define VTK_XYPLOT_COLUMN
vtkTypeBool ShowReferenceXLine
void SetXValuesToNormalizedArcLength()
Specify how the independent (x) variable is computed from the points.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetDataObjectPlotModeToRows()
Indicate whether to plot rows or columns.
vtkTextActor * YTitleActor
void SetYTitlePositionToHCenter()
Set/Get the position of the title of Y axis.
represent surface properties of a 2D image
create 2D glyphs represented by vtkPolyData
vtkPolyDataMapper2D * ChartBoxMapper
void SetXValuesToIndex()
Specify how the independent (x) variable is computed from the points.
void RemoveDataSetInputConnection(vtkAlgorithmOutput *in)
Remove a dataset from the list of data to append.
vtkIntArray * SelectedInputScalarsComponent
vtkPolyData * ReferenceLinesPolyData
vtkActor2D * ReferenceLinesActor
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
general representation of visualization data
void RemoveDataSetInput(vtkDataSet *ds)
Remove a dataset from the list of data to append.
int AdjustTitlePositionMode
draw vtkPolyData onto the image plane
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyData * ChartBoxPolyData
void SetDataObjectPlotModeToColumns()
Indicate whether to plot rows or columns.
#define VTK_XYPLOT_Y_AXIS_VCENTER
void SetYTitlePositionToTop()
Set/Get the position of the title of Y axis.