29 #include "vtkChartsCoreModule.h" 62 void SetGeometry(
const vtkRectf &bounds);
67 void SetAngle(
double angle);
72 void SetAroundX(
bool isX);
88 virtual void SetAxis(
int axisIndex,
vtkAxis* axis);
103 void SetAutoRotate(
bool b);
109 void SetDecorateAxes(
bool b);
115 void SetFitToScene(
bool b);
141 void RecalculateBounds();
148 void RecalculateTransform();
186 virtual void CalculateTransforms();
250 bool CheckForSceneResize();
265 void ScaleDownAxes();
270 void ZoomAxes(
int delta);
276 void InitializeAxesBoundaryPoints();
287 void InitializeFutureBox();
292 void ComputeDataBounds();
303 void DetermineWhichAxesToLabel();
320 void GetOffsetForAxisLabel(
int axis,
float *bounds,
float *
offset);
327 double CalculateNiceMinMax(
double &min,
double &
max,
int axis);
332 void GetClippingPlaneEquation(
int i,
double *planeEquation);
342 std::vector< vtkSmartPointer<vtkAxis> >
Axes;
470 float AxesBoundaryPoints[14][3];
476 float TickLabelOffset[3][2];
500 int DirectionToData[3];
505 double DataBounds[4];
int SceneHeight
The height of the scene, as of the most recent call to Paint().
std::vector< vtkSmartPointer< vtkAxis > > Axes
The 3 axes of this chart.
bool AutoRotate
This boolean indicates whether or not we're using this chart to rotate on a timer.
data structure to represent key events.
int SceneWidth
The weight of the scene, as of the most recent call to Paint().
vtkNew< vtkTransform > PlotTransform
This transform translates and scales the plots' data points so that they appear within the axes of th...
base class for items that are part of a vtkContextScene.
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse)
Mouse button down event Return true if the item holds the event, false if the event can be propagated...
vtkNew< vtkTransform > Scale
This transform keeps track of how the data points have been scaled (zoomed in or zoomed out) within t...
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
maintain a list of planes
vtkNew< vtkTransform > Rotation
This transform keeps track of how the chart has been rotated.
bool IsX
When we're in AutoRotate mode, this boolean tells us if we should rotate about the X axis or the Y ax...
Class for drawing 2D primitives to a graphical context.
vtkRectf Geometry
The size and position of this chart.
virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta)
Mouse wheel event, positive delta indicates forward movement of the wheel.
takes care of drawing 2D axes
data structure to represent mouse events.
double Angle
When we're in AutoRotate mode, this value tells the chart how much it should be rotated.
a simple class to control print indentation
std::string YAxisLabel
The label for the Y Axis.
std::string ZAxisLabel
The label for the Z Axis.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
vtkNew< vtkTransform > Translation
This transform keeps track of how the data points have been panned within the chart.
vtkSmartPointer< vtkAnnotationLink > Link
This link is used to share selected points with other classes.
virtual bool KeyPressEvent(const vtkContextKeyEvent &key)
Key press event.
dynamic, self-adjusting array of unsigned char
A table, which contains similar-typed columns of data.
vtkNew< vtkPen > AxisPen
This is the pen that is used to draw the axes.
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
Mouse move event.
vtkNew< vtkTransform > ContextTransform
This is the transform that is applied when rendering data from the plots.
virtual bool Hit(const vtkContextMouseEvent &mouse)
Return true if the supplied x, y coordinate is inside the item.
bool FitToScene
This boolean indicates whether or not we should automatically resize the chart so that it snugly fill...
std::string XAxisLabel
The label for the X Axis.
Abstract class for 3D plots.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkPlaneCollection > BoundingCube
The six planes that define the bounding cube of our 3D axes.
vtkNew< vtkTransform > BoxScale
This transform keeps track of how the axes have been scaled (zoomed in or zoomed out).
std::vector< vtkPlot3D * > Plots
The plots that are drawn within this chart.
Factory class for drawing 3D XYZ charts.
vtkNew< vtkTransform > FutureBox
This transform is initialized as a copy of Box.
bool DrawAxesDecoration
This boolean indicates whether or not we should draw tick marks and axes labels.
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
An algorithm for linking annotations among objects.
vtkNew< vtkTransform > FutureBoxScale
This transform keeps track of the Scale of the FutureBox transform.
vtkNew< vtkTransform > Box
This is the transform that is applied when rendering data from the plots.
vtkNew< vtkPen > Pen
This is the pen that is used to draw data from the plots.
Class for drawing 3D primitives to a graphical context.