VTK  9.0.1
vtkCubeAxesActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCubeAxesActor.h
5  Language: C++
6 
7 Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen
8 All rights reserve
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
56 #ifndef vtkCubeAxesActor_h
57 #define vtkCubeAxesActor_h
58 
59 #include "vtkActor.h"
60 #include "vtkRenderingAnnotationModule.h" // For export macro
61 
62 class vtkAxisActor;
63 class vtkCamera;
64 class vtkTextProperty;
65 class vtkStringArray;
66 
67 class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
68 {
69 public:
70  vtkTypeMacro(vtkCubeAxesActor, vtkActor);
71  void PrintSelf(ostream& os, vtkIndent indent) override;
72 
77  static vtkCubeAxesActor* New();
78 
80 
86  int RenderOverlay(vtkViewport*) override;
89 
91 
94  vtkSetMacro(RebuildAxes, bool);
95  vtkGetMacro(RebuildAxes, bool);
97 
99 
105  vtkSetVector6Macro(Bounds, double);
106  using Superclass::GetBounds;
107  double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
109 
111 
115  virtual void GetRenderedBounds(double rBounds[6]);
116  virtual double* GetRenderedBounds();
118 
120 
128  vtkSetVector2Macro(XAxisRange, double);
129  vtkSetVector2Macro(YAxisRange, double);
130  vtkSetVector2Macro(ZAxisRange, double);
131  vtkGetVector2Macro(XAxisRange, double);
132  vtkGetVector2Macro(YAxisRange, double);
134 
135 
142 
143  vtkGetVector2Macro(ZAxisRange, double);
144 
146 
151  void SetScreenSize(double screenSize);
152  vtkGetMacro(ScreenSize, double);
154 
156 
160  void SetLabelOffset(double offset);
161  vtkGetMacro(LabelOffset, double);
163 
165 
169  void SetTitleOffset(double offset);
170  vtkGetMacro(TitleOffset, double);
172 
174 
178  virtual void SetCamera(vtkCamera*);
179  vtkGetObjectMacro(Camera, vtkCamera);
181 
182  enum FlyMode
183  {
184  VTK_FLY_OUTER_EDGES = 0,
185  VTK_FLY_CLOSEST_TRIAD = 1,
186  VTK_FLY_FURTHEST_TRIAD = 2,
187  VTK_FLY_STATIC_TRIAD = 3,
188  VTK_FLY_STATIC_EDGES = 4
189  };
190 
192 
197  vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
198  vtkGetMacro(FlyMode, int);
199  void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
200  void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
201  void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
202  void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
203  void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
205 
207 
211  vtkSetStringMacro(XTitle);
212  vtkGetStringMacro(XTitle);
213  vtkSetStringMacro(XUnits);
214  vtkGetStringMacro(XUnits);
215  vtkSetStringMacro(YTitle);
216  vtkGetStringMacro(YTitle);
217  vtkSetStringMacro(YUnits);
218  vtkGetStringMacro(YUnits);
219  vtkSetStringMacro(ZTitle);
220  vtkGetStringMacro(ZTitle);
221  vtkSetStringMacro(ZUnits);
222  vtkGetStringMacro(ZUnits);
224 
226 
230  vtkSetStringMacro(XLabelFormat);
231  vtkGetStringMacro(XLabelFormat);
232  vtkSetStringMacro(YLabelFormat);
233  vtkGetStringMacro(YLabelFormat);
234  vtkSetStringMacro(ZLabelFormat);
235  vtkGetStringMacro(ZLabelFormat);
237 
239 
244  vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
245  vtkGetMacro(Inertia, int);
247 
249 
254  vtkSetMacro(CornerOffset, double);
255  vtkGetMacro(CornerOffset, double);
257 
264 
266 
269  vtkSetMacro(EnableDistanceLOD, int);
270  vtkGetMacro(EnableDistanceLOD, int);
272 
274 
277  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
278  vtkGetMacro(DistanceLODThreshold, double);
280 
282 
285  vtkSetMacro(EnableViewAngleLOD, int);
286  vtkGetMacro(EnableViewAngleLOD, int);
288 
290 
293  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
294  vtkGetMacro(ViewAngleLODThreshold, double);
296 
298 
301  vtkSetMacro(XAxisVisibility, vtkTypeBool);
302  vtkGetMacro(XAxisVisibility, vtkTypeBool);
303  vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
304  vtkSetMacro(YAxisVisibility, vtkTypeBool);
305  vtkGetMacro(YAxisVisibility, vtkTypeBool);
306  vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
307  vtkSetMacro(ZAxisVisibility, vtkTypeBool);
308  vtkGetMacro(ZAxisVisibility, vtkTypeBool);
309  vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
311 
313 
316  vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
317  vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
318  vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
320 
321  vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
322  vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
323  vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
324 
325  vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
326  vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
327  vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
328 
330 
333  vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
334  vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
335  vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
337 
338  vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
339  vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
340  vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
341 
342  vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
343  vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
344  vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
345 
347 
350  vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
351  vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
352  vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
354 
355  vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
356  vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
357  vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
358 
359  vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
360  vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
361  vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
362 
363  vtkSetMacro(DrawXGridlines, vtkTypeBool);
364  vtkGetMacro(DrawXGridlines, vtkTypeBool);
365  vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
366 
367  vtkSetMacro(DrawYGridlines, vtkTypeBool);
368  vtkGetMacro(DrawYGridlines, vtkTypeBool);
369  vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
370 
371  vtkSetMacro(DrawZGridlines, vtkTypeBool);
372  vtkGetMacro(DrawZGridlines, vtkTypeBool);
373  vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
374 
375  vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
376  vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
377  vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
378 
379  vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
380  vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
381  vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
382 
383  vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
384  vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
385  vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
386 
387  vtkSetMacro(DrawXGridpolys, vtkTypeBool);
388  vtkGetMacro(DrawXGridpolys, vtkTypeBool);
389  vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
390 
391  vtkSetMacro(DrawYGridpolys, vtkTypeBool);
392  vtkGetMacro(DrawYGridpolys, vtkTypeBool);
393  vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
394 
395  vtkSetMacro(DrawZGridpolys, vtkTypeBool);
396  vtkGetMacro(DrawZGridpolys, vtkTypeBool);
397  vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
398 
403 
408 
410 
420 
422 
432 
434 
444 
446 
456 
458  {
459  VTK_TICKS_INSIDE = 0,
460  VTK_TICKS_OUTSIDE = 1,
461  VTK_TICKS_BOTH = 2
462  };
463 
465 
468  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
469  vtkGetMacro(TickLocation, int);
471 
472  void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
473  void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
474  void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
475 
476  void SetLabelScaling(bool, int, int, int);
477 
479 
484  void SetUseTextActor3D(int val);
487 
489 
493  void SetUse2DMode(int val);
496 
500  void SetSaveTitlePosition(int val);
501 
503 
506  vtkSetVector6Macro(OrientedBounds, double);
507  vtkGetVector6Macro(OrientedBounds, double);
509 
511 
514  vtkSetMacro(UseOrientedBounds, int);
515  vtkGetMacro(UseOrientedBounds, int);
517 
519 
522  vtkSetVector3Macro(AxisBaseForX, double);
523  vtkGetVector3Macro(AxisBaseForX, double);
525 
527 
530  vtkSetVector3Macro(AxisBaseForY, double);
531  vtkGetVector3Macro(AxisBaseForY, double);
533 
535 
538  vtkSetVector3Macro(AxisBaseForZ, double);
539  vtkGetVector3Macro(AxisBaseForZ, double);
541 
543 
547  vtkSetVector3Macro(AxisOrigin, double);
548  vtkGetVector3Macro(AxisOrigin, double);
550 
552 
555  vtkSetMacro(UseAxisOrigin, int);
556  vtkGetMacro(UseAxisOrigin, int);
558 
560 
563  vtkSetMacro(GridLineLocation, int);
564  vtkGetMacro(GridLineLocation, int);
566 
568 
573  vtkSetMacro(StickyAxes, vtkTypeBool);
574  vtkGetMacro(StickyAxes, vtkTypeBool);
575  vtkBooleanMacro(StickyAxes, vtkTypeBool);
577 
579 
586  vtkSetMacro(CenterStickyAxes, vtkTypeBool);
587  vtkGetMacro(CenterStickyAxes, vtkTypeBool);
588  vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
590 
592  {
593  VTK_GRID_LINES_ALL = 0,
594  VTK_GRID_LINES_CLOSEST = 1,
595  VTK_GRID_LINES_FURTHEST = 2
596  };
597 
598 protected:
600  ~vtkCubeAxesActor() override;
601 
608  vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
609 
613  void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
614 
619  static void GetBoundsPointBits(
620  unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
621 
625  static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
626 
627  int LabelExponent(double min, double max);
628 
629  int Digits(double min, double max);
630 
631  double MaxOf(double, double);
632  double MaxOf(double, double, double, double);
633 
634  double FFix(double);
635  double FSign(double, double);
636  int FRound(double fnt);
637  int GetNumTicks(double range, double fxt);
638 
639  void UpdateLabels(vtkAxisActor** axis, int index);
640 
642 
643  int FlyMode;
644 
645  // Expose internally closest axis index computation
646  int FindClosestAxisIndex(double pts[8][3]);
647 
648  // Expose internally furthest axis index computation
649  int FindFurtherstAxisIndex(double pts[8][3]);
650 
651  // Expose internally the boundary edge fly mode axis index computation
652  void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
653 
659  void UpdateGridLineVisibility(int axisIndex);
660 
661  // VTK_ALL_GRID_LINES 0
662  // VTK_CLOSEST_GRID_LINES 1
663  // VTK_FURTHEST_GRID_LINES 2
665 
670 
675 
681 
687 
693 
699 
701  {
702  NUMBER_OF_ALIGNED_AXIS = 4
703  };
704 
706 
710  vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
711  vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
712  vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
714 
716 
717  char* XTitle;
718  char* XUnits;
719  char* YTitle;
720  char* YUnits;
721  char* ZTitle;
722  char* ZUnits;
723 
727 
729 
733 
737 
741 
745 
749 
753 
757 
761 
762  double CornerOffset;
763 
764  int Inertia;
765 
767 
768  int InertiaLocs[3];
769 
771 
772  vtkTextProperty* TitleTextProperty[3];
773  vtkStringArray* AxisLabels[3];
774 
775  vtkTextProperty* LabelTextProperty[3];
776 
789 
790  double RenderedBounds[6];
791  double OrientedBounds[6];
793 
794  double AxisOrigin[3];
796 
797  double AxisBaseForX[3];
798  double AxisBaseForY[3];
799  double AxisBaseForZ[3];
800 
801 private:
802  vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
803  void operator=(const vtkCubeAxesActor&) = delete;
804 
805  vtkSetStringMacro(ActualXLabel);
806  vtkSetStringMacro(ActualYLabel);
807  vtkSetStringMacro(ActualZLabel);
808 
809  vtkTimeStamp BuildTime;
810  int LastUseOrientedBounds;
811  int LastXPow;
812  int LastYPow;
813  int LastZPow;
814 
815  int UserXPow;
816  int UserYPow;
817  int UserZPow;
818 
819  bool AutoLabelScaling;
820 
821  int LastXAxisDigits;
822  int LastYAxisDigits;
823  int LastZAxisDigits;
824 
825  double LastXRange[2];
826  double LastYRange[2];
827  double LastZRange[2];
828  double LastBounds[6];
829 
830  int LastFlyMode;
831 
832  int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
833  int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
834  int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
835 
836  int NumberOfAxesX;
837  int NumberOfAxesY;
838  int NumberOfAxesZ;
839 
840  bool MustAdjustXValue;
841  bool MustAdjustYValue;
842  bool MustAdjustZValue;
843 
844  bool ForceXLabelReset;
845  bool ForceYLabelReset;
846  bool ForceZLabelReset;
847 
848  double XAxisRange[2];
849  double YAxisRange[2];
850  double ZAxisRange[2];
851 
852  double LabelScale;
853  double TitleScale;
854 
855  double ScreenSize;
856  double LabelOffset;
857  double TitleOffset;
858 
860 
864  double MajorStart[3];
865  double DeltaMajor[3];
867 
868  int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
869  int (vtkAxisActor::*renderMethod)(vtkViewport*));
870 
871  void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
872  void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
873  double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
874  double xRange[2], double yRange[2], double zRange[2]);
875 
876  bool ComputeTickSize(double bounds[6]);
877  void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
878  void AdjustRange(const double bounds[6]);
879  void BuildAxes(vtkViewport*);
880  void DetermineRenderAxes(vtkViewport*);
881  void SetNonDependentAttributes(void);
882  void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
883  void AdjustTicksComputeRange(
884  vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
885 
886  void AutoScale(vtkViewport* viewport);
887  void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
888  double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
889 };
890 
891 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:72
a virtual camera for 3D rendering
Definition: vtkCamera.h:46
create a plot of a bounding box edges - used for navigation
void FindBoundaryEdge(int &indexOfAxisX, int &indexOfAxisY, int &indexOfAxisZ, double pts[8][3])
void SetTickLocationToInside(void)
vtkStringArray * GetAxisLabels(int axis)
Explicitly specify the axis labels along an axis as an array of strings instead of using the values.
virtual double * GetRenderedBounds()
int EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
vtkTypeBool DrawZGridlines
void SetXAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
void GetViewportLimitedBounds(vtkViewport *viewport, double bounds[6])
Get bounds such that the axes are entirely within a viewport.
void UpdateGridLineVisibility(int axisIndex)
This will Update AxisActors with GridVisibility when those should be dynamaic regarding the viewport.
void SetScreenSize(double screenSize)
Explicitly specify the screen size of title and label text.
int RenderOverlay(vtkViewport *) override
vtkTypeBool CenterStickyAxes
Flag for centering sticky axes.
virtual int RenderTranslucentGeometry(vtkViewport *)
vtkTypeBool DrawYGridlines
double FSign(double, double)
void SetYAxesInnerGridlinesProperty(vtkProperty *)
vtkTypeBool YAxisVisibility
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
void SetUse2DMode(int val)
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
vtkTypeBool DrawXGridpolys
vtkProperty * GetYAxesGridpolysProperty()
vtkTypeBool DrawXInnerGridlines
vtkTypeBool HasTranslucentPolygonalGeometry() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
vtkProperty * GetXAxesInnerGridlinesProperty()
vtkTypeBool DrawZInnerGridlines
int EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
vtkProperty * XAxesInnerGridlinesProperty
void SetXAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
void SetTitleOffset(double offset)
Explicitly specify the distance between title and labels.
vtkProperty * GetZAxesInnerGridlinesProperty()
void SetZAxesGridpolysProperty(vtkProperty *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkProperty * GetZAxesLinesProperty()
vtkProperty * GetYAxesLinesProperty()
static vtkCubeAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
vtkProperty * YAxesLinesProperty
void SetFlyModeToClosestTriad()
void SetYAxesGridpolysProperty(vtkProperty *)
void SetZAxesInnerGridlinesProperty(vtkProperty *)
void SetZAxesGridlinesProperty(vtkProperty *)
double ViewAngleLODThreshold
This determines at what view angle to geometry will make the geometry not visible.
~vtkCubeAxesActor() override
void SetAxisLabels(int axis, vtkStringArray *value)
int FRound(double fnt)
int FindClosestAxisIndex(double pts[8][3])
int RenderOpaqueGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkProperty * YAxesInnerGridlinesProperty
void ComputeStickyAxesBoundingSphere(vtkViewport *viewport, const double bounds[6], double sphereCenter[3], double &sphereRadius)
Computes a bounding sphere used to determine the sticky bounding box.
static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3])
Get a point on the bounding box by point index.
vtkTypeBool DrawYInnerGridlines
vtkProperty * YAxesGridlinesProperty
void SetLabelOffset(double offset)
Explicitly specify the distance between labels and the axis.
vtkTypeBool YAxisLabelVisibility
vtkProperty * GetYAxesGridlinesProperty()
vtkTypeBool XAxisVisibility
vtkTypeBool StickyAxes
Flag for axes stickiness.
vtkTypeBool XAxisTickVisibility
vtkTypeBool YAxisTickVisibility
double * GetBounds() override
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
void SetZAxesLinesProperty(vtkProperty *)
vtkTypeBool DrawYGridpolys
vtkProperty * GetXAxesGridlinesProperty()
void SetFlyModeToStaticEdges()
vtkTypeBool YAxisMinorTickVisibility
void SetFlyModeToStaticTriad()
void SetYAxesLinesProperty(vtkProperty *)
vtkProperty * GetXAxesLinesProperty()
vtkTextProperty * GetTitleTextProperty(int)
Returns the text property for the title on an axis.
void SetSaveTitlePosition(int val)
For 2D mode only: save axis title positions for later use.
vtkProperty * YAxesGridpolysProperty
vtkProperty * XAxesGridlinesProperty
vtkTextProperty * GetLabelTextProperty(int)
Returns the text property for the labels on an axis.
static void GetBoundsPointBits(unsigned int pointIndex, unsigned int &xBit, unsigned int &yBit, unsigned int &zBit)
Get the bits for a bounds point.
void SetXAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
void SetLabelScaling(bool, int, int, int)
void SetTickLocationToOutside(void)
vtkProperty * ZAxesLinesProperty
void SetUseTextActor3D(int val)
Use or not vtkTextActor3D for titles and labels.
vtkProperty * GetYAxesInnerGridlinesProperty()
double FFix(double)
int FindFurtherstAxisIndex(double pts[8][3])
vtkTypeBool DrawZGridpolys
vtkProperty * XAxesGridpolysProperty
vtkProperty * ZAxesGridlinesProperty
vtkProperty * GetXAxesGridpolysProperty()
vtkTypeBool DrawXGridlines
vtkProperty * ZAxesInnerGridlinesProperty
double MaxOf(double, double, double, double)
vtkProperty * GetZAxesGridpolysProperty()
int GetNumTicks(double range, double fxt)
void UpdateLabels(vtkAxisActor **axis, int index)
vtkTypeBool ZAxisTickVisibility
vtkProperty * XAxesLinesProperty
int Digits(double min, double max)
vtkTypeBool XAxisLabelVisibility
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
vtkTypeBool ZAxisVisibility
vtkTypeBool ZAxisMinorTickVisibility
virtual void SetCamera(vtkCamera *)
Set/Get the camera to perform scaling and translation of the vtkCubeAxesActor.
virtual void GetRenderedBounds(double rBounds[6])
Method used to properly return the bounds of the cube axis itself with all its labels.
double MaxOf(double, double)
vtkTypeBool XAxisMinorTickVisibility
int LabelExponent(double min, double max)
vtkProperty * ZAxesGridpolysProperty
vtkProperty * GetZAxesGridlinesProperty()
void SetXAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
void SetYAxesGridlinesProperty(vtkProperty *)
void SetTickLocationToBoth(void)
void SetFlyModeToFurthestTriad()
vtkTypeBool ZAxisLabelVisibility
double DistanceLODThreshold
Default is 0.80 This determines at what fraction of camera far clip range, actor is not visible.
a simple class to control print indentation
Definition: vtkIndent.h:34
double Bounds[6]
Definition: vtkProp3D.h:345
double * GetBounds() override=0
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
represent surface properties of a geometric object
Definition: vtkProperty.h:62
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:33
abstract specification for Viewports
Definition: vtkViewport.h:45
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
@ point
Definition: vtkX3D.h:242
@ value
Definition: vtkX3D.h:226
@ range
Definition: vtkX3D.h:244
@ position
Definition: vtkX3D.h:267
@ index
Definition: vtkX3D.h:252
@ offset
Definition: vtkX3D.h:444
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_INT_MAX
Definition: vtkType.h:155
#define VTK_SIZEHINT(...)
#define max(a, b)