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
7Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen
8All 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=========================================================================*/
65#ifndef vtkCubeAxesActor_h
66#define vtkCubeAxesActor_h
67
68#include "vtkActor.h"
69#include "vtkRenderingAnnotationModule.h" // For export macro
70
71class vtkAxisActor;
72class vtkCamera;
73class vtkTextProperty;
74class vtkStringArray;
75
76class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
77{
78public:
79 vtkTypeMacro(vtkCubeAxesActor, vtkActor);
80 void PrintSelf(ostream& os, vtkIndent indent) override;
81
87
89
95 int RenderOverlay(vtkViewport*) override;
98
100
103 vtkSetMacro(RebuildAxes, bool);
104 vtkGetMacro(RebuildAxes, bool);
106
108
114 vtkSetVector6Macro(Bounds, double);
116 double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
118
120
124 virtual void GetRenderedBounds(double rBounds[6]);
125 virtual double* GetRenderedBounds();
127
129
137 vtkSetVector2Macro(XAxisRange, double);
138 vtkSetVector2Macro(YAxisRange, double);
139 vtkSetVector2Macro(ZAxisRange, double);
140 vtkGetVector2Macro(XAxisRange, double);
141 vtkGetVector2Macro(YAxisRange, double);
144
151
152 vtkGetVector2Macro(ZAxisRange, double);
153
155
160 void SetScreenSize(double screenSize);
161 vtkGetMacro(ScreenSize, double);
163
165
169 void SetLabelOffset(double offset);
170 vtkGetMacro(LabelOffset, double);
172
174
178 void SetTitleOffset(double offset);
179 vtkGetMacro(TitleOffset, double);
181
183
187 virtual void SetCamera(vtkCamera*);
188 vtkGetObjectMacro(Camera, vtkCamera);
190
192 {
193 VTK_FLY_OUTER_EDGES = 0,
194 VTK_FLY_CLOSEST_TRIAD = 1,
195 VTK_FLY_FURTHEST_TRIAD = 2,
196 VTK_FLY_STATIC_TRIAD = 3,
197 VTK_FLY_STATIC_EDGES = 4
198 };
199
201
206 vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
207 vtkGetMacro(FlyMode, int);
208 void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
209 void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
210 void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
211 void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
212 void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
214
216
220 vtkSetStringMacro(XTitle);
221 vtkGetStringMacro(XTitle);
222 vtkSetStringMacro(XUnits);
223 vtkGetStringMacro(XUnits);
224 vtkSetStringMacro(YTitle);
225 vtkGetStringMacro(YTitle);
226 vtkSetStringMacro(YUnits);
227 vtkGetStringMacro(YUnits);
228 vtkSetStringMacro(ZTitle);
229 vtkGetStringMacro(ZTitle);
230 vtkSetStringMacro(ZUnits);
231 vtkGetStringMacro(ZUnits);
233
235
239 vtkSetStringMacro(XLabelFormat);
240 vtkGetStringMacro(XLabelFormat);
241 vtkSetStringMacro(YLabelFormat);
242 vtkGetStringMacro(YLabelFormat);
243 vtkSetStringMacro(ZLabelFormat);
244 vtkGetStringMacro(ZLabelFormat);
246
248
253 vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
254 vtkGetMacro(Inertia, int);
256
258
263 vtkSetMacro(CornerOffset, double);
264 vtkGetMacro(CornerOffset, double);
266
273
275
278 vtkSetMacro(EnableDistanceLOD, int);
279 vtkGetMacro(EnableDistanceLOD, int);
281
283
286 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
287 vtkGetMacro(DistanceLODThreshold, double);
289
291
294 vtkSetMacro(EnableViewAngleLOD, int);
295 vtkGetMacro(EnableViewAngleLOD, int);
297
299
302 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
303 vtkGetMacro(ViewAngleLODThreshold, double);
305
307
310 vtkSetMacro(XAxisVisibility, vtkTypeBool);
311 vtkGetMacro(XAxisVisibility, vtkTypeBool);
312 vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
313 vtkSetMacro(YAxisVisibility, vtkTypeBool);
314 vtkGetMacro(YAxisVisibility, vtkTypeBool);
315 vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
316 vtkSetMacro(ZAxisVisibility, vtkTypeBool);
317 vtkGetMacro(ZAxisVisibility, vtkTypeBool);
318 vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
320
322
325 vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
326 vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
327 vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
329
330 vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
331 vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
332 vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
333
334 vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
335 vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
336 vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
337
339
342 vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
343 vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
344 vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
346
347 vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
348 vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
349 vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
350
351 vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
352 vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
353 vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
354
356
359 vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
360 vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
361 vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
363
364 vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
365 vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
366 vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
367
368 vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
369 vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
370 vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
371
372 vtkSetMacro(DrawXGridlines, vtkTypeBool);
373 vtkGetMacro(DrawXGridlines, vtkTypeBool);
374 vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
375
376 vtkSetMacro(DrawYGridlines, vtkTypeBool);
377 vtkGetMacro(DrawYGridlines, vtkTypeBool);
378 vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
379
380 vtkSetMacro(DrawZGridlines, vtkTypeBool);
381 vtkGetMacro(DrawZGridlines, vtkTypeBool);
382 vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
383
384 vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
385 vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
386 vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
387
388 vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
389 vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
390 vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
391
392 vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
393 vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
394 vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
395
396 vtkSetMacro(DrawXGridpolys, vtkTypeBool);
397 vtkGetMacro(DrawXGridpolys, vtkTypeBool);
398 vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
399
400 vtkSetMacro(DrawYGridpolys, vtkTypeBool);
401 vtkGetMacro(DrawYGridpolys, vtkTypeBool);
402 vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
403
404 vtkSetMacro(DrawZGridpolys, vtkTypeBool);
405 vtkGetMacro(DrawZGridpolys, vtkTypeBool);
406 vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
407
412
417
419
429
431
441
443
453
455
465
467 {
468 VTK_TICKS_INSIDE = 0,
469 VTK_TICKS_OUTSIDE = 1,
470 VTK_TICKS_BOTH = 2
471 };
472
474
477 vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
478 vtkGetMacro(TickLocation, int);
480
481 void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
482 void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
483 void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
484
485 void SetLabelScaling(bool, int, int, int);
486
488
493 void SetUseTextActor3D(int val);
496
498
502 void SetUse2DMode(int val);
505
509 void SetSaveTitlePosition(int val);
510
512
515 vtkSetVector6Macro(OrientedBounds, double);
516 vtkGetVector6Macro(OrientedBounds, double);
518
520
523 vtkSetMacro(UseOrientedBounds, int);
524 vtkGetMacro(UseOrientedBounds, int);
526
528
531 vtkSetVector3Macro(AxisBaseForX, double);
532 vtkGetVector3Macro(AxisBaseForX, double);
534
536
539 vtkSetVector3Macro(AxisBaseForY, double);
540 vtkGetVector3Macro(AxisBaseForY, double);
542
544
547 vtkSetVector3Macro(AxisBaseForZ, double);
548 vtkGetVector3Macro(AxisBaseForZ, double);
550
552
556 vtkSetVector3Macro(AxisOrigin, double);
557 vtkGetVector3Macro(AxisOrigin, double);
559
561
564 vtkSetMacro(UseAxisOrigin, int);
565 vtkGetMacro(UseAxisOrigin, int);
567
569
572 vtkSetMacro(GridLineLocation, int);
573 vtkGetMacro(GridLineLocation, int);
575
577
582 vtkSetMacro(StickyAxes, vtkTypeBool);
583 vtkGetMacro(StickyAxes, vtkTypeBool);
584 vtkBooleanMacro(StickyAxes, vtkTypeBool);
586
588
595 vtkSetMacro(CenterStickyAxes, vtkTypeBool);
596 vtkGetMacro(CenterStickyAxes, vtkTypeBool);
597 vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
599
601 {
602 VTK_GRID_LINES_ALL = 0,
603 VTK_GRID_LINES_CLOSEST = 1,
604 VTK_GRID_LINES_FURTHEST = 2
605 };
606
607protected:
610
617 vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
618
622 void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
623
629 unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
630
634 static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
635
636 int LabelExponent(double min, double max);
637
638 int Digits(double min, double max);
639
640 double MaxOf(double, double);
641 double MaxOf(double, double, double, double);
642
643 double FFix(double);
644 double FSign(double, double);
645 int FRound(double fnt);
646 int GetNumTicks(double range, double fxt);
647
648 void UpdateLabels(vtkAxisActor** axis, int index);
649
651
653
654 // Expose internally closest axis index computation
655 int FindClosestAxisIndex(double pts[8][3]);
656
657 // Expose internally furthest axis index computation
658 int FindFurtherstAxisIndex(double pts[8][3]);
659
660 // Expose internally the boundary edge fly mode axis index computation
661 void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
662
668 void UpdateGridLineVisibility(int axisIndex);
669
670 // VTK_ALL_GRID_LINES 0
671 // VTK_CLOSEST_GRID_LINES 1
672 // VTK_FURTHEST_GRID_LINES 2
674
679
684
690
696
702
708
710 {
711 NUMBER_OF_ALIGNED_AXIS = 4
712 };
713
715
719 vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
720 vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
721 vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
723
725
726 char* XTitle;
727 char* XUnits;
728 char* YTitle;
729 char* YUnits;
730 char* ZTitle;
731 char* ZUnits;
732
736
738
742
746
750
754
758
762
766
770
772
774
776
777 int InertiaLocs[3];
778
780
781 vtkTextProperty* TitleTextProperty[3];
782 vtkStringArray* AxisLabels[3];
783
784 vtkTextProperty* LabelTextProperty[3];
785
798
799 double RenderedBounds[6];
800 double OrientedBounds[6];
802
803 double AxisOrigin[3];
805
806 double AxisBaseForX[3];
807 double AxisBaseForY[3];
808 double AxisBaseForZ[3];
809
810private:
811 vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
812 void operator=(const vtkCubeAxesActor&) = delete;
813
814 vtkSetStringMacro(ActualXLabel);
815 vtkSetStringMacro(ActualYLabel);
816 vtkSetStringMacro(ActualZLabel);
817
818 vtkTimeStamp BuildTime;
819 int LastUseOrientedBounds;
820 int LastXPow;
821 int LastYPow;
822 int LastZPow;
823
824 int UserXPow;
825 int UserYPow;
826 int UserZPow;
827
828 bool AutoLabelScaling;
829
830 int LastXAxisDigits;
831 int LastYAxisDigits;
832 int LastZAxisDigits;
833
834 double LastXRange[2];
835 double LastYRange[2];
836 double LastZRange[2];
837 double LastBounds[6];
838
839 int LastFlyMode;
840
841 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
842 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
843 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
844
845 int NumberOfAxesX;
846 int NumberOfAxesY;
847 int NumberOfAxesZ;
848
849 bool MustAdjustXValue;
850 bool MustAdjustYValue;
851 bool MustAdjustZValue;
852
853 bool ForceXLabelReset;
854 bool ForceYLabelReset;
855 bool ForceZLabelReset;
856
857 double XAxisRange[2];
858 double YAxisRange[2];
859 double ZAxisRange[2];
860
861 double LabelScale;
862 double TitleScale;
863
864 double ScreenSize;
865 double LabelOffset;
866 double TitleOffset;
867
869
873 double MajorStart[3];
874 double DeltaMajor[3];
876
877 int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
878 int (vtkAxisActor::*renderMethod)(vtkViewport*));
879
880 void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
881 void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
882 double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
883 double xRange[2], double yRange[2], double zRange[2]);
884
885 bool ComputeTickSize(double bounds[6]);
886 void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
887 void AdjustRange(const double bounds[6]);
888 void BuildAxes(vtkViewport*);
889 void DetermineRenderAxes(vtkViewport*);
890 void SetNonDependentAttributes(void);
891 void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
892 void AdjustTicksComputeRange(
893 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
894
895 void AutoScale(vtkViewport* viewport);
896 void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
897 double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
898};
899
900#endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:55
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:81
a virtual camera for 3D rendering
Definition: vtkCamera.h:55
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)
vtkProperty * GetZAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
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 * GetZAxesGridlinesProperty()
Get/Set axes (outer) gridlines 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 * GetXAxesLinesProperty()
Get/Set axes actors properties.
vtkTypeBool DrawZInnerGridlines
vtkProperty * GetXAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
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.
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 * YAxesLinesProperty
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
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.
static vtkCubeAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
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
vtkTypeBool XAxisVisibility
vtkProperty * GetXAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkTypeBool StickyAxes
Flag for axes stickiness.
vtkTypeBool XAxisTickVisibility
vtkTypeBool YAxisTickVisibility
vtkTextProperty * GetLabelTextProperty(int)
Returns the text property for the labels on an axis.
void SetZAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
vtkTypeBool DrawYGridpolys
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.
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.
vtkProperty * GetYAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkProperty * GetZAxesLinesProperty()
Get/Set axes actors properties.
void SetSaveTitlePosition(int val)
For 2D mode only: save axis title positions for later use.
vtkTextProperty * GetTitleTextProperty(int)
Returns the text property for the title on an axis.
vtkProperty * YAxesGridpolysProperty
vtkProperty * XAxesGridlinesProperty
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.
double FFix(double)
int FindFurtherstAxisIndex(double pts[8][3])
vtkTypeBool DrawZGridpolys
vtkProperty * XAxesGridpolysProperty
vtkProperty * GetXAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
vtkProperty * ZAxesGridlinesProperty
vtkTypeBool DrawXGridlines
vtkProperty * ZAxesInnerGridlinesProperty
double MaxOf(double, double, double, double)
int GetNumTicks(double range, double fxt)
void UpdateLabels(vtkAxisActor **axis, int index)
vtkTypeBool ZAxisTickVisibility
vtkProperty * GetYAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
vtkProperty * XAxesLinesProperty
int Digits(double min, double max)
vtkTypeBool XAxisLabelVisibility
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkProperty * GetZAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
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
vtkProperty * GetYAxesLinesProperty()
Get/Set axes actors properties.
int LabelExponent(double min, double max)
vtkProperty * ZAxesGridpolysProperty
void SetXAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
void SetYAxesGridlinesProperty(vtkProperty *)
Get/Set axes (outer) gridlines actors properties.
vtkProperty * GetYAxesGridpolysProperty()
Get/Set axes gridPolys 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:43
double Bounds[6]
Definition: vtkProp3D.h:354
represent surface properties of a geometric object
Definition: vtkProperty.h:71
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:42
abstract specification for Viewports
Definition: vtkViewport.h:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:45
void GetBounds(T a, double bds[6])
@ 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)