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=========================================================================*/
85#ifndef vtkCubeAxesActor_h
86#define vtkCubeAxesActor_h
87
88#include "vtkActor.h"
89#include "vtkRenderingAnnotationModule.h" // For export macro
90
91class vtkAxisActor;
92class vtkCamera;
93class vtkTextProperty;
94class vtkStringArray;
95
96class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
97{
98public:
99 vtkTypeMacro(vtkCubeAxesActor, vtkActor);
100 void PrintSelf(ostream& os, vtkIndent indent) override;
101
107
109
118
120
123 vtkSetMacro(RebuildAxes, bool);
124 vtkGetMacro(RebuildAxes, bool);
126
128
134 vtkSetVector6Macro(Bounds, double);
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
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
627protected:
630
637 vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
638
642 void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
643
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
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
792
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
830private:
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)
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:113
double Bounds[6]
Definition: vtkProp3D.h:394
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
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)