VTK  9.2.6
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=========================================================================*/
68#ifndef vtkCubeAxesActor_h
69#define vtkCubeAxesActor_h
70
71#include "vtkActor.h"
72#include "vtkRenderingAnnotationModule.h" // For export macro
73
74class vtkAxisActor;
75class vtkCamera;
76class vtkTextProperty;
77class vtkStringArray;
78
79class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
80{
81public:
82 vtkTypeMacro(vtkCubeAxesActor, vtkActor);
83 void PrintSelf(ostream& os, vtkIndent indent) override;
84
90
92
98 int RenderOverlay(vtkViewport*) override;
101
103
106 vtkSetMacro(RebuildAxes, bool);
107 vtkGetMacro(RebuildAxes, bool);
109
111
117 vtkSetVector6Macro(Bounds, double);
118 using Superclass::GetBounds;
119 double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
121
123
127 virtual void GetRenderedBounds(double rBounds[6]);
128 virtual double* GetRenderedBounds();
130
132
140 vtkSetVector2Macro(XAxisRange, double);
141 vtkSetVector2Macro(YAxisRange, double);
142 vtkSetVector2Macro(ZAxisRange, double);
143 vtkGetVector2Macro(XAxisRange, double);
144 vtkGetVector2Macro(YAxisRange, double);
147
152 void SetAxisLabels(int axis, vtkStringArray* value);
154
155 vtkGetVector2Macro(ZAxisRange, double);
156
158
163 void SetScreenSize(double screenSize);
164 vtkGetMacro(ScreenSize, double);
166
168
172 void SetLabelOffset(double offset);
173 vtkGetMacro(LabelOffset, double);
175
177
181 void SetTitleOffset(double offset);
182 vtkGetMacro(TitleOffset, double);
184
186
190 virtual void SetCamera(vtkCamera*);
191 vtkGetObjectMacro(Camera, vtkCamera);
193
195 {
196 VTK_FLY_OUTER_EDGES = 0,
197 VTK_FLY_CLOSEST_TRIAD = 1,
198 VTK_FLY_FURTHEST_TRIAD = 2,
199 VTK_FLY_STATIC_TRIAD = 3,
200 VTK_FLY_STATIC_EDGES = 4
201 };
202
204
209 vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
210 vtkGetMacro(FlyMode, int);
211 void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
212 void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
213 void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
214 void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
215 void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
217
219
223 vtkSetStringMacro(XTitle);
224 vtkGetStringMacro(XTitle);
225 vtkSetStringMacro(XUnits);
226 vtkGetStringMacro(XUnits);
227 vtkSetStringMacro(YTitle);
228 vtkGetStringMacro(YTitle);
229 vtkSetStringMacro(YUnits);
230 vtkGetStringMacro(YUnits);
231 vtkSetStringMacro(ZTitle);
232 vtkGetStringMacro(ZTitle);
233 vtkSetStringMacro(ZUnits);
234 vtkGetStringMacro(ZUnits);
236
238
242 vtkSetStringMacro(XLabelFormat);
243 vtkGetStringMacro(XLabelFormat);
244 vtkSetStringMacro(YLabelFormat);
245 vtkGetStringMacro(YLabelFormat);
246 vtkSetStringMacro(ZLabelFormat);
247 vtkGetStringMacro(ZLabelFormat);
249
251
256 vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
257 vtkGetMacro(Inertia, int);
259
261
266 vtkSetMacro(CornerOffset, double);
267 vtkGetMacro(CornerOffset, double);
269
276
278
281 vtkSetMacro(EnableDistanceLOD, int);
282 vtkGetMacro(EnableDistanceLOD, int);
284
286
289 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
290 vtkGetMacro(DistanceLODThreshold, double);
292
294
297 vtkSetMacro(EnableViewAngleLOD, int);
298 vtkGetMacro(EnableViewAngleLOD, int);
300
302
305 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
306 vtkGetMacro(ViewAngleLODThreshold, double);
308
310
313 vtkSetMacro(XAxisVisibility, vtkTypeBool);
314 vtkGetMacro(XAxisVisibility, vtkTypeBool);
315 vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
316 vtkSetMacro(YAxisVisibility, vtkTypeBool);
317 vtkGetMacro(YAxisVisibility, vtkTypeBool);
318 vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
319 vtkSetMacro(ZAxisVisibility, vtkTypeBool);
320 vtkGetMacro(ZAxisVisibility, vtkTypeBool);
321 vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
323
325
328 vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
329 vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
330 vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
332
333 vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
334 vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
335 vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
336
337 vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
338 vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
339 vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
340
342
345 vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
346 vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
347 vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
349
350 vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
351 vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
352 vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
353
354 vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
355 vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
356 vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
357
359
362 vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
363 vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
364 vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
366
367 vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
368 vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
369 vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
370
371 vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
372 vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
373 vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
374
375 vtkSetMacro(DrawXGridlines, vtkTypeBool);
376 vtkGetMacro(DrawXGridlines, vtkTypeBool);
377 vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
378
379 vtkSetMacro(DrawYGridlines, vtkTypeBool);
380 vtkGetMacro(DrawYGridlines, vtkTypeBool);
381 vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
382
383 vtkSetMacro(DrawZGridlines, vtkTypeBool);
384 vtkGetMacro(DrawZGridlines, vtkTypeBool);
385 vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
386
387 vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
388 vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
389 vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
390
391 vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
392 vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
393 vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
394
395 vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
396 vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
397 vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
398
399 vtkSetMacro(DrawXGridpolys, vtkTypeBool);
400 vtkGetMacro(DrawXGridpolys, vtkTypeBool);
401 vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
402
403 vtkSetMacro(DrawYGridpolys, vtkTypeBool);
404 vtkGetMacro(DrawYGridpolys, vtkTypeBool);
405 vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
406
407 vtkSetMacro(DrawZGridpolys, vtkTypeBool);
408 vtkGetMacro(DrawZGridpolys, vtkTypeBool);
409 vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
410
415
420
422
432
434
444
446
456
458
468
470 {
471 VTK_TICKS_INSIDE = 0,
472 VTK_TICKS_OUTSIDE = 1,
473 VTK_TICKS_BOTH = 2
474 };
475
477
480 vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
481 vtkGetMacro(TickLocation, int);
483
484 void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
485 void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
486 void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
487
488 void SetLabelScaling(bool, int, int, int);
489
491
496 void SetUseTextActor3D(int val);
499
501
505 void SetUse2DMode(int val);
508
512 void SetSaveTitlePosition(int val);
513
515
518 vtkSetVector6Macro(OrientedBounds, double);
519 vtkGetVector6Macro(OrientedBounds, double);
521
523
526 vtkSetMacro(UseOrientedBounds, int);
527 vtkGetMacro(UseOrientedBounds, int);
529
531
534 vtkSetVector3Macro(AxisBaseForX, double);
535 vtkGetVector3Macro(AxisBaseForX, double);
537
539
542 vtkSetVector3Macro(AxisBaseForY, double);
543 vtkGetVector3Macro(AxisBaseForY, double);
545
547
550 vtkSetVector3Macro(AxisBaseForZ, double);
551 vtkGetVector3Macro(AxisBaseForZ, double);
553
555
559 vtkSetVector3Macro(AxisOrigin, double);
560 vtkGetVector3Macro(AxisOrigin, double);
562
564
567 vtkSetMacro(UseAxisOrigin, int);
568 vtkGetMacro(UseAxisOrigin, int);
570
572
575 vtkSetMacro(GridLineLocation, int);
576 vtkGetMacro(GridLineLocation, int);
578
580
585 vtkSetMacro(StickyAxes, vtkTypeBool);
586 vtkGetMacro(StickyAxes, vtkTypeBool);
587 vtkBooleanMacro(StickyAxes, vtkTypeBool);
589
591
598 vtkSetMacro(CenterStickyAxes, vtkTypeBool);
599 vtkGetMacro(CenterStickyAxes, vtkTypeBool);
600 vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
602
604 {
605 VTK_GRID_LINES_ALL = 0,
606 VTK_GRID_LINES_CLOSEST = 1,
607 VTK_GRID_LINES_FURTHEST = 2
608 };
609
610protected:
613
620 vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
621
625 void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
626
632 unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
633
637 static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
638
639 int LabelExponent(double min, double max);
640
641 int Digits(double min, double max);
642
643 double MaxOf(double, double);
644 double MaxOf(double, double, double, double);
645
646 double FFix(double);
647 double FSign(double, double);
648 int FRound(double fnt);
649 int GetNumTicks(double range, double fxt);
650
651 void UpdateLabels(vtkAxisActor** axis, int index);
652
654
656
657 // Expose internally closest axis index computation
658 int FindClosestAxisIndex(double pts[8][3]);
659
660 // Expose internally furthest axis index computation
661 int FindFurtherstAxisIndex(double pts[8][3]);
662
663 // Expose internally the boundary edge fly mode axis index computation
664 void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
665
671 void UpdateGridLineVisibility(int axisIndex);
672
673 // VTK_ALL_GRID_LINES 0
674 // VTK_CLOSEST_GRID_LINES 1
675 // VTK_FURTHEST_GRID_LINES 2
677
682
687
693
699
705
711
713 {
714 NUMBER_OF_ALIGNED_AXIS = 4
715 };
716
718
722 vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
723 vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
724 vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
726
728
729 char* XTitle;
730 char* XUnits;
731 char* YTitle;
732 char* YUnits;
733 char* ZTitle;
734 char* ZUnits;
735
739
741
745
749
753
757
761
765
769
773
775
777
779
780 int InertiaLocs[3];
781
783
784 vtkTextProperty* TitleTextProperty[3];
785 vtkStringArray* AxisLabels[3];
786
787 vtkTextProperty* LabelTextProperty[3];
788
801
802 double RenderedBounds[6];
803 double OrientedBounds[6];
805
806 double AxisOrigin[3];
808
809 double AxisBaseForX[3];
810 double AxisBaseForY[3];
811 double AxisBaseForZ[3];
812
813private:
814 vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
815 void operator=(const vtkCubeAxesActor&) = delete;
816
817 vtkSetStringMacro(ActualXLabel);
818 vtkSetStringMacro(ActualYLabel);
819 vtkSetStringMacro(ActualZLabel);
820
821 vtkTimeStamp BuildTime;
822 int LastUseOrientedBounds;
823 int LastXPow;
824 int LastYPow;
825 int LastZPow;
826
827 int UserXPow;
828 int UserYPow;
829 int UserZPow;
830
831 bool AutoLabelScaling;
832
833 int LastXAxisDigits;
834 int LastYAxisDigits;
835 int LastZAxisDigits;
836
837 double LastXRange[2];
838 double LastYRange[2];
839 double LastZRange[2];
840 double LastBounds[6];
841
842 int LastFlyMode;
843
844 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
845 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
846 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
847
848 int NumberOfAxesX;
849 int NumberOfAxesY;
850 int NumberOfAxesZ;
851
852 bool MustAdjustXValue;
853 bool MustAdjustYValue;
854 bool MustAdjustZValue;
855
856 bool ForceXLabelReset;
857 bool ForceYLabelReset;
858 bool ForceZLabelReset;
859
860 double XAxisRange[2];
861 double YAxisRange[2];
862 double ZAxisRange[2];
863
864 double LabelScale;
865 double TitleScale;
866
867 double ScreenSize;
868 double LabelOffset;
869 double TitleOffset;
870
872
876 double MajorStart[3];
877 double DeltaMajor[3];
879
880 int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
881 int (vtkAxisActor::*renderMethod)(vtkViewport*));
882
883 void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
884 void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
885 double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
886 double xRange[2], double yRange[2], double zRange[2]);
887
888 bool ComputeTickSize(double bounds[6]);
889 void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
890 void AdjustRange(const double bounds[6]);
891 void BuildAxes(vtkViewport*);
892 void DetermineRenderAxes(vtkViewport*);
893 void SetNonDependentAttributes(void);
894 void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
895 void AdjustTicksComputeRange(
896 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
897
898 void AutoScale(vtkViewport* viewport);
899 void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
900 double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
901};
902
903#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:61
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
Definition vtkCamera.h:61
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:49
double Bounds[6]
Definition vtkProp3D.h:417
represent surface properties of a geometric object
Definition vtkProperty.h:77
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:65
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:69
#define VTK_INT_MAX
Definition vtkType.h:155
#define VTK_SIZEHINT(...)
#define max(a, b)