88 #ifndef vtkXYPlotActor_h 89 #define vtkXYPlotActor_h 91 #define VTK_XYPLOT_INDEX 0 92 #define VTK_XYPLOT_ARC_LENGTH 1 93 #define VTK_XYPLOT_NORMALIZED_ARC_LENGTH 2 94 #define VTK_XYPLOT_VALUE 3 96 #define VTK_XYPLOT_ROW 0 97 #define VTK_XYPLOT_COLUMN 1 99 #define VTK_XYPLOT_Y_AXIS_TOP 0 100 #define VTK_XYPLOT_Y_AXIS_HCENTER 1 101 #define VTK_XYPLOT_Y_AXIS_VCENTER 2 // rotate by 90 degrees (y-axis aligned) 104 #include "vtkRenderingAnnotationModule.h" 107 class vtkXYPlotActorConnections;
160 this->AddDataSetInputConnection(in,
nullptr, 0);
173 this->RemoveDataSetInputConnection(in,
nullptr, 0);
181 void RemoveAllDataSetInputConnections();
188 void SetPointComponent(
int i,
int comp);
189 int GetPointComponent(
int i);
205 vtkGetMacro(XValues,
int);
210 const char* GetXValuesAsString();
241 vtkGetMacro(DataObjectPlotMode,
int);
244 const char* GetDataObjectPlotModeAsString();
256 void SetDataObjectXComponent(
int i,
int comp);
257 int GetDataObjectXComponent(
int i);
269 void SetDataObjectYComponent(
int i,
int comp);
270 int GetDataObjectYComponent(
int i);
279 void SetPlotColor(
int i,
double r,
double g,
double b);
287 void SetPlotLabel(
int i,
const char* label);
288 const char* GetPlotLabel(
int i);
301 void SetPlotLines(
int i,
int);
302 int GetPlotLines(
int i);
304 void SetPlotPoints(
int i,
int);
305 int GetPlotPoints(
int i);
355 vtkSetStringMacro(Title);
356 vtkGetStringMacro(Title);
363 vtkSetStringMacro(XTitle);
364 vtkGetStringMacro(XTitle);
371 virtual void SetYTitle(
const char*);
393 vtkSetVector2Macro(XRange,
double);
394 vtkGetVectorMacro(XRange,
double, 2);
395 vtkSetVector2Macro(YRange,
double);
396 vtkGetVectorMacro(YRange,
double, 2);
399 this->SetXRange(xmin, xmax);
400 this->SetYRange(ymin, ymax);
411 vtkSetClampMacro(NumberOfXLabels,
int, 0, 50);
412 vtkGetMacro(NumberOfXLabels,
int);
413 vtkSetClampMacro(NumberOfYLabels,
int, 0, 50);
414 vtkGetMacro(NumberOfYLabels,
int);
417 this->SetNumberOfXLabels(num);
418 this->SetNumberOfYLabels(num);
430 void SetAdjustXLabels(
int adjust);
431 vtkGetMacro(AdjustXLabels,
int);
432 void SetAdjustYLabels(
int adjust);
433 vtkGetMacro(AdjustYLabels,
int);
440 void SetNumberOfXMinorTicks(
int num);
441 int GetNumberOfXMinorTicks();
442 void SetNumberOfYMinorTicks(
int num);
443 int GetNumberOfYMinorTicks();
462 vtkSetVector2Macro(TitlePosition,
double);
463 vtkGetVector2Macro(TitlePosition,
double);
484 AlignAxisLeft = 0x100,
485 AlignAxisRight = 0x200,
486 AlignAxisHCenter = 0x400,
487 AlignAxisTop = 0x1000,
488 AlignAxisBottom = 0x2000,
489 AlignAxisVCenter = 0x4000
500 vtkSetMacro(AdjustTitlePositionMode,
int);
501 vtkGetMacro(AdjustTitlePositionMode,
int);
513 vtkSetVector2Macro(LegendPosition,
double);
514 vtkGetVector2Macro(LegendPosition,
double);
515 vtkSetVector2Macro(LegendPosition2,
double);
516 vtkGetVector2Macro(LegendPosition2,
double);
559 virtual void SetLabelFormat(
const char*);
567 virtual void SetXLabelFormat(
const char*);
568 vtkGetStringMacro(XLabelFormat);
575 virtual void SetYLabelFormat(
const char*);
576 vtkGetStringMacro(YLabelFormat);
584 vtkSetClampMacro(Border,
int, 0, 50);
585 vtkGetMacro(Border,
int);
615 vtkSetClampMacro(GlyphSize,
double, 0.0, 0.2);
616 vtkGetMacro(GlyphSize,
double);
623 void ViewportToPlotCoordinate(
vtkViewport* viewport,
double& u,
double& v);
631 void ViewportToPlotCoordinate(
vtkViewport* viewport);
632 vtkSetVector2Macro(PlotCoordinate,
double);
633 vtkGetVector2Macro(PlotCoordinate,
double);
639 void PlotToViewportCoordinate(
vtkViewport* viewport,
double& u,
double& v);
648 void PlotToViewportCoordinate(
vtkViewport* viewport);
649 vtkSetVector2Macro(ViewportCoordinate,
double);
650 vtkGetVector2Macro(ViewportCoordinate,
double);
657 int IsInPlot(
vtkViewport* viewport,
double u,
double v);
697 vtkSetMacro(ReferenceXValue,
double);
698 vtkGetMacro(ReferenceXValue,
double);
714 vtkSetMacro(ReferenceYValue,
double);
715 vtkGetMacro(ReferenceYValue,
double);
726 void PrintAsCSV(ostream& os);
755 void SetXTitlePosition(
double position);
756 double GetXTitlePosition();
763 vtkSetMacro(YTitlePosition,
int);
764 vtkGetMacro(YTitlePosition,
int);
774 virtual void SetPlotGlyphType(
int,
int);
775 virtual void SetLineWidth(
double);
776 virtual void AddUserCurvesPoint(
double,
double,
double);
777 virtual void RemoveAllActiveCurves();
784 virtual void SetLegendBorder(
int);
785 virtual void SetLegendBox(
int);
786 virtual void SetLegendUseBackground(
int);
787 virtual void SetLegendBackgroundColor(
double,
double,
double);
794 virtual void SetTitleColor(
double,
double,
double);
795 virtual void SetTitleFontFamily(
int);
796 virtual void SetTitleBold(
int);
797 virtual void SetTitleItalic(
int);
798 virtual void SetTitleShadow(
int);
799 virtual void SetTitleFontSize(
int);
800 virtual void SetTitleJustification(
int);
801 virtual void SetTitleVerticalJustification(
int);
808 virtual void SetXAxisColor(
double,
double,
double);
809 virtual void SetYAxisColor(
double,
double,
double);
816 virtual void SetAxisTitleColor(
double,
double,
double);
817 virtual void SetAxisTitleFontFamily(
int);
818 virtual void SetAxisTitleBold(
int);
819 virtual void SetAxisTitleItalic(
int);
820 virtual void SetAxisTitleShadow(
int);
821 virtual void SetAxisTitleFontSize(
int);
822 virtual void SetAxisTitleJustification(
int);
823 virtual void SetAxisTitleVerticalJustification(
int);
830 virtual void SetAxisLabelColor(
double,
double,
double);
831 virtual void SetAxisLabelFontFamily(
int);
832 virtual void SetAxisLabelBold(
int);
833 virtual void SetAxisLabelItalic(
int);
834 virtual void SetAxisLabelShadow(
int);
835 virtual void SetAxisLabelFontSize(
int);
836 virtual void SetAxisLabelJustification(
int);
837 virtual void SetAxisLabelVerticalJustification(
int);
859 double XComputedRange[2];
860 double YComputedRange[2];
872 double TitlePosition[2];
885 double ViewportCoordinate[2];
886 double PlotCoordinate[2];
904 void InitializeEntries();
909 double LegendPosition[2];
910 double LegendPosition2[2];
940 void ComputeXRange(
double range[2],
double* lengths);
941 void ComputeYRange(
double range[2]);
942 void ComputeDORange(
double xrange[2],
double yrange[2],
double* lengths);
944 virtual void CreatePlotData(
945 int* pos,
int* pos2,
double xRange[2],
double yRange[2],
double* norms,
int numDS,
int numDO);
946 void PlaceAxes(
vtkViewport* viewport,
const int*
size,
int pos[2],
int pos2[2]);
947 void GenerateClipPlanes(
int* pos,
int* pos2);
948 double ComputeGlyphScale(
int i,
int* pos,
int* pos2);
949 void ClipPlotData(
int* pos,
int* pos2,
vtkPolyData* pd);
950 double* TransformPoint(
int pos[2],
int pos2[2],
double x[3],
double xNew[3]);
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.