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=========================================================================*/
56#ifndef vtkCubeAxesActor_h
57#define vtkCubeAxesActor_h
58
59#include "vtkActor.h"
60#include "vtkRenderingAnnotationModule.h" // For export macro
61
62class vtkAxisActor;
63class vtkCamera;
64class vtkTextProperty;
65class vtkStringArray;
66
67class VTKRENDERINGANNOTATION_EXPORT vtkCubeAxesActor : public vtkActor
68{
69public:
70 vtkTypeMacro(vtkCubeAxesActor, vtkActor);
71 void PrintSelf(ostream& os, vtkIndent indent) override;
72
78
80
86 int RenderOverlay(vtkViewport*) override;
89
91
94 vtkSetMacro(RebuildAxes, bool);
95 vtkGetMacro(RebuildAxes, bool);
97
99
105 vtkSetVector6Macro(Bounds, double);
106 using Superclass::GetBounds;
107 double* GetBounds() VTK_SIZEHINT(6) override { return this->Bounds; }
109
111
115 virtual void GetRenderedBounds(double rBounds[6]);
116 virtual double* GetRenderedBounds();
118
120
128 vtkSetVector2Macro(XAxisRange, double);
129 vtkSetVector2Macro(YAxisRange, double);
130 vtkSetVector2Macro(ZAxisRange, double);
131 vtkGetVector2Macro(XAxisRange, double);
132 vtkGetVector2Macro(YAxisRange, double);
135
140 void SetAxisLabels(int axis, vtkStringArray* value);
142
143 vtkGetVector2Macro(ZAxisRange, double);
144
146
151 void SetScreenSize(double screenSize);
152 vtkGetMacro(ScreenSize, double);
154
156
160 void SetLabelOffset(double offset);
161 vtkGetMacro(LabelOffset, double);
163
165
169 void SetTitleOffset(double offset);
170 vtkGetMacro(TitleOffset, double);
172
174
178 virtual void SetCamera(vtkCamera*);
179 vtkGetObjectMacro(Camera, vtkCamera);
181
183 {
184 VTK_FLY_OUTER_EDGES = 0,
185 VTK_FLY_CLOSEST_TRIAD = 1,
186 VTK_FLY_FURTHEST_TRIAD = 2,
187 VTK_FLY_STATIC_TRIAD = 3,
188 VTK_FLY_STATIC_EDGES = 4
189 };
190
192
197 vtkSetClampMacro(FlyMode, int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
198 vtkGetMacro(FlyMode, int);
199 void SetFlyModeToOuterEdges() { this->SetFlyMode(VTK_FLY_OUTER_EDGES); }
200 void SetFlyModeToClosestTriad() { this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD); }
201 void SetFlyModeToFurthestTriad() { this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD); }
202 void SetFlyModeToStaticTriad() { this->SetFlyMode(VTK_FLY_STATIC_TRIAD); }
203 void SetFlyModeToStaticEdges() { this->SetFlyMode(VTK_FLY_STATIC_EDGES); }
205
207
211 vtkSetStringMacro(XTitle);
212 vtkGetStringMacro(XTitle);
213 vtkSetStringMacro(XUnits);
214 vtkGetStringMacro(XUnits);
215 vtkSetStringMacro(YTitle);
216 vtkGetStringMacro(YTitle);
217 vtkSetStringMacro(YUnits);
218 vtkGetStringMacro(YUnits);
219 vtkSetStringMacro(ZTitle);
220 vtkGetStringMacro(ZTitle);
221 vtkSetStringMacro(ZUnits);
222 vtkGetStringMacro(ZUnits);
224
226
230 vtkSetStringMacro(XLabelFormat);
231 vtkGetStringMacro(XLabelFormat);
232 vtkSetStringMacro(YLabelFormat);
233 vtkGetStringMacro(YLabelFormat);
234 vtkSetStringMacro(ZLabelFormat);
235 vtkGetStringMacro(ZLabelFormat);
237
239
244 vtkSetClampMacro(Inertia, int, 1, VTK_INT_MAX);
245 vtkGetMacro(Inertia, int);
247
249
254 vtkSetMacro(CornerOffset, double);
255 vtkGetMacro(CornerOffset, double);
257
264
266
269 vtkSetMacro(EnableDistanceLOD, int);
270 vtkGetMacro(EnableDistanceLOD, int);
272
274
277 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
278 vtkGetMacro(DistanceLODThreshold, double);
280
282
285 vtkSetMacro(EnableViewAngleLOD, int);
286 vtkGetMacro(EnableViewAngleLOD, int);
288
290
293 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
294 vtkGetMacro(ViewAngleLODThreshold, double);
296
298
301 vtkSetMacro(XAxisVisibility, vtkTypeBool);
302 vtkGetMacro(XAxisVisibility, vtkTypeBool);
303 vtkBooleanMacro(XAxisVisibility, vtkTypeBool);
304 vtkSetMacro(YAxisVisibility, vtkTypeBool);
305 vtkGetMacro(YAxisVisibility, vtkTypeBool);
306 vtkBooleanMacro(YAxisVisibility, vtkTypeBool);
307 vtkSetMacro(ZAxisVisibility, vtkTypeBool);
308 vtkGetMacro(ZAxisVisibility, vtkTypeBool);
309 vtkBooleanMacro(ZAxisVisibility, vtkTypeBool);
311
313
316 vtkSetMacro(XAxisLabelVisibility, vtkTypeBool);
317 vtkGetMacro(XAxisLabelVisibility, vtkTypeBool);
318 vtkBooleanMacro(XAxisLabelVisibility, vtkTypeBool);
320
321 vtkSetMacro(YAxisLabelVisibility, vtkTypeBool);
322 vtkGetMacro(YAxisLabelVisibility, vtkTypeBool);
323 vtkBooleanMacro(YAxisLabelVisibility, vtkTypeBool);
324
325 vtkSetMacro(ZAxisLabelVisibility, vtkTypeBool);
326 vtkGetMacro(ZAxisLabelVisibility, vtkTypeBool);
327 vtkBooleanMacro(ZAxisLabelVisibility, vtkTypeBool);
328
330
333 vtkSetMacro(XAxisTickVisibility, vtkTypeBool);
334 vtkGetMacro(XAxisTickVisibility, vtkTypeBool);
335 vtkBooleanMacro(XAxisTickVisibility, vtkTypeBool);
337
338 vtkSetMacro(YAxisTickVisibility, vtkTypeBool);
339 vtkGetMacro(YAxisTickVisibility, vtkTypeBool);
340 vtkBooleanMacro(YAxisTickVisibility, vtkTypeBool);
341
342 vtkSetMacro(ZAxisTickVisibility, vtkTypeBool);
343 vtkGetMacro(ZAxisTickVisibility, vtkTypeBool);
344 vtkBooleanMacro(ZAxisTickVisibility, vtkTypeBool);
345
347
350 vtkSetMacro(XAxisMinorTickVisibility, vtkTypeBool);
351 vtkGetMacro(XAxisMinorTickVisibility, vtkTypeBool);
352 vtkBooleanMacro(XAxisMinorTickVisibility, vtkTypeBool);
354
355 vtkSetMacro(YAxisMinorTickVisibility, vtkTypeBool);
356 vtkGetMacro(YAxisMinorTickVisibility, vtkTypeBool);
357 vtkBooleanMacro(YAxisMinorTickVisibility, vtkTypeBool);
358
359 vtkSetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
360 vtkGetMacro(ZAxisMinorTickVisibility, vtkTypeBool);
361 vtkBooleanMacro(ZAxisMinorTickVisibility, vtkTypeBool);
362
363 vtkSetMacro(DrawXGridlines, vtkTypeBool);
364 vtkGetMacro(DrawXGridlines, vtkTypeBool);
365 vtkBooleanMacro(DrawXGridlines, vtkTypeBool);
366
367 vtkSetMacro(DrawYGridlines, vtkTypeBool);
368 vtkGetMacro(DrawYGridlines, vtkTypeBool);
369 vtkBooleanMacro(DrawYGridlines, vtkTypeBool);
370
371 vtkSetMacro(DrawZGridlines, vtkTypeBool);
372 vtkGetMacro(DrawZGridlines, vtkTypeBool);
373 vtkBooleanMacro(DrawZGridlines, vtkTypeBool);
374
375 vtkSetMacro(DrawXInnerGridlines, vtkTypeBool);
376 vtkGetMacro(DrawXInnerGridlines, vtkTypeBool);
377 vtkBooleanMacro(DrawXInnerGridlines, vtkTypeBool);
378
379 vtkSetMacro(DrawYInnerGridlines, vtkTypeBool);
380 vtkGetMacro(DrawYInnerGridlines, vtkTypeBool);
381 vtkBooleanMacro(DrawYInnerGridlines, vtkTypeBool);
382
383 vtkSetMacro(DrawZInnerGridlines, vtkTypeBool);
384 vtkGetMacro(DrawZInnerGridlines, vtkTypeBool);
385 vtkBooleanMacro(DrawZInnerGridlines, vtkTypeBool);
386
387 vtkSetMacro(DrawXGridpolys, vtkTypeBool);
388 vtkGetMacro(DrawXGridpolys, vtkTypeBool);
389 vtkBooleanMacro(DrawXGridpolys, vtkTypeBool);
390
391 vtkSetMacro(DrawYGridpolys, vtkTypeBool);
392 vtkGetMacro(DrawYGridpolys, vtkTypeBool);
393 vtkBooleanMacro(DrawYGridpolys, vtkTypeBool);
394
395 vtkSetMacro(DrawZGridpolys, vtkTypeBool);
396 vtkGetMacro(DrawZGridpolys, vtkTypeBool);
397 vtkBooleanMacro(DrawZGridpolys, vtkTypeBool);
398
403
408
410
420
422
432
434
444
446
456
458 {
459 VTK_TICKS_INSIDE = 0,
460 VTK_TICKS_OUTSIDE = 1,
461 VTK_TICKS_BOTH = 2
462 };
463
465
468 vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
469 vtkGetMacro(TickLocation, int);
471
472 void SetTickLocationToInside(void) { this->SetTickLocation(VTK_TICKS_INSIDE); }
473 void SetTickLocationToOutside(void) { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
474 void SetTickLocationToBoth(void) { this->SetTickLocation(VTK_TICKS_BOTH); }
475
476 void SetLabelScaling(bool, int, int, int);
477
479
484 void SetUseTextActor3D(int val);
487
489
493 void SetUse2DMode(int val);
496
500 void SetSaveTitlePosition(int val);
501
503
506 vtkSetVector6Macro(OrientedBounds, double);
507 vtkGetVector6Macro(OrientedBounds, double);
509
511
514 vtkSetMacro(UseOrientedBounds, int);
515 vtkGetMacro(UseOrientedBounds, int);
517
519
522 vtkSetVector3Macro(AxisBaseForX, double);
523 vtkGetVector3Macro(AxisBaseForX, double);
525
527
530 vtkSetVector3Macro(AxisBaseForY, double);
531 vtkGetVector3Macro(AxisBaseForY, double);
533
535
538 vtkSetVector3Macro(AxisBaseForZ, double);
539 vtkGetVector3Macro(AxisBaseForZ, double);
541
543
547 vtkSetVector3Macro(AxisOrigin, double);
548 vtkGetVector3Macro(AxisOrigin, double);
550
552
555 vtkSetMacro(UseAxisOrigin, int);
556 vtkGetMacro(UseAxisOrigin, int);
558
560
563 vtkSetMacro(GridLineLocation, int);
564 vtkGetMacro(GridLineLocation, int);
566
568
573 vtkSetMacro(StickyAxes, vtkTypeBool);
574 vtkGetMacro(StickyAxes, vtkTypeBool);
575 vtkBooleanMacro(StickyAxes, vtkTypeBool);
577
579
586 vtkSetMacro(CenterStickyAxes, vtkTypeBool);
587 vtkGetMacro(CenterStickyAxes, vtkTypeBool);
588 vtkBooleanMacro(CenterStickyAxes, vtkTypeBool);
590
592 {
593 VTK_GRID_LINES_ALL = 0,
594 VTK_GRID_LINES_CLOSEST = 1,
595 VTK_GRID_LINES_FURTHEST = 2
596 };
597
598protected:
601
608 vtkViewport* viewport, const double bounds[6], double sphereCenter[3], double& sphereRadius);
609
613 void GetViewportLimitedBounds(vtkViewport* viewport, double bounds[6]);
614
620 unsigned int pointIndex, unsigned int& xBit, unsigned int& yBit, unsigned int& zBit);
621
625 static void GetBoundsPoint(unsigned int pointIndex, const double bounds[6], double point[3]);
626
627 int LabelExponent(double min, double max);
628
629 int Digits(double min, double max);
630
631 double MaxOf(double, double);
632 double MaxOf(double, double, double, double);
633
634 double FFix(double);
635 double FSign(double, double);
636 int FRound(double fnt);
637 int GetNumTicks(double range, double fxt);
638
639 void UpdateLabels(vtkAxisActor** axis, int index);
640
642
644
645 // Expose internally closest axis index computation
646 int FindClosestAxisIndex(double pts[8][3]);
647
648 // Expose internally furthest axis index computation
649 int FindFurtherstAxisIndex(double pts[8][3]);
650
651 // Expose internally the boundary edge fly mode axis index computation
652 void FindBoundaryEdge(int& indexOfAxisX, int& indexOfAxisY, int& indexOfAxisZ, double pts[8][3]);
653
659 void UpdateGridLineVisibility(int axisIndex);
660
661 // VTK_ALL_GRID_LINES 0
662 // VTK_CLOSEST_GRID_LINES 1
663 // VTK_FURTHEST_GRID_LINES 2
665
670
675
681
687
693
699
701 {
702 NUMBER_OF_ALIGNED_AXIS = 4
703 };
704
706
710 vtkAxisActor* XAxes[NUMBER_OF_ALIGNED_AXIS];
711 vtkAxisActor* YAxes[NUMBER_OF_ALIGNED_AXIS];
712 vtkAxisActor* ZAxes[NUMBER_OF_ALIGNED_AXIS];
714
716
717 char* XTitle;
718 char* XUnits;
719 char* YTitle;
720 char* YUnits;
721 char* ZTitle;
722 char* ZUnits;
723
727
729
733
737
741
745
749
753
757
761
763
765
767
768 int InertiaLocs[3];
769
771
772 vtkTextProperty* TitleTextProperty[3];
773 vtkStringArray* AxisLabels[3];
774
775 vtkTextProperty* LabelTextProperty[3];
776
789
790 double RenderedBounds[6];
791 double OrientedBounds[6];
793
794 double AxisOrigin[3];
796
797 double AxisBaseForX[3];
798 double AxisBaseForY[3];
799 double AxisBaseForZ[3];
800
801private:
802 vtkCubeAxesActor(const vtkCubeAxesActor&) = delete;
803 void operator=(const vtkCubeAxesActor&) = delete;
804
805 vtkSetStringMacro(ActualXLabel);
806 vtkSetStringMacro(ActualYLabel);
807 vtkSetStringMacro(ActualZLabel);
808
809 vtkTimeStamp BuildTime;
810 int LastUseOrientedBounds;
811 int LastXPow;
812 int LastYPow;
813 int LastZPow;
814
815 int UserXPow;
816 int UserYPow;
817 int UserZPow;
818
819 bool AutoLabelScaling;
820
821 int LastXAxisDigits;
822 int LastYAxisDigits;
823 int LastZAxisDigits;
824
825 double LastXRange[2];
826 double LastYRange[2];
827 double LastZRange[2];
828 double LastBounds[6];
829
830 int LastFlyMode;
831
832 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
833 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
834 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
835
836 int NumberOfAxesX;
837 int NumberOfAxesY;
838 int NumberOfAxesZ;
839
840 bool MustAdjustXValue;
841 bool MustAdjustYValue;
842 bool MustAdjustZValue;
843
844 bool ForceXLabelReset;
845 bool ForceYLabelReset;
846 bool ForceZLabelReset;
847
848 double XAxisRange[2];
849 double YAxisRange[2];
850 double ZAxisRange[2];
851
852 double LabelScale;
853 double TitleScale;
854
855 double ScreenSize;
856 double LabelOffset;
857 double TitleOffset;
858
860
864 double MajorStart[3];
865 double DeltaMajor[3];
867
868 int RenderGeometry(bool& initialRender, vtkViewport* viewport, bool checkAxisVisibility,
869 int (vtkAxisActor::*renderMethod)(vtkViewport*));
870
871 void TransformBounds(vtkViewport* viewport, const double bounds[6], double pts[8][3]);
872 void AdjustAxes(double bounds[6], double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
873 double yCoords[NUMBER_OF_ALIGNED_AXIS][6], double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
874 double xRange[2], double yRange[2], double zRange[2]);
875
876 bool ComputeTickSize(double bounds[6]);
877 void AdjustValues(const double xRange[2], const double yRange[2], const double zRange[2]);
878 void AdjustRange(const double bounds[6]);
879 void BuildAxes(vtkViewport*);
880 void DetermineRenderAxes(vtkViewport*);
881 void SetNonDependentAttributes(void);
882 void BuildLabels(vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
883 void AdjustTicksComputeRange(
884 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS], double rangeMin, double rangeMax);
885
886 void AutoScale(vtkViewport* viewport);
887 void AutoScale(vtkViewport* viewport, vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
888 double AutoScale(vtkViewport* viewport, double screenSize, double position[3]);
889};
890
891#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:46
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
Definition vtkCamera.h:46
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:34
double Bounds[6]
Definition vtkProp3D.h:405
represent surface properties of a geometric object
Definition vtkProperty.h:62
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:50
window superclass for vtkRenderWindow
Definition vtkWindow.h:39
int vtkTypeBool
Definition vtkABI.h:69
#define VTK_INT_MAX
Definition vtkType.h:155
#define VTK_SIZEHINT(...)
#define max(a, b)