VTK  9.5.2
vtkCubeAxesActor.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
46
47#ifndef vtkCubeAxesActor_h
48#define vtkCubeAxesActor_h
49
50#include "vtkActor.h"
51#include "vtkNew.h" // For vtkNew
52#include "vtkRenderingAnnotationModule.h" // For export macro
53#include "vtkSmartPointer.h" // For vtkSmartPointer
54#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
55
56VTK_ABI_NAMESPACE_BEGIN
57class vtkAxisActor;
58class vtkCamera;
59class vtkTextProperty;
60class vtkStringArray;
61
62class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkCubeAxesActor : public vtkActor
63{
64public:
65 vtkTypeMacro(vtkCubeAxesActor, vtkActor);
66 void PrintSelf(ostream& os, vtkIndent indent) override;
67
73
75
81 int RenderOverlay(vtkViewport*) override;
84
86
90 vtkSetMacro(RebuildAxes, bool);
91 vtkGetMacro(RebuildAxes, bool);
93
95
101 vtkSetVector6Macro(Bounds, double);
103 double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
105
107
111 virtual void GetRenderedBounds(double rBounds[6]);
112 virtual double* GetRenderedBounds();
114
116
124 vtkSetVector2Macro(XAxisRange, double);
125 vtkSetVector2Macro(YAxisRange, double);
126 vtkSetVector2Macro(ZAxisRange, double);
127 vtkGetVector2Macro(XAxisRange, double);
128 vtkGetVector2Macro(YAxisRange, double);
131
136 void SetAxisLabels(int axis, vtkStringArray* value);
138
139 vtkGetVector2Macro(ZAxisRange, double);
140
142
148 void SetScreenSize(double screenSize);
149 vtkGetMacro(ScreenSize, double);
151
153
157 void SetLabelOffset(double offset);
158 vtkGetMacro(LabelOffset, double);
160
162
166 void SetTitleOffset(double titleOffset[2]);
167 vtkGetVector2Macro(TitleOffset, double);
169
171
175 virtual void SetCamera(vtkCamera*);
178
187
189
196 vtkGetMacro(FlyMode, int);
203
205
209 vtkSetStringMacro(XTitle);
210 vtkGetStringMacro(XTitle);
211 vtkSetStringMacro(XUnits);
212 vtkGetStringMacro(XUnits);
213 vtkSetStringMacro(YTitle);
214 vtkGetStringMacro(YTitle);
215 vtkSetStringMacro(YUnits);
216 vtkGetStringMacro(YUnits);
217 vtkSetStringMacro(ZTitle);
218 vtkGetStringMacro(ZTitle);
219 vtkSetStringMacro(ZUnits);
220 vtkGetStringMacro(ZUnits);
222
224
228 vtkSetStringMacro(XLabelFormat);
229 vtkGetStringMacro(XLabelFormat);
230 vtkSetStringMacro(YLabelFormat);
231 vtkGetStringMacro(YLabelFormat);
232 vtkSetStringMacro(ZLabelFormat);
233 vtkGetStringMacro(ZLabelFormat);
235
237
243 vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
244 vtkGetMacro(Inertia, int);
246
248
254 vtkSetMacro(CornerOffset, double);
255 vtkGetMacro(CornerOffset, double);
257
264
266
270 vtkSetMacro(EnableDistanceLOD, bool);
271 vtkGetMacro(EnableDistanceLOD, bool);
273
275
279 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
280 vtkGetMacro(DistanceLODThreshold, double);
282
284
288 vtkSetMacro(EnableViewAngleLOD, bool);
289 vtkGetMacro(EnableViewAngleLOD, bool);
291
293
297 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
298 vtkGetMacro(ViewAngleLODThreshold, double);
300
302
306 vtkSetMacro(XAxisVisibility, bool);
307 vtkGetMacro(XAxisVisibility, bool);
308 vtkBooleanMacro(XAxisVisibility, bool);
309
310 vtkSetMacro(YAxisVisibility, bool);
311 vtkGetMacro(YAxisVisibility, bool);
312 vtkBooleanMacro(YAxisVisibility, bool);
313
314 vtkSetMacro(ZAxisVisibility, bool);
315 vtkGetMacro(ZAxisVisibility, bool);
316 vtkBooleanMacro(ZAxisVisibility, bool);
318
320
324 vtkSetMacro(XAxisLabelVisibility, bool);
325 vtkGetMacro(XAxisLabelVisibility, bool);
326 vtkBooleanMacro(XAxisLabelVisibility, bool);
327
328 vtkSetMacro(YAxisLabelVisibility, bool);
329 vtkGetMacro(YAxisLabelVisibility, bool);
330 vtkBooleanMacro(YAxisLabelVisibility, bool);
331
332 vtkSetMacro(ZAxisLabelVisibility, bool);
333 vtkGetMacro(ZAxisLabelVisibility, bool);
334 vtkBooleanMacro(ZAxisLabelVisibility, bool);
336
338
342 vtkSetMacro(XAxisTickVisibility, bool);
343 vtkGetMacro(XAxisTickVisibility, bool);
344 vtkBooleanMacro(XAxisTickVisibility, bool);
345
346 vtkSetMacro(YAxisTickVisibility, bool);
347 vtkGetMacro(YAxisTickVisibility, bool);
348 vtkBooleanMacro(YAxisTickVisibility, bool);
349
350 vtkSetMacro(ZAxisTickVisibility, bool);
351 vtkGetMacro(ZAxisTickVisibility, bool);
352 vtkBooleanMacro(ZAxisTickVisibility, bool);
354
356
360 vtkSetMacro(XAxisMinorTickVisibility, bool);
361 vtkGetMacro(XAxisMinorTickVisibility, bool);
362 vtkBooleanMacro(XAxisMinorTickVisibility, bool);
363
364 vtkSetMacro(YAxisMinorTickVisibility, bool);
365 vtkGetMacro(YAxisMinorTickVisibility, bool);
366 vtkBooleanMacro(YAxisMinorTickVisibility, bool);
367
368 vtkSetMacro(ZAxisMinorTickVisibility, bool);
369 vtkGetMacro(ZAxisMinorTickVisibility, bool);
370 vtkBooleanMacro(ZAxisMinorTickVisibility, bool);
372
374
378 vtkSetMacro(DrawXGridlines, bool);
379 vtkGetMacro(DrawXGridlines, bool);
380 vtkBooleanMacro(DrawXGridlines, bool);
381
382 vtkSetMacro(DrawYGridlines, bool);
383 vtkGetMacro(DrawYGridlines, bool);
384 vtkBooleanMacro(DrawYGridlines, bool);
385
386 vtkSetMacro(DrawZGridlines, bool);
387 vtkGetMacro(DrawZGridlines, bool);
388 vtkBooleanMacro(DrawZGridlines, bool);
390
392
396 vtkSetMacro(DrawXInnerGridlines, bool);
397 vtkGetMacro(DrawXInnerGridlines, bool);
398 vtkBooleanMacro(DrawXInnerGridlines, bool);
399
400 vtkSetMacro(DrawYInnerGridlines, bool);
401 vtkGetMacro(DrawYInnerGridlines, bool);
402 vtkBooleanMacro(DrawYInnerGridlines, bool);
403
404 vtkSetMacro(DrawZInnerGridlines, bool);
405 vtkGetMacro(DrawZInnerGridlines, bool);
406 vtkBooleanMacro(DrawZInnerGridlines, bool);
408
410
414 vtkSetMacro(DrawXGridpolys, bool);
415 vtkGetMacro(DrawXGridpolys, bool);
416 vtkBooleanMacro(DrawXGridpolys, bool);
417
418 vtkSetMacro(DrawYGridpolys, bool);
419 vtkGetMacro(DrawYGridpolys, bool);
420 vtkBooleanMacro(DrawYGridpolys, bool);
421
422 vtkSetMacro(DrawZGridpolys, bool);
423 vtkGetMacro(DrawZGridpolys, bool);
424 vtkBooleanMacro(DrawZGridpolys, bool);
426
428
439
441
452
454
464
466
476
478
488
490
500
507
509
514 vtkGetMacro(TickLocation, int);
516
520
521 void SetLabelScaling(bool, int, int, int);
522
524
529 void SetUseTextActor3D(bool enable);
532
534
538 void SetUse2DMode(bool enable);
541
545 void SetSaveTitlePosition(int val);
546
548
552 vtkSetVector6Macro(OrientedBounds, double);
553 vtkGetVector6Macro(OrientedBounds, double);
555
557
561 vtkSetMacro(UseOrientedBounds, bool);
562 vtkGetMacro(UseOrientedBounds, bool);
564
566
570 vtkSetVector3Macro(AxisBaseForX, double);
571 vtkGetVector3Macro(AxisBaseForX, double);
573
575
579 vtkSetVector3Macro(AxisBaseForY, double);
580 vtkGetVector3Macro(AxisBaseForY, double);
582
584
588 vtkSetVector3Macro(AxisBaseForZ, double);
589 vtkGetVector3Macro(AxisBaseForZ, double);
591
593
598 vtkSetVector3Macro(AxisOrigin, double);
599 vtkGetVector3Macro(AxisOrigin, double);
601
603
607 vtkSetMacro(UseAxisOrigin, bool);
608 vtkGetMacro(UseAxisOrigin, bool);
610
612
616 vtkSetMacro(GridLineLocation, int);
617 vtkGetMacro(GridLineLocation, int);
619
621
627 vtkSetMacro(StickyAxes, bool);
628 vtkGetMacro(StickyAxes, bool);
629 vtkBooleanMacro(StickyAxes, bool);
631
633
641 vtkSetMacro(CenterStickyAxes, bool);
642 vtkGetMacro(CenterStickyAxes, bool);
643 vtkBooleanMacro(CenterStickyAxes, bool);
645
652
653protected:
656
663 vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
664
668 void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
669
675 unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
676
680 static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
681
682 int LabelExponent(double min, double max);
683
684 int Digits(double min, double max);
685
686 double MaxOf(double, double);
687 double MaxOf(double, double, double, double);
688
689 double FFix(double);
690 double FSign(double, double);
691 int FRound(double fnt);
692 int GetNumTicks(double range, double fxt);
693
694 void UpdateLabels(vtkAxisActor** axis, int index);
695
697
699
700 // Expose internally closest axis index computation
701 int FindClosestAxisIndex(double pts[8][3]);
702
703 // Expose internally furthest axis index computation
704 int FindFurtherstAxisIndex(double pts[8][3]);
705
706 // Expose internally the boundary edge fly mode axis index computation
707 void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
708
714 void UpdateGridLineVisibility(int axisIndex);
715
716 // VTK_ALL_GRID_LINES 0
717 // VTK_CLOSEST_GRID_LINES 1
718 // VTK_FURTHEST_GRID_LINES 2
720
724 bool StickyAxes = false;
725
729 bool CenterStickyAxes = true;
730
735 bool EnableDistanceLOD = true;
736
742
748
754
759
761
769
770 bool RebuildAxes = true;
771
772 char* XTitle = nullptr;
773 char* XUnits = nullptr;
774 char* YTitle = nullptr;
775 char* YUnits = nullptr;
776 char* ZTitle = nullptr;
777 char* ZUnits = nullptr;
778
779 char* ActualXLabel = nullptr;
780 char* ActualYLabel = nullptr;
781 char* ActualZLabel = nullptr;
782
784
785 bool XAxisVisibility = true;
786 bool YAxisVisibility = true;
787 bool ZAxisVisibility = true;
788
792
796
800
801 bool DrawXGridlines = false;
802 bool DrawYGridlines = false;
803 bool DrawZGridlines = false;
804
808
809 bool DrawXGridpolys = false;
810 bool DrawYGridpolys = false;
811 bool DrawZGridpolys = false;
812
813 char* XLabelFormat = nullptr;
814 char* YLabelFormat = nullptr;
815 char* ZLabelFormat = nullptr;
816
817 double CornerOffset = 0.0;
818
819 int Inertia = 1;
820
821 int RenderCount = 0;
822
823 int InertiaLocs[3] = { -1, -1, -1 };
824
825 bool RenderSomething = false;
826
830
843
844 double RenderedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
845 double OrientedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
846 bool UseOrientedBounds = false;
847
848 double AxisOrigin[3] = { 0.0, 0.0, 0.0 };
849 bool UseAxisOrigin = false;
850
851 double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
852 double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
853 double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
854
855private:
856 vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
857 void operator=(const vtkCubeAxesActor&) = delete;
858
859 vtkSetStringMacro(ActualXLabel);
860 vtkSetStringMacro(ActualYLabel);
861 vtkSetStringMacro(ActualZLabel);
862
864 bool LastUseOrientedBounds = false;
865 int LastXPow = 0;
866 int LastYPow = 0;
867 int LastZPow = 0;
868
869 int UserXPow = 0;
870 int UserYPow = 0;
871 int UserZPow = 0;
872
873 bool AutoLabelScaling = true;
874
875 int LastXAxisDigits = 3;
876 int LastYAxisDigits = 3;
877 int LastZAxisDigits = 3;
878
879 double LastXRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
880 double LastYRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
881 double LastZRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
884
885 int LastFlyMode = -1;
886
887 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
888 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
889 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
890
891 int NumberOfAxesX = 1;
892 int NumberOfAxesY = 1;
893 int NumberOfAxesZ = 1;
894
895 bool MustAdjustXValue = false;
896 bool MustAdjustYValue = false;
897 bool MustAdjustZValue = false;
898
899 bool ForceXLabelReset = false;
900 bool ForceYLabelReset = false;
901 bool ForceZLabelReset = false;
902
903 double XAxisRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
904 double YAxisRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
905 double ZAxisRange[2] = { VTK_DOUBLE_MAX, VTK_DOUBLE_MAX };
906
907 double LabelScale = -1.0;
908 double TitleScale = -1.0;
909
910 double ScreenSize = 10.0;
911 double LabelOffset = 20.0;
912 double TitleOffset[2] = { 20.0, 20.0 };
913
915
919 double MajorStart[3] = { 0.0, 0.0, 0.0 };
920 double DeltaMajor[3] = { 0.0, 0.0, 0.0 };
922
923 int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
924 int (vtkAxisActor::*renderMethod)(vtkViewport*));
925
926 void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
927 void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
928 double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
929 double xRange[2], double yRange[2], double zRange[2]);
930
931 bool ComputeTickSize(double bounds[6]);
932 void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
933 void AdjustRange(const double bounds[6]);
934 void BuildAxes(vtkViewport*);
935 void DetermineRenderAxes(vtkViewport*);
936 void SetNonDependentAttributes();
937 void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
938 void AdjustTicksComputeRange(
939 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
940
941 void AutoScale(vtkViewport* viewport);
942 void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
943 double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
944};
945
946VTK_ABI_NAMESPACE_END
947#endif
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
Definition vtkCamera.h:42
create a plot of a bounding box edges - used for navigation
void FindBoundaryEdge(int &indexOfAxisX, int &indexOfAxisY, int &indexOfAxisZ, double pts[8][3])
vtkProperty * GetZAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
void SetYAxesTitleProperty(vtkTextProperty *)
Returns the text property for the title on an axis.
bool GetUseTextActor3D()
Use or not vtkTextActor3D for titles and labels.
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.
vtkCamera * GetCamera()
Set/Get the camera to perform scaling and translation of the vtkCubeAxesActor.
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.
vtkNew< vtkProperty > ZAxesGridlinesProperty
virtual int RenderTranslucentGeometry(vtkViewport *)
Draw the axes as per the vtkProp superclass' API.
double FSign(double, double)
vtkTextProperty * GetXAxesLabelProperty()
Returns the text property for the labels on an axis.
void SetYAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkNew< vtkTextProperty > LabelTextProperty[3]
vtkSmartPointer< vtkCamera > Camera
void SetZAxesLabelProperty(vtkTextProperty *)
Returns the text property for the labels on an axis.
vtkProperty * GetZAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
void SetTitleOffset(double titleOffset[2])
Explicitly specify the offset between title and labels.
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.
vtkTextProperty * GetYAxesLabelProperty()
Returns the text property for the labels on an axis.
vtkProperty * GetXAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
vtkNew< vtkTextProperty > TitleTextProperty[3]
void SetXAxesGridpolysProperty(vtkProperty *)
Get/Set axes gridPolys actors properties.
vtkNew< vtkProperty > ZAxesInnerGridlinesProperty
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.
void SetYAxesLabelProperty(vtkTextProperty *)
Returns the text property for the labels on an axis.
void SetUse2DMode(bool enable)
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
vtkNew< vtkProperty > YAxesGridpolysProperty
vtkTextProperty * GetZAxesLabelProperty()
Returns the text property for the labels on an axis.
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.
vtkNew< vtkProperty > XAxesGridlinesProperty
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.
vtkNew< vtkProperty > YAxesGridlinesProperty
static vtkCubeAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
int FRound(double fnt)
bool EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
int FindClosestAxisIndex(double pts[8][3])
int RenderOpaqueGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkAxisActor * YAxes[NUMBER_OF_ALIGNED_AXIS]
Control variables for all axes NB: [0] always for 'Major' axis during non-static fly modes.
void ComputeStickyAxesBoundingSphere(vtkViewport *viewport, const double bounds[6], double sphereCenter[3], double &sphereRadius)
Computes a bounding sphere used to determine the sticky bounding box.
vtkTextProperty * GetZAxesTitleProperty()
Returns the text property for the title on an axis.
static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3])
Get a point on the bounding box by point index.
vtkTextProperty * GetYAxesTitleProperty()
Returns the text property for the title on an axis.
void SetLabelOffset(double offset)
Explicitly specify the offset between labels and the axis.
bool GetUse2DMode()
Get/Set 2D mode NB: Use vtkTextActor for titles in 2D instead of vtkAxisFollower.
void SetUseTextActor3D(bool enable)
Use or not vtkTextActor3D for titles and labels.
vtkProperty * GetXAxesGridlinesProperty()
Get/Set axes (outer) gridlines actors properties.
vtkAxisActor * ZAxes[NUMBER_OF_ALIGNED_AXIS]
Control variables for all axes NB: [0] always for 'Major' axis during non-static fly modes.
vtkTextProperty * GetLabelTextProperty(int)
Returns the text property for the labels on an axis.
void SetZAxesLinesProperty(vtkProperty *)
Get/Set axes actors properties.
void SetFlyModeToStaticEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkSmartPointer< vtkStringArray > AxisLabels[3]
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.
vtkNew< vtkProperty > XAxesGridpolysProperty
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.
vtkNew< vtkProperty > YAxesInnerGridlinesProperty
void SetSaveTitlePosition(int val)
For 2D mode only: save axis title positions for later use.
vtkNew< vtkProperty > ZAxesLinesProperty
vtkAxisActor * XAxes[NUMBER_OF_ALIGNED_AXIS]
Control variables for all axes NB: [0] always for 'Major' axis during non-static fly modes.
vtkTextProperty * GetTitleTextProperty(int)
Returns the text property for the title on an axis.
bool StickyAxes
Flag for axes stickiness.
static void GetBoundsPointBits(unsigned int pointIndex, unsigned int &xBit, unsigned int &yBit, unsigned int &zBit)
Get the bits for a bounds point.
void SetXAxesInnerGridlinesProperty(vtkProperty *)
Get/Set axes inner gridlines actors properties.
void SetLabelScaling(bool, int, int, int)
vtkNew< vtkProperty > YAxesLinesProperty
vtkTextProperty * GetXAxesTitleProperty()
Returns the text property for the title on an axis.
vtkNew< vtkProperty > XAxesLinesProperty
double FFix(double)
int FindFurtherstAxisIndex(double pts[8][3])
vtkNew< vtkProperty > XAxesInnerGridlinesProperty
vtkProperty * GetXAxesGridpolysProperty()
Get/Set axes gridPolys actors properties.
void SetXAxesTitleProperty(vtkTextProperty *)
Returns the text property for the title on an axis.
vtkNew< vtkProperty > ZAxesGridpolysProperty
double MaxOf(double, double, double, double)
int GetNumTicks(double range, double fxt)
void SetXAxesLabelProperty(vtkTextProperty *)
Returns the text property for the labels on an axis.
void UpdateLabels(vtkAxisActor **axis, int index)
vtkProperty * GetYAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
int Digits(double min, double max)
bool EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
bool CenterStickyAxes
Flag for centering sticky axes.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the axes as per the vtkProp superclass' API.
vtkProperty * GetZAxesInnerGridlinesProperty()
Get/Set axes inner gridlines actors properties.
virtual void SetFlyMode(int)
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
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)
vtkProperty * GetYAxesLinesProperty()
Get/Set axes actors properties.
int LabelExponent(double min, double max)
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.
virtual void SetTickLocation(int)
Set/Get the location of ticks marks.
void SetZAxesTitleProperty(vtkTextProperty *)
Returns the text property for the title on an axis.
void SetFlyModeToFurthestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
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:29
Allocate and hold a VTK object.
Definition vtkNew.h:58
double Bounds[6]
Definition vtkProp3D.h:400
represent surface properties of a geometric object
Definition vtkProperty.h:61
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
int vtkTypeBool
Definition vtkABI.h:64
vtkTimeStamp BuildTime
#define VTK_DOUBLE_MAX
Definition vtkType.h:171
#define VTK_INT_MAX
Definition vtkType.h:161
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO
#define max(a, b)