VTK  9.2.5
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 =========================================================================*/
88 #ifndef vtkCubeAxesActor_h
89 #define vtkCubeAxesActor_h
90 
91 #include "vtkActor.h"
92 #include "vtkRenderingAnnotationModule.h" // For export macro
93 
94 class vtkAxisActor;
95 class vtkCamera;
96 class vtkTextProperty;
97 class vtkStringArray;
98 
99 class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
100 {
101 public:
102  vtkTypeMacro(vtkCubeAxesActor, vtkActor);
103  void PrintSelf(ostream& os, vtkIndent indent) override;
104 
110 
112 
118  int RenderOverlay(vtkViewport*) override;
121 
123 
126  vtkSetMacro(RebuildAxes, bool);
127  vtkGetMacro(RebuildAxes, bool);
129 
131 
137  vtkSetVector6Macro(Bounds, double);
138  using Superclass::GetBounds;
139  double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
141 
143 
147  virtual void GetRenderedBounds(double rBounds[6]);
148  virtual double* GetRenderedBounds();
150 
152 
160  vtkSetVector2Macro(XAxisRange, double);
161  vtkSetVector2Macro(YAxisRange, double);
162  vtkSetVector2Macro(ZAxisRange, double);
163  vtkGetVector2Macro(XAxisRange, double);
164  vtkGetVector2Macro(YAxisRange, double);
167 
174 
175  vtkGetVector2Macro(ZAxisRange, double);
176 
178 
183  void SetScreenSize(double screenSize);
184  vtkGetMacro(ScreenSize, double);
186 
188 
192  void SetLabelOffset(double offset);
193  vtkGetMacro(LabelOffset, double);
195 
197 
201  void SetTitleOffset(double offset);
202  vtkGetMacro(TitleOffset, double);
204 
206 
210  virtual void SetCamera(vtkCamera*);
211  vtkGetObjectMacro(Camera, vtkCamera);
213 
214  enum FlyMode
215  {
216  VTK_FLY_OUTER_EDGES = 0,
217  VTK_FLY_CLOSEST_TRIAD = 1,
218  VTK_FLY_FURTHEST_TRIAD = 2,
219  VTK_FLY_STATIC_TRIAD = 3,
220  VTK_FLY_STATIC_EDGES = 4
221  };
222 
224 
229  vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
230  vtkGetMacro(FlyMode, int);
231  void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
232  void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
233  void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
234  void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
235  void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
237 
239 
243  vtkSetStringMacro(XTitle);
244  vtkGetStringMacro(XTitle);
245  vtkSetStringMacro(XUnits);
246  vtkGetStringMacro(XUnits);
247  vtkSetStringMacro(YTitle);
248  vtkGetStringMacro(YTitle);
249  vtkSetStringMacro(YUnits);
250  vtkGetStringMacro(YUnits);
251  vtkSetStringMacro(ZTitle);
252  vtkGetStringMacro(ZTitle);
253  vtkSetStringMacro(ZUnits);
254  vtkGetStringMacro(ZUnits);
256 
258 
262  vtkSetStringMacro(XLabelFormat);
263  vtkGetStringMacro(XLabelFormat);
264  vtkSetStringMacro(YLabelFormat);
265  vtkGetStringMacro(YLabelFormat);
266  vtkSetStringMacro(ZLabelFormat);
267  vtkGetStringMacro(ZLabelFormat);
269 
271 
276  vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
277  vtkGetMacro(Inertia, int);
279 
281 
286  vtkSetMacro(CornerOffset, double);
287  vtkGetMacro(CornerOffset, double);
289 
296 
298 
301  vtkSetMacro(EnableDistanceLOD, int);
302  vtkGetMacro(EnableDistanceLOD, int);
304 
306 
309  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
310  vtkGetMacro(DistanceLODThreshold, double);
312 
314 
317  vtkSetMacro(EnableViewAngleLOD, int);
318  vtkGetMacro(EnableViewAngleLOD, int);
320 
322 
325  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
326  vtkGetMacro(ViewAngleLODThreshold, double);
328 
330 
333  vtkSetMacro(XAxisVisibility, vtkTypeBool);
334  vtkGetMacro(XAxisVisibility, vtkTypeBool);
335  vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
336  vtkSetMacro(YAxisVisibility, vtkTypeBool);
337  vtkGetMacro(YAxisVisibility, vtkTypeBool);
338  vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
339  vtkSetMacro(ZAxisVisibility, vtkTypeBool);
340  vtkGetMacro(ZAxisVisibility, vtkTypeBool);
341  vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
343 
345 
348  vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
349  vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
350  vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
352 
353  vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
354  vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
355  vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
356 
357  vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
358  vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
359  vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
360 
362 
365  vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
366  vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
367  vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
369 
370  vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
371  vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
372  vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
373 
374  vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
375  vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
376  vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
377 
379 
382  vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
383  vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
384  vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
386 
387  vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
388  vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
389  vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
390 
391  vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
392  vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
393  vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
394 
395  vtkSetMacro(DrawXGridlines, vtkTypeBool);
396  vtkGetMacro(DrawXGridlines, vtkTypeBool);
397  vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
398 
399  vtkSetMacro(DrawYGridlines, vtkTypeBool);
400  vtkGetMacro(DrawYGridlines, vtkTypeBool);
401  vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
402 
403  vtkSetMacro(DrawZGridlines, vtkTypeBool);
404  vtkGetMacro(DrawZGridlines, vtkTypeBool);
405  vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
406 
407  vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
408  vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
409  vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
410 
411  vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
412  vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
413  vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
414 
415  vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
416  vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
417  vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
418 
419  vtkSetMacro(DrawXGridpolys, vtkTypeBool);
420  vtkGetMacro(DrawXGridpolys, vtkTypeBool);
421  vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
422 
423  vtkSetMacro(DrawYGridpolys, vtkTypeBool);
424  vtkGetMacro(DrawYGridpolys, vtkTypeBool);
425  vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
426 
427  vtkSetMacro(DrawZGridpolys, vtkTypeBool);
428  vtkGetMacro(DrawZGridpolys, vtkTypeBool);
429  vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
430 
435 
440 
442 
452 
454 
464 
466 
476 
478 
488 
490  {
491  VTK_TICKS_INSIDE = 0,
492  VTK_TICKS_OUTSIDE = 1,
493  VTK_TICKS_BOTH = 2
494  };
495 
497 
500  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
501  vtkGetMacro(TickLocation, int);
503 
504  void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
505  void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
506  void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
507 
508  void SetLabelScaling(bool, int, int, int);
509 
511 
516  void SetUseTextActor3D(int val);
519 
521 
525  void SetUse2DMode(int val);
528 
532  void SetSaveTitlePosition(int val);
533 
535 
538  vtkSetVector6Macro(OrientedBounds, double);
539  vtkGetVector6Macro(OrientedBounds, double);
541 
543 
546  vtkSetMacro(UseOrientedBounds, int);
547  vtkGetMacro(UseOrientedBounds, int);
549 
551 
554  vtkSetVector3Macro(AxisBaseForX, double);
555  vtkGetVector3Macro(AxisBaseForX, double);
557 
559 
562  vtkSetVector3Macro(AxisBaseForY, double);
563  vtkGetVector3Macro(AxisBaseForY, double);
565 
567 
570  vtkSetVector3Macro(AxisBaseForZ, double);
571  vtkGetVector3Macro(AxisBaseForZ, double);
573 
575 
579  vtkSetVector3Macro(AxisOrigin, double);
580  vtkGetVector3Macro(AxisOrigin, double);
582 
584 
587  vtkSetMacro(UseAxisOrigin, int);
588  vtkGetMacro(UseAxisOrigin, int);
590 
592 
595  vtkSetMacro(GridLineLocation, int);
596  vtkGetMacro(GridLineLocation, int);
598 
600 
605  vtkSetMacro(StickyAxes, vtkTypeBool);
606  vtkGetMacro(StickyAxes, vtkTypeBool);
607  vtkBooleanMacro(StickyAxes, vtkTypeBool);
609 
611 
618  vtkSetMacro(CenterStickyAxes, vtkTypeBool);
619  vtkGetMacro(CenterStickyAxes, vtkTypeBool);
620  vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
622 
624  {
625  VTK_GRID_LINES_ALL = 0,
626  VTK_GRID_LINES_CLOSEST = 1,
627  VTK_GRID_LINES_FURTHEST = 2
628  };
629 
630 protected:
632  ~vtkCubeAxesActor() override;
633 
640  vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
641 
645  void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
646 
651  static void GetBoundsPointBits(
652  unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
653 
657  static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
658 
659  int LabelExponent(double min, double max);
660 
661  int Digits(double min, double max);
662 
663  double MaxOf(double, double);
664  double MaxOf(double, double, double, double);
665 
666  double FFix(double);
667  double FSign(double, double);
668  int FRound(double fnt);
669  int GetNumTicks(double range, double fxt);
670 
671  void UpdateLabels(vtkAxisActor** axis, int index);
672 
674 
675  int FlyMode;
676 
677  // Expose internally closest axis index computation
678  int FindClosestAxisIndex(double pts[8][3]);
679 
680  // Expose internally furthest axis index computation
681  int FindFurtherstAxisIndex(double pts[8][3]);
682 
683  // Expose internally the boundary edge fly mode axis index computation
684  void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
685 
691  void UpdateGridLineVisibility(int axisIndex);
692 
693  // VTK_ALL_GRID_LINES 0
694  // VTK_CLOSEST_GRID_LINES 1
695  // VTK_FURTHEST_GRID_LINES 2
697 
702 
707 
713 
719 
725 
731 
733  {
734  NUMBER_OF_ALIGNED_AXIS = 4
735  };
736 
738 
742  vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
743  vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
744  vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
746 
748 
749  char* XTitle;
750  char* XUnits;
751  char* YTitle;
752  char* YUnits;
753  char* ZTitle;
754  char* ZUnits;
755 
759 
761 
765 
769 
773 
777 
781 
785 
789 
793 
794  double CornerOffset;
795 
796  int Inertia;
797 
799 
800  int InertiaLocs[3];
801 
803 
804  vtkTextProperty* TitleTextProperty[3];
805  vtkStringArray* AxisLabels[3];
806 
807  vtkTextProperty* LabelTextProperty[3];
808 
821 
822  double RenderedBounds[6];
823  double OrientedBounds[6];
825 
826  double AxisOrigin[3];
828 
829  double AxisBaseForX[3];
830  double AxisBaseForY[3];
831  double AxisBaseForZ[3];
832 
833 private:
834  vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
835  void operator=(const vtkCubeAxesActor&) = delete;
836 
837  vtkSetStringMacro(ActualXLabel);
838  vtkSetStringMacro(ActualYLabel);
839  vtkSetStringMacro(ActualZLabel);
840 
841  vtkTimeStamp BuildTime;
842  int LastUseOrientedBounds;
843  int LastXPow;
844  int LastYPow;
845  int LastZPow;
846 
847  int UserXPow;
848  int UserYPow;
849  int UserZPow;
850 
851  bool AutoLabelScaling;
852 
853  int LastXAxisDigits;
854  int LastYAxisDigits;
855  int LastZAxisDigits;
856 
857  double LastXRange[2];
858  double LastYRange[2];
859  double LastZRange[2];
860  double LastBounds[6];
861 
862  int LastFlyMode;
863 
864  int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
865  int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
866  int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
867 
868  int NumberOfAxesX;
869  int NumberOfAxesY;
870  int NumberOfAxesZ;
871 
872  bool MustAdjustXValue;
873  bool MustAdjustYValue;
874  bool MustAdjustZValue;
875 
876  bool ForceXLabelReset;
877  bool ForceYLabelReset;
878  bool ForceZLabelReset;
879 
880  double XAxisRange[2];
881  double YAxisRange[2];
882  double ZAxisRange[2];
883 
884  double LabelScale;
885  double TitleScale;
886 
887  double ScreenSize;
888  double LabelOffset;
889  double TitleOffset;
890 
892 
896  double MajorStart[3];
897  double DeltaMajor[3];
899 
900  int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
901  int (vtkAxisActor::*renderMethod)(vtkViewport*));
902 
903  void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
904  void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
905  double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
906  double xRange[2], double yRange[2], double zRange[2]);
907 
908  bool ComputeTickSize(double bounds[6]);
909  void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
910  void AdjustRange(const double bounds[6]);
911  void BuildAxes(vtkViewport*);
912  void DetermineRenderAxes(vtkViewport*);
913  void SetNonDependentAttributes(void);
914  void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
915  void AdjustTicksComputeRange(
916  vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
917 
918  void AutoScale(vtkViewport* viewport);
919  void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
920  double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
921 };
922 
923 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:94
a virtual camera for 3D rendering
Definition: vtkCamera.h:161
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()
Method used to properly return the bounds of the cube axis itself with all its labels.
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
Draw the axes as per the vtkProp superclass' API.
vtkTypeBool CenterStickyAxes
Flag for centering sticky axes.
virtual int RenderTranslucentGeometry(vtkViewport *)
Draw the axes as per the vtkProp superclass' API.
vtkTypeBool DrawYGridlines
double FSign(double, double)
void SetYAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
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()
Get/Set axes gridPolys actors properties.
vtkTypeBool DrawXInnerGridlines
void SetFlyModeToOuterEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkTypeBool HasTranslucentPolygonalGeometry() override
Draw the axes as per the vtkProp superclass' API.
vtkProperty * GetXAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
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.
int GetUseTextActor3D()
Use or not vtkTextActor3D for titles and labels.
vtkProperty * GetZAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
void SetZAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkProperty * GetZAxesLinesProperty()
Get/Set axes actors properties.
vtkProperty * GetYAxesLinesProperty()
Get/Set axes actors properties.
static vtkCubeAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
vtkProperty * YAxesLinesProperty
void SetFlyModeToClosestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
void SetYAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
void SetZAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
void SetZAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
double ViewAngleLODThreshold
This determines at what view angle to geometry will make the geometry not visible.
~vtkCubeAxesActor() override
void SetAxisLabels(int axis, vtkStringArray *value)
Explicitly specify the axis labels along an axis as an array of strings instead of using the values.
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()
Get/Set axes (outer) gridlines actors properties.
vtkTypeBool XAxisVisibility
vtkTypeBool StickyAxes
Flag for axes stickiness.
vtkTypeBool XAxisTickVisibility
vtkTypeBool YAxisTickVisibility
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
void SetZAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkTypeBool DrawYGridpolys
vtkProperty * GetXAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
void SetFlyModeToStaticEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkTypeBool YAxisMinorTickVisibility
void SetFlyModeToStaticTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
void SetYAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkProperty * GetXAxesLinesProperty()
Get/Set axes actors properties.
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.
int GetUse2DMode()
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
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()
Get/Set axes inner gridlines actors properties.
double FFix(double)
int FindFurtherstAxisIndex(double pts[8][3])
vtkTypeBool DrawZGridpolys
vtkProperty * XAxesGridpolysProperty
vtkProperty * ZAxesGridlinesProperty
vtkProperty * GetXAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
vtkTypeBool DrawXGridlines
vtkProperty * ZAxesInnerGridlinesProperty
double MaxOf(double, double, double, double)
vtkProperty * GetZAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
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
Draw the axes as per the vtkProp superclass' API.
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()
Get/Set axes (outer) gridlines actors properties.
void SetXAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
void SetYAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
void SetTickLocationToBoth(void)
void SetFlyModeToFurthestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
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:119
double Bounds[6]
Definition: vtkProp3D.h:457
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
represent surface properties of a geometric object
Definition: vtkProperty.h:177
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:55
abstract specification for Viewports
Definition: vtkViewport.h:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
@ 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)