VTK  9.1.0
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 =========================================================================*/
85 #ifndef vtkCubeAxesActor_h
86 #define vtkCubeAxesActor_h
87 
88 #include "vtkActor.h"
89 #include "vtkRenderingAnnotationModule.h" // For export macro
90 
91 class vtkAxisActor;
92 class vtkCamera;
93 class vtkTextProperty;
94 class vtkStringArray;
95 
96 class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
97 {
98 public:
99  vtkTypeMacro(vtkCubeAxesActor, vtkActor);
100  void PrintSelf(ostream& os, vtkIndent indent) override;
101 
107 
109 
115  int RenderOverlay(vtkViewport*) override;
118 
120 
123  vtkSetMacro(RebuildAxes, bool);
124  vtkGetMacro(RebuildAxes, bool);
126 
128 
134  vtkSetVector6Macro(Bounds, double);
135  using Superclass::GetBounds;
136  double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
138 
140 
144  virtual void GetRenderedBounds(double rBounds[6]);
145  virtual double* GetRenderedBounds();
147 
149 
157  vtkSetVector2Macro(XAxisRange, double);
158  vtkSetVector2Macro(YAxisRange, double);
159  vtkSetVector2Macro(ZAxisRange, double);
160  vtkGetVector2Macro(XAxisRange, double);
161  vtkGetVector2Macro(YAxisRange, double);
164 
171 
172  vtkGetVector2Macro(ZAxisRange, double);
173 
175 
180  void SetScreenSize(double screenSize);
181  vtkGetMacro(ScreenSize, double);
183 
185 
189  void SetLabelOffset(double offset);
190  vtkGetMacro(LabelOffset, double);
192 
194 
198  void SetTitleOffset(double offset);
199  vtkGetMacro(TitleOffset, double);
201 
203 
207  virtual void SetCamera(vtkCamera*);
208  vtkGetObjectMacro(Camera, vtkCamera);
210 
211  enum FlyMode
212  {
213  VTK_FLY_OUTER_EDGES = 0,
214  VTK_FLY_CLOSEST_TRIAD = 1,
215  VTK_FLY_FURTHEST_TRIAD = 2,
216  VTK_FLY_STATIC_TRIAD = 3,
217  VTK_FLY_STATIC_EDGES = 4
218  };
219 
221 
226  vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
227  vtkGetMacro(FlyMode, int);
228  void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
229  void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
230  void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
231  void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
232  void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
234 
236 
240  vtkSetStringMacro(XTitle);
241  vtkGetStringMacro(XTitle);
242  vtkSetStringMacro(XUnits);
243  vtkGetStringMacro(XUnits);
244  vtkSetStringMacro(YTitle);
245  vtkGetStringMacro(YTitle);
246  vtkSetStringMacro(YUnits);
247  vtkGetStringMacro(YUnits);
248  vtkSetStringMacro(ZTitle);
249  vtkGetStringMacro(ZTitle);
250  vtkSetStringMacro(ZUnits);
251  vtkGetStringMacro(ZUnits);
253 
255 
259  vtkSetStringMacro(XLabelFormat);
260  vtkGetStringMacro(XLabelFormat);
261  vtkSetStringMacro(YLabelFormat);
262  vtkGetStringMacro(YLabelFormat);
263  vtkSetStringMacro(ZLabelFormat);
264  vtkGetStringMacro(ZLabelFormat);
266 
268 
273  vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
274  vtkGetMacro(Inertia, int);
276 
278 
283  vtkSetMacro(CornerOffset, double);
284  vtkGetMacro(CornerOffset, double);
286 
293 
295 
298  vtkSetMacro(EnableDistanceLOD, int);
299  vtkGetMacro(EnableDistanceLOD, int);
301 
303 
306  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
307  vtkGetMacro(DistanceLODThreshold, double);
309 
311 
314  vtkSetMacro(EnableViewAngleLOD, int);
315  vtkGetMacro(EnableViewAngleLOD, int);
317 
319 
322  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
323  vtkGetMacro(ViewAngleLODThreshold, double);
325 
327 
330  vtkSetMacro(XAxisVisibility, vtkTypeBool);
331  vtkGetMacro(XAxisVisibility, vtkTypeBool);
332  vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
333  vtkSetMacro(YAxisVisibility, vtkTypeBool);
334  vtkGetMacro(YAxisVisibility, vtkTypeBool);
335  vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
336  vtkSetMacro(ZAxisVisibility, vtkTypeBool);
337  vtkGetMacro(ZAxisVisibility, vtkTypeBool);
338  vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
340 
342 
345  vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
346  vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
347  vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
349 
350  vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
351  vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
352  vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
353 
354  vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
355  vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
356  vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
357 
359 
362  vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
363  vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
364  vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
366 
367  vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
368  vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
369  vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
370 
371  vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
372  vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
373  vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
374 
376 
379  vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
380  vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
381  vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
383 
384  vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
385  vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
386  vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
387 
388  vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
389  vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
390  vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
391 
392  vtkSetMacro(DrawXGridlines, vtkTypeBool);
393  vtkGetMacro(DrawXGridlines, vtkTypeBool);
394  vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
395 
396  vtkSetMacro(DrawYGridlines, vtkTypeBool);
397  vtkGetMacro(DrawYGridlines, vtkTypeBool);
398  vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
399 
400  vtkSetMacro(DrawZGridlines, vtkTypeBool);
401  vtkGetMacro(DrawZGridlines, vtkTypeBool);
402  vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
403 
404  vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
405  vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
406  vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
407 
408  vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
409  vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
410  vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
411 
412  vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
413  vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
414  vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
415 
416  vtkSetMacro(DrawXGridpolys, vtkTypeBool);
417  vtkGetMacro(DrawXGridpolys, vtkTypeBool);
418  vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
419 
420  vtkSetMacro(DrawYGridpolys, vtkTypeBool);
421  vtkGetMacro(DrawYGridpolys, vtkTypeBool);
422  vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
423 
424  vtkSetMacro(DrawZGridpolys, vtkTypeBool);
425  vtkGetMacro(DrawZGridpolys, vtkTypeBool);
426  vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
427 
432 
437 
439 
449 
451 
461 
463 
473 
475 
485 
487  {
488  VTK_TICKS_INSIDE = 0,
489  VTK_TICKS_OUTSIDE = 1,
490  VTK_TICKS_BOTH = 2
491  };
492 
494 
497  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
498  vtkGetMacro(TickLocation, int);
500 
501  void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
502  void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
503  void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
504 
505  void SetLabelScaling(bool, int, int, int);
506 
508 
513  void SetUseTextActor3D(int val);
516 
518 
522  void SetUse2DMode(int val);
525 
529  void SetSaveTitlePosition(int val);
530 
532 
535  vtkSetVector6Macro(OrientedBounds, double);
536  vtkGetVector6Macro(OrientedBounds, double);
538 
540 
543  vtkSetMacro(UseOrientedBounds, int);
544  vtkGetMacro(UseOrientedBounds, int);
546 
548 
551  vtkSetVector3Macro(AxisBaseForX, double);
552  vtkGetVector3Macro(AxisBaseForX, double);
554 
556 
559  vtkSetVector3Macro(AxisBaseForY, double);
560  vtkGetVector3Macro(AxisBaseForY, double);
562 
564 
567  vtkSetVector3Macro(AxisBaseForZ, double);
568  vtkGetVector3Macro(AxisBaseForZ, double);
570 
572 
576  vtkSetVector3Macro(AxisOrigin, double);
577  vtkGetVector3Macro(AxisOrigin, double);
579 
581 
584  vtkSetMacro(UseAxisOrigin, int);
585  vtkGetMacro(UseAxisOrigin, int);
587 
589 
592  vtkSetMacro(GridLineLocation, int);
593  vtkGetMacro(GridLineLocation, int);
595 
597 
602  vtkSetMacro(StickyAxes, vtkTypeBool);
603  vtkGetMacro(StickyAxes, vtkTypeBool);
604  vtkBooleanMacro(StickyAxes, vtkTypeBool);
606 
608 
615  vtkSetMacro(CenterStickyAxes, vtkTypeBool);
616  vtkGetMacro(CenterStickyAxes, vtkTypeBool);
617  vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
619 
621  {
622  VTK_GRID_LINES_ALL = 0,
623  VTK_GRID_LINES_CLOSEST = 1,
624  VTK_GRID_LINES_FURTHEST = 2
625  };
626 
627 protected:
629  ~vtkCubeAxesActor() override;
630 
637  vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
638 
642  void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
643 
648  static void GetBoundsPointBits(
649  unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
650 
654  static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
655 
656  int LabelExponent(double min, double max);
657 
658  int Digits(double min, double max);
659 
660  double MaxOf(double, double);
661  double MaxOf(double, double, double, double);
662 
663  double FFix(double);
664  double FSign(double, double);
665  int FRound(double fnt);
666  int GetNumTicks(double range, double fxt);
667 
668  void UpdateLabels(vtkAxisActor** axis, int index);
669 
671 
672  int FlyMode;
673 
674  // Expose internally closest axis index computation
675  int FindClosestAxisIndex(double pts[8][3]);
676 
677  // Expose internally furthest axis index computation
678  int FindFurtherstAxisIndex(double pts[8][3]);
679 
680  // Expose internally the boundary edge fly mode axis index computation
681  void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
682 
688  void UpdateGridLineVisibility(int axisIndex);
689 
690  // VTK_ALL_GRID_LINES 0
691  // VTK_CLOSEST_GRID_LINES 1
692  // VTK_FURTHEST_GRID_LINES 2
694 
699 
704 
710 
716 
722 
728 
730  {
731  NUMBER_OF_ALIGNED_AXIS = 4
732  };
733 
735 
739  vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
740  vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
741  vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
743 
745 
746  char* XTitle;
747  char* XUnits;
748  char* YTitle;
749  char* YUnits;
750  char* ZTitle;
751  char* ZUnits;
752 
756 
758 
762 
766 
770 
774 
778 
782 
786 
790 
791  double CornerOffset;
792 
793  int Inertia;
794 
796 
797  int InertiaLocs[3];
798 
800 
801  vtkTextProperty* TitleTextProperty[3];
802  vtkStringArray* AxisLabels[3];
803 
804  vtkTextProperty* LabelTextProperty[3];
805 
818 
819  double RenderedBounds[6];
820  double OrientedBounds[6];
822 
823  double AxisOrigin[3];
825 
826  double AxisBaseForX[3];
827  double AxisBaseForY[3];
828  double AxisBaseForZ[3];
829 
830 private:
831  vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
832  void operator=(const vtkCubeAxesActor&) = delete;
833 
834  vtkSetStringMacro(ActualXLabel);
835  vtkSetStringMacro(ActualYLabel);
836  vtkSetStringMacro(ActualZLabel);
837 
838  vtkTimeStamp BuildTime;
839  int LastUseOrientedBounds;
840  int LastXPow;
841  int LastYPow;
842  int LastZPow;
843 
844  int UserXPow;
845  int UserYPow;
846  int UserZPow;
847 
848  bool AutoLabelScaling;
849 
850  int LastXAxisDigits;
851  int LastYAxisDigits;
852  int LastZAxisDigits;
853 
854  double LastXRange[2];
855  double LastYRange[2];
856  double LastZRange[2];
857  double LastBounds[6];
858 
859  int LastFlyMode;
860 
861  int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
862  int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
863  int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
864 
865  int NumberOfAxesX;
866  int NumberOfAxesY;
867  int NumberOfAxesZ;
868 
869  bool MustAdjustXValue;
870  bool MustAdjustYValue;
871  bool MustAdjustZValue;
872 
873  bool ForceXLabelReset;
874  bool ForceYLabelReset;
875  bool ForceZLabelReset;
876 
877  double XAxisRange[2];
878  double YAxisRange[2];
879  double ZAxisRange[2];
880 
881  double LabelScale;
882  double TitleScale;
883 
884  double ScreenSize;
885  double LabelOffset;
886  double TitleOffset;
887 
889 
893  double MajorStart[3];
894  double DeltaMajor[3];
896 
897  int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
898  int (vtkAxisActor::*renderMethod)(vtkViewport*));
899 
900  void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
901  void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
902  double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
903  double xRange[2], double yRange[2], double zRange[2]);
904 
905  bool ComputeTickSize(double bounds[6]);
906  void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
907  void AdjustRange(const double bounds[6]);
908  void BuildAxes(vtkViewport*);
909  void DetermineRenderAxes(vtkViewport*);
910  void SetNonDependentAttributes(void);
911  void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
912  void AdjustTicksComputeRange(
913  vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
914 
915  void AutoScale(vtkViewport* viewport);
916  void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
917  double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
918 };
919 
920 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:91
a virtual camera for 3D rendering
Definition: vtkCamera.h:155
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:113
double Bounds[6]
Definition: vtkProp3D.h:394
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
represent surface properties of a geometric object
Definition: vtkProperty.h:171
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:52
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
@ 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)