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
vtkCubeAxesActor::SetTitleOffset
void SetTitleOffset(double offset)
Explicitly specify the distance between title and labels.
vtkCubeAxesActor::GetYAxesGridlinesProperty
vtkProperty * GetYAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkCubeAxesActor::NumberOfAlignedAxis
NumberOfAlignedAxis
Definition: vtkCubeAxesActor.h:730
vtkCubeAxesActor::ActualYLabel
char * ActualYLabel
Definition: vtkCubeAxesActor.h:754
vtkCubeAxesActor::GetXAxesLinesProperty
vtkProperty * GetXAxesLinesProperty()
Get/Set axes actors properties.
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:155
vtkCubeAxesActor::SetXAxesLinesProperty
void SetXAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkCubeAxesActor::ZAxesGridpolysProperty
vtkProperty * ZAxesGridpolysProperty
Definition: vtkCubeAxesActor.h:817
vtkCubeAxesActor::ZAxisMinorTickVisibility
vtkTypeBool ZAxisMinorTickVisibility
Definition: vtkCubeAxesActor.h:769
vtkCubeAxesActor::RenderSomething
int RenderSomething
Definition: vtkCubeAxesActor.h:799
vtkCubeAxesActor::SetUseTextActor3D
void SetUseTextActor3D(int val)
Use or not vtkTextActor3D for titles and labels.
vtkCubeAxesActor::YLabelFormat
char * YLabelFormat
Definition: vtkCubeAxesActor.h:788
vtkCubeAxesActor::ZAxesGridlinesProperty
vtkProperty * ZAxesGridlinesProperty
Definition: vtkCubeAxesActor.h:811
vtkCubeAxesActor::ZTitle
char * ZTitle
Definition: vtkCubeAxesActor.h:750
vtkCubeAxesActor::DrawXInnerGridlines
vtkTypeBool DrawXInnerGridlines
Definition: vtkCubeAxesActor.h:779
vtkCubeAxesActor::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkCubeAxesActor::DrawZGridpolys
vtkTypeBool DrawZGridpolys
Definition: vtkCubeAxesActor.h:785
vtkCubeAxesActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCubeAxesActor::GetUseTextActor3D
int GetUseTextActor3D()
Use or not vtkTextActor3D for titles and labels.
vtkCubeAxesActor::XAxisMinorTickVisibility
vtkTypeBool XAxisMinorTickVisibility
Definition: vtkCubeAxesActor.h:767
vtkAxisActor
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:91
vtkCubeAxesActor::MaxOf
double MaxOf(double, double, double, double)
vtkCubeAxesActor::GetXAxesInnerGridlinesProperty
vtkProperty * GetXAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
vtkCubeAxesActor::XAxesGridlinesProperty
vtkProperty * XAxesGridlinesProperty
Definition: vtkCubeAxesActor.h:809
vtkCubeAxesActor::SetTickLocationToBoth
void SetTickLocationToBoth(void)
Definition: vtkCubeAxesActor.h:503
vtkCubeAxesActor::DistanceLODThreshold
double DistanceLODThreshold
Default is 0.80 This determines at what fraction of camera far clip range, actor is not visible.
Definition: vtkCubeAxesActor.h:715
vtkCubeAxesActor::MaxOf
double MaxOf(double, double)
vtkCubeAxesActor::vtkCubeAxesActor
vtkCubeAxesActor()
vtkX3D::value
@ value
Definition: vtkX3D.h:226
vtkCubeAxesActor::ZUnits
char * ZUnits
Definition: vtkCubeAxesActor.h:751
vtkCubeAxesActor::SetAxisLabels
void SetAxisLabels(int axis, vtkStringArray *value)
Explicitly specify the axis labels along an axis as an array of strings instead of using the values.
vtkCubeAxesActor::XAxesInnerGridlinesProperty
vtkProperty * XAxesInnerGridlinesProperty
Definition: vtkCubeAxesActor.h:812
vtkCubeAxesActor::SetZAxesGridpolysProperty
void SetZAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
vtkCubeAxesActor::StickyAxes
vtkTypeBool StickyAxes
Flag for axes stickiness.
Definition: vtkCubeAxesActor.h:698
vtkCubeAxesActor::RebuildAxes
bool RebuildAxes
Definition: vtkCubeAxesActor.h:744
vtkCubeAxesActor::DrawXGridlines
vtkTypeBool DrawXGridlines
Definition: vtkCubeAxesActor.h:775
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:52
vtkCubeAxesActor::GridVisibility
GridVisibility
Definition: vtkCubeAxesActor.h:621
vtkCubeAxesActor::SetFlyModeToClosestTriad
void SetFlyModeToClosestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
Definition: vtkCubeAxesActor.h:229
vtkCubeAxesActor::RenderOverlay
int RenderOverlay(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkCubeAxesActor::GetXAxesGridpolysProperty
vtkProperty * GetXAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
vtkCubeAxesActor::SetYAxesGridpolysProperty
void SetYAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
vtkX3D::range
@ range
Definition: vtkX3D.h:244
vtkCubeAxesActor::DrawYInnerGridlines
vtkTypeBool DrawYInnerGridlines
Definition: vtkCubeAxesActor.h:780
vtkCubeAxesActor
create a plot of a bounding box edges - used for navigation
Definition: vtkCubeAxesActor.h:97
vtkCubeAxesActor::YAxisMinorTickVisibility
vtkTypeBool YAxisMinorTickVisibility
Definition: vtkCubeAxesActor.h:768
vtkCubeAxesActor::GetZAxesGridlinesProperty
vtkProperty * GetZAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkCubeAxesActor::SetFlyModeToStaticEdges
void SetFlyModeToStaticEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
Definition: vtkCubeAxesActor.h:232
vtkCubeAxesActor::ComputeStickyAxesBoundingSphere
void ComputeStickyAxesBoundingSphere(vtkViewport *viewport, const double bounds[6], double sphereCenter[3], double &sphereRadius)
Computes a bounding sphere used to determine the sticky bounding box.
vtkCubeAxesActor::SetYAxesInnerGridlinesProperty
void SetYAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
vtkCubeAxesActor::RenderTranslucentPolygonalGeometry
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkCubeAxesActor::EnableDistanceLOD
int EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
Definition: vtkCubeAxesActor.h:709
vtkCubeAxesActor::ZAxisLabelVisibility
vtkTypeBool ZAxisLabelVisibility
Definition: vtkCubeAxesActor.h:773
vtkCubeAxesActor::GetViewportLimitedBounds
void GetViewportLimitedBounds(vtkViewport *viewport, double bounds[6])
Get bounds such that the axes are entirely within a viewport.
vtkCubeAxesActor::GetXAxesGridlinesProperty
vtkProperty * GetXAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkCubeAxesActor::SetZAxesGridlinesProperty
void SetZAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
vtkCubeAxesActor::Digits
int Digits(double min, double max)
vtkCubeAxesActor::SetYAxesGridlinesProperty
void SetYAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
vtkProp3D::Bounds
double Bounds[6]
Definition: vtkProp3D.h:394
vtkCubeAxesActor::ZAxisTickVisibility
vtkTypeBool ZAxisTickVisibility
Definition: vtkCubeAxesActor.h:765
vtkProp3D::GetBounds
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkCubeAxesActor::YAxesInnerGridlinesProperty
vtkProperty * YAxesInnerGridlinesProperty
Definition: vtkCubeAxesActor.h:813
max
#define max(a, b)
Definition: vtkX3DExporterFIWriterHelper.h:31
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
vtkCubeAxesActor::YAxisVisibility
vtkTypeBool YAxisVisibility
Definition: vtkCubeAxesActor.h:760
vtkCubeAxesActor::GetZAxesInnerGridlinesProperty
vtkProperty * GetZAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
vtkX3D::position
@ position
Definition: vtkX3D.h:267
vtkCubeAxesActor::XAxisTickVisibility
vtkTypeBool XAxisTickVisibility
Definition: vtkCubeAxesActor.h:763
vtkX3D::point
@ point
Definition: vtkX3D.h:242
vtkCubeAxesActor::LabelExponent
int LabelExponent(double min, double max)
vtkCubeAxesActor::GetBoundsPointBits
static void GetBoundsPointBits(unsigned int pointIndex, unsigned int &xBit, unsigned int &yBit, unsigned int &zBit)
Get the bits for a bounds point.
vtkCubeAxesActor::UseOrientedBounds
int UseOrientedBounds
Definition: vtkCubeAxesActor.h:821
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
vtkCubeAxesActor::SetXAxesGridlinesProperty
void SetXAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
vtkCubeAxesActor::GridLineLocation
int GridLineLocation
Definition: vtkCubeAxesActor.h:693
vtkX3D::offset
@ offset
Definition: vtkX3D.h:444
vtkCubeAxesActor::New
static vtkCubeAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
vtkCubeAxesActor::SetTickLocationToOutside
void SetTickLocationToOutside(void)
Definition: vtkCubeAxesActor.h:502
vtkCubeAxesActor::Inertia
int Inertia
Definition: vtkCubeAxesActor.h:793
vtkCubeAxesActor::CornerOffset
double CornerOffset
Definition: vtkCubeAxesActor.h:791
vtkCubeAxesActor::GetTitleTextProperty
vtkTextProperty * GetTitleTextProperty(int)
Returns the text property for the title on an axis.
vtkCubeAxesActor::GetLabelTextProperty
vtkTextProperty * GetLabelTextProperty(int)
Returns the text property for the labels on an axis.
vtkCubeAxesActor::DrawZGridlines
vtkTypeBool DrawZGridlines
Definition: vtkCubeAxesActor.h:777
vtkCubeAxesActor::~vtkCubeAxesActor
~vtkCubeAxesActor() override
vtkCubeAxesActor::ViewAngleLODThreshold
double ViewAngleLODThreshold
This determines at what view angle to geometry will make the geometry not visible.
Definition: vtkCubeAxesActor.h:727
vtkCubeAxesActor::FlyMode
int FlyMode
Definition: vtkCubeAxesActor.h:672
vtkCubeAxesActor::RenderTranslucentGeometry
virtual int RenderTranslucentGeometry(vtkViewport *)
Draw the axes as per the vtkProp superclass' API.
vtkCubeAxesActor::EnableViewAngleLOD
int EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
Definition: vtkCubeAxesActor.h:721
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
vtkCubeAxesActor::GetYAxesLinesProperty
vtkProperty * GetYAxesLinesProperty()
Get/Set axes actors properties.
vtkCubeAxesActor::ZAxisVisibility
vtkTypeBool ZAxisVisibility
Definition: vtkCubeAxesActor.h:761
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkCubeAxesActor::YAxesGridpolysProperty
vtkProperty * YAxesGridpolysProperty
Definition: vtkCubeAxesActor.h:816
vtkCubeAxesActor::FindFurtherstAxisIndex
int FindFurtherstAxisIndex(double pts[8][3])
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:155
vtkCubeAxesActor::GetBoundsPoint
static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3])
Get a point on the bounding box by point index.
vtkCubeAxesActor::UpdateLabels
void UpdateLabels(vtkAxisActor **axis, int index)
vtkCubeAxesActor::SetFlyModeToFurthestTriad
void SetFlyModeToFurthestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
Definition: vtkCubeAxesActor.h:230
vtkCubeAxesActor::HasTranslucentPolygonalGeometry
vtkTypeBool HasTranslucentPolygonalGeometry() override
Draw the axes as per the vtkProp superclass' API.
vtkActor.h
vtkCubeAxesActor::YAxisLabelVisibility
vtkTypeBool YAxisLabelVisibility
Definition: vtkCubeAxesActor.h:772
vtkCubeAxesActor::XAxesLinesProperty
vtkProperty * XAxesLinesProperty
Definition: vtkCubeAxesActor.h:806
vtkCubeAxesActor::ActualXLabel
char * ActualXLabel
Definition: vtkCubeAxesActor.h:753
vtkCubeAxesActor::UpdateGridLineVisibility
void UpdateGridLineVisibility(int axisIndex)
This will Update AxisActors with GridVisibility when those should be dynamaic regarding the viewport.
vtkCubeAxesActor::ZAxesLinesProperty
vtkProperty * ZAxesLinesProperty
Definition: vtkCubeAxesActor.h:808
vtkCubeAxesActor::YAxesGridlinesProperty
vtkProperty * YAxesGridlinesProperty
Definition: vtkCubeAxesActor.h:810
vtkCubeAxesActor::GetBounds
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
Definition: vtkCubeAxesActor.h:136
vtkCubeAxesActor::SetLabelScaling
void SetLabelScaling(bool, int, int, int)
vtkCubeAxesActor::SetTickLocationToInside
void SetTickLocationToInside(void)
Definition: vtkCubeAxesActor.h:501
vtkCubeAxesActor::GetRenderedBounds
virtual double * GetRenderedBounds()
Method used to properly return the bounds of the cube axis itself with all its labels.
vtkCubeAxesActor::XAxisLabelVisibility
vtkTypeBool XAxisLabelVisibility
Definition: vtkCubeAxesActor.h:771
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkCubeAxesActor::FlyMode
FlyMode
Definition: vtkCubeAxesActor.h:212
vtkCubeAxesActor::SetYAxesLinesProperty
void SetYAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkCubeAxesActor::SetSaveTitlePosition
void SetSaveTitlePosition(int val)
For 2D mode only: save axis title positions for later use.
vtkCubeAxesActor::ActualZLabel
char * ActualZLabel
Definition: vtkCubeAxesActor.h:755
vtkCubeAxesActor::FFix
double FFix(double)
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:143
vtkCubeAxesActor::SetZAxesInnerGridlinesProperty
void SetZAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
vtkCubeAxesActor::UseAxisOrigin
int UseAxisOrigin
Definition: vtkCubeAxesActor.h:824
vtkCubeAxesActor::RenderCount
int RenderCount
Definition: vtkCubeAxesActor.h:795
vtkCubeAxesActor::ZAxesInnerGridlinesProperty
vtkProperty * ZAxesInnerGridlinesProperty
Definition: vtkCubeAxesActor.h:814
vtkCubeAxesActor::TickLocation
int TickLocation
Definition: vtkCubeAxesActor.h:757
vtkCubeAxesActor::YTitle
char * YTitle
Definition: vtkCubeAxesActor.h:748
vtkCubeAxesActor::SetFlyModeToOuterEdges
void SetFlyModeToOuterEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
Definition: vtkCubeAxesActor.h:228
vtkCubeAxesActor::XAxisVisibility
vtkTypeBool XAxisVisibility
Definition: vtkCubeAxesActor.h:759
vtkCubeAxesActor::Camera
vtkCamera * Camera
Definition: vtkCubeAxesActor.h:670
vtkCubeAxesActor::GetAxisLabels
vtkStringArray * GetAxisLabels(int axis)
Explicitly specify the axis labels along an axis as an array of strings instead of using the values.
vtkCubeAxesActor::XLabelFormat
char * XLabelFormat
Definition: vtkCubeAxesActor.h:787
vtkCubeAxesActor::GetZAxesLinesProperty
vtkProperty * GetZAxesLinesProperty()
Get/Set axes actors properties.
vtkCubeAxesActor::YUnits
char * YUnits
Definition: vtkCubeAxesActor.h:749
vtkCubeAxesActor::DrawZInnerGridlines
vtkTypeBool DrawZInnerGridlines
Definition: vtkCubeAxesActor.h:781
vtkCubeAxesActor::DrawYGridlines
vtkTypeBool DrawYGridlines
Definition: vtkCubeAxesActor.h:776
vtkCubeAxesActor::XTitle
char * XTitle
Definition: vtkCubeAxesActor.h:746
vtkCubeAxesActor::YAxesLinesProperty
vtkProperty * YAxesLinesProperty
Definition: vtkCubeAxesActor.h:807
vtkCubeAxesActor::SetLabelOffset
void SetLabelOffset(double offset)
Explicitly specify the distance between labels and the axis.
vtkCubeAxesActor::XUnits
char * XUnits
Definition: vtkCubeAxesActor.h:747
vtkCubeAxesActor::YAxisTickVisibility
vtkTypeBool YAxisTickVisibility
Definition: vtkCubeAxesActor.h:764
vtkCubeAxesActor::CenterStickyAxes
vtkTypeBool CenterStickyAxes
Flag for centering sticky axes.
Definition: vtkCubeAxesActor.h:703
vtkCubeAxesActor::GetYAxesInnerGridlinesProperty
vtkProperty * GetYAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:146
vtkCubeAxesActor::GetRenderedBounds
virtual void GetRenderedBounds(double rBounds[6])
Method used to properly return the bounds of the cube axis itself with all its labels.
vtkCubeAxesActor::SetXAxesGridpolysProperty
void SetXAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:171
vtkCubeAxesActor::FindBoundaryEdge
void FindBoundaryEdge(int &indexOfAxisX, int &indexOfAxisY, int &indexOfAxisZ, double pts[8][3])
vtkCubeAxesActor::SetScreenSize
void SetScreenSize(double screenSize)
Explicitly specify the screen size of title and label text.
vtkCubeAxesActor::ZLabelFormat
char * ZLabelFormat
Definition: vtkCubeAxesActor.h:789
vtkCubeAxesActor::TickLocation
TickLocation
Definition: vtkCubeAxesActor.h:487
vtkCubeAxesActor::DrawYGridpolys
vtkTypeBool DrawYGridpolys
Definition: vtkCubeAxesActor.h:784
vtkCubeAxesActor::FSign
double FSign(double, double)
vtkCubeAxesActor::SetUse2DMode
void SetUse2DMode(int val)
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
vtkCubeAxesActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkCubeAxesActor::SetCamera
virtual void SetCamera(vtkCamera *)
Set/Get the camera to perform scaling and translation of the vtkCubeAxesActor.
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkCubeAxesActor::DrawXGridpolys
vtkTypeBool DrawXGridpolys
Definition: vtkCubeAxesActor.h:783
vtkCubeAxesActor::GetUse2DMode
int GetUse2DMode()
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
vtkCubeAxesActor::FRound
int FRound(double fnt)
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkCubeAxesActor::GetYAxesGridpolysProperty
vtkProperty * GetYAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
vtkCubeAxesActor::GetZAxesGridpolysProperty
vtkProperty * GetZAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
vtkCubeAxesActor::SetZAxesLinesProperty
void SetZAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkCubeAxesActor::SetFlyModeToStaticTriad
void SetFlyModeToStaticTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
Definition: vtkCubeAxesActor.h:231
vtkCubeAxesActor::FindClosestAxisIndex
int FindClosestAxisIndex(double pts[8][3])
vtkCubeAxesActor::GetNumTicks
int GetNumTicks(double range, double fxt)
vtkCubeAxesActor::XAxesGridpolysProperty
vtkProperty * XAxesGridpolysProperty
Definition: vtkCubeAxesActor.h:815
vtkCubeAxesActor::SetXAxesInnerGridlinesProperty
void SetXAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.