91 vtkSetMacro(RebuildAxes,
bool);
92 vtkGetMacro(RebuildAxes,
bool);
102 vtkSetVector6Macro(Bounds,
double);
103 using Superclass::GetBounds;
125 vtkSetVector2Macro(XAxisRange,
double);
126 vtkSetVector2Macro(YAxisRange,
double);
127 vtkSetVector2Macro(ZAxisRange,
double);
128 vtkGetVector2Macro(XAxisRange,
double);
129 vtkGetVector2Macro(YAxisRange,
double);
140 vtkGetVector2Macro(ZAxisRange,
double);
150 vtkGetMacro(ScreenSize,
double);
159 vtkGetMacro(LabelOffset,
double);
168 void SetTitleOffset(
double titleOffsetY);
170 double GetTitleOffset();
171 void SetTitleOffset(
double titleOffset[2]);
173 void GetTitleOffset(
double& titleOffsetX,
double& titleOffsetY);
187 VTK_FLY_OUTER_EDGES = 0,
188 VTK_FLY_CLOSEST_TRIAD = 1,
189 VTK_FLY_FURTHEST_TRIAD = 2,
190 VTK_FLY_STATIC_TRIAD = 3,
191 VTK_FLY_STATIC_EDGES = 4
201 vtkSetClampMacro(
FlyMode,
int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
215 vtkSetStringMacro(XTitle);
216 vtkGetStringMacro(XTitle);
217 vtkSetStringMacro(XUnits);
218 vtkGetStringMacro(XUnits);
219 vtkSetStringMacro(YTitle);
220 vtkGetStringMacro(YTitle);
221 vtkSetStringMacro(YUnits);
222 vtkGetStringMacro(YUnits);
223 vtkSetStringMacro(ZTitle);
224 vtkGetStringMacro(ZTitle);
225 vtkSetStringMacro(ZUnits);
226 vtkGetStringMacro(ZUnits);
234 vtkSetStringMacro(XLabelFormat);
235 vtkGetStringMacro(XLabelFormat);
236 vtkSetStringMacro(YLabelFormat);
237 vtkGetStringMacro(YLabelFormat);
238 vtkSetStringMacro(ZLabelFormat);
239 vtkGetStringMacro(ZLabelFormat);
250 vtkGetMacro(Inertia,
int);
260 vtkSetMacro(CornerOffset,
double);
261 vtkGetMacro(CornerOffset,
double);
276 vtkSetMacro(EnableDistanceLOD,
bool);
277 vtkGetMacro(EnableDistanceLOD,
bool);
285 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
286 vtkGetMacro(DistanceLODThreshold,
double);
294 vtkSetMacro(EnableViewAngleLOD,
bool);
295 vtkGetMacro(EnableViewAngleLOD,
bool);
303 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0., 1.);
304 vtkGetMacro(ViewAngleLODThreshold,
double);
312 vtkSetMacro(XAxisVisibility,
bool);
313 vtkGetMacro(XAxisVisibility,
bool);
314 vtkBooleanMacro(XAxisVisibility,
bool);
316 vtkSetMacro(YAxisVisibility,
bool);
317 vtkGetMacro(YAxisVisibility,
bool);
318 vtkBooleanMacro(YAxisVisibility,
bool);
320 vtkSetMacro(ZAxisVisibility,
bool);
321 vtkGetMacro(ZAxisVisibility,
bool);
322 vtkBooleanMacro(ZAxisVisibility,
bool);
330 vtkSetMacro(XAxisLabelVisibility,
bool);
331 vtkGetMacro(XAxisLabelVisibility,
bool);
332 vtkBooleanMacro(XAxisLabelVisibility,
bool);
334 vtkSetMacro(YAxisLabelVisibility,
bool);
335 vtkGetMacro(YAxisLabelVisibility,
bool);
336 vtkBooleanMacro(YAxisLabelVisibility,
bool);
338 vtkSetMacro(ZAxisLabelVisibility,
bool);
339 vtkGetMacro(ZAxisLabelVisibility,
bool);
340 vtkBooleanMacro(ZAxisLabelVisibility,
bool);
348 vtkSetMacro(XAxisTickVisibility,
bool);
349 vtkGetMacro(XAxisTickVisibility,
bool);
350 vtkBooleanMacro(XAxisTickVisibility,
bool);
352 vtkSetMacro(YAxisTickVisibility,
bool);
353 vtkGetMacro(YAxisTickVisibility,
bool);
354 vtkBooleanMacro(YAxisTickVisibility,
bool);
356 vtkSetMacro(ZAxisTickVisibility,
bool);
357 vtkGetMacro(ZAxisTickVisibility,
bool);
358 vtkBooleanMacro(ZAxisTickVisibility,
bool);
366 vtkSetMacro(XAxisMinorTickVisibility,
bool);
367 vtkGetMacro(XAxisMinorTickVisibility,
bool);
368 vtkBooleanMacro(XAxisMinorTickVisibility,
bool);
370 vtkSetMacro(YAxisMinorTickVisibility,
bool);
371 vtkGetMacro(YAxisMinorTickVisibility,
bool);
372 vtkBooleanMacro(YAxisMinorTickVisibility,
bool);
374 vtkSetMacro(ZAxisMinorTickVisibility,
bool);
375 vtkGetMacro(ZAxisMinorTickVisibility,
bool);
376 vtkBooleanMacro(ZAxisMinorTickVisibility,
bool);
384 vtkSetMacro(DrawXGridlines,
bool);
385 vtkGetMacro(DrawXGridlines,
bool);
386 vtkBooleanMacro(DrawXGridlines,
bool);
388 vtkSetMacro(DrawYGridlines,
bool);
389 vtkGetMacro(DrawYGridlines,
bool);
390 vtkBooleanMacro(DrawYGridlines,
bool);
392 vtkSetMacro(DrawZGridlines,
bool);
393 vtkGetMacro(DrawZGridlines,
bool);
394 vtkBooleanMacro(DrawZGridlines,
bool);
402 vtkSetMacro(DrawXInnerGridlines,
bool);
403 vtkGetMacro(DrawXInnerGridlines,
bool);
404 vtkBooleanMacro(DrawXInnerGridlines,
bool);
406 vtkSetMacro(DrawYInnerGridlines,
bool);
407 vtkGetMacro(DrawYInnerGridlines,
bool);
408 vtkBooleanMacro(DrawYInnerGridlines,
bool);
410 vtkSetMacro(DrawZInnerGridlines,
bool);
411 vtkGetMacro(DrawZInnerGridlines,
bool);
412 vtkBooleanMacro(DrawZInnerGridlines,
bool);
420 vtkSetMacro(DrawXGridpolys,
bool);
421 vtkGetMacro(DrawXGridpolys,
bool);
422 vtkBooleanMacro(DrawXGridpolys,
bool);
424 vtkSetMacro(DrawYGridpolys,
bool);
425 vtkGetMacro(DrawYGridpolys,
bool);
426 vtkBooleanMacro(DrawYGridpolys,
bool);
428 vtkSetMacro(DrawZGridpolys,
bool);
429 vtkGetMacro(DrawZGridpolys,
bool);
430 vtkBooleanMacro(DrawZGridpolys,
bool);
509 VTK_TICKS_INSIDE = 0,
510 VTK_TICKS_OUTSIDE = 1,
558 vtkSetVector6Macro(OrientedBounds,
double);
559 vtkGetVector6Macro(OrientedBounds,
double);
567 vtkSetMacro(UseOrientedBounds,
bool);
568 vtkGetMacro(UseOrientedBounds,
bool);
576 vtkSetVector3Macro(AxisBaseForX,
double);
577 vtkGetVector3Macro(AxisBaseForX,
double);
585 vtkSetVector3Macro(AxisBaseForY,
double);
586 vtkGetVector3Macro(AxisBaseForY,
double);
594 vtkSetVector3Macro(AxisBaseForZ,
double);
595 vtkGetVector3Macro(AxisBaseForZ,
double);
604 vtkSetVector3Macro(AxisOrigin,
double);
605 vtkGetVector3Macro(AxisOrigin,
double);
613 vtkSetMacro(UseAxisOrigin,
bool);
614 vtkGetMacro(UseAxisOrigin,
bool);
622 vtkSetMacro(GridLineLocation,
int);
623 vtkGetMacro(GridLineLocation,
int);
633 vtkSetMacro(StickyAxes,
bool);
634 vtkGetMacro(StickyAxes,
bool);
635 vtkBooleanMacro(StickyAxes,
bool);
647 vtkSetMacro(CenterStickyAxes,
bool);
648 vtkGetMacro(CenterStickyAxes,
bool);
649 vtkBooleanMacro(CenterStickyAxes,
bool);
654 VTK_GRID_LINES_ALL = 0,
655 VTK_GRID_LINES_CLOSEST = 1,
656 VTK_GRID_LINES_FURTHEST = 2
669 vtkViewport* viewport,
const double bounds[6],
double sphereCenter[3],
double& sphereRadius);
681 unsigned int pointIndex,
unsigned int& xBit,
unsigned int& yBit,
unsigned int& zBit);
686 static void GetBoundsPoint(
unsigned int pointIndex,
const double bounds[6],
double point[3]);
693 double MaxOf(
double,
double,
double,
double);
713 void FindBoundaryEdge(
int& indexOfAxisX,
int& indexOfAxisY,
int& indexOfAxisZ,
double pts[8][3]);
725 int GridLineLocation = VTK_GRID_LINES_ALL;
730 bool StickyAxes =
false;
735 bool CenterStickyAxes =
true;
741 bool EnableDistanceLOD =
true;
747 double DistanceLODThreshold = 0.8;
753 bool EnableViewAngleLOD =
true;
759 double ViewAngleLODThreshold = 0.2;
763 NUMBER_OF_ALIGNED_AXIS = 4
776 bool RebuildAxes =
true;
778 char* XTitle =
nullptr;
779 char* XUnits =
nullptr;
780 char* YTitle =
nullptr;
781 char* YUnits =
nullptr;
782 char* ZTitle =
nullptr;
783 char* ZUnits =
nullptr;
785 char* ActualXLabel =
nullptr;
786 char* ActualYLabel =
nullptr;
787 char* ActualZLabel =
nullptr;
791 bool XAxisVisibility =
true;
792 bool YAxisVisibility =
true;
793 bool ZAxisVisibility =
true;
795 bool XAxisTickVisibility =
true;
796 bool YAxisTickVisibility =
true;
797 bool ZAxisTickVisibility =
true;
799 bool XAxisMinorTickVisibility =
true;
800 bool YAxisMinorTickVisibility =
true;
801 bool ZAxisMinorTickVisibility =
true;
803 bool XAxisLabelVisibility =
true;
804 bool YAxisLabelVisibility =
true;
805 bool ZAxisLabelVisibility =
true;
807 bool DrawXGridlines =
false;
808 bool DrawYGridlines =
false;
809 bool DrawZGridlines =
false;
811 bool DrawXInnerGridlines =
false;
812 bool DrawYInnerGridlines =
false;
813 bool DrawZInnerGridlines =
false;
815 bool DrawXGridpolys =
false;
816 bool DrawYGridpolys =
false;
817 bool DrawZGridpolys =
false;
819 char* XLabelFormat =
nullptr;
820 char* YLabelFormat =
nullptr;
821 char* ZLabelFormat =
nullptr;
823 double CornerOffset = 0.0;
829 int InertiaLocs[3] = { -1, -1, -1 };
831 bool RenderSomething =
false;
850 double RenderedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
851 double OrientedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
852 bool UseOrientedBounds =
false;
854 double AxisOrigin[3] = { 0.0, 0.0, 0.0 };
855 bool UseAxisOrigin =
false;
857 double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
858 double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
859 double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
865 vtkSetStringMacro(ActualXLabel);
866 vtkSetStringMacro(ActualYLabel);
867 vtkSetStringMacro(ActualZLabel);
870 bool LastUseOrientedBounds =
false;
879 bool AutoLabelScaling =
true;
881 int LastXAxisDigits = 3;
882 int LastYAxisDigits = 3;
883 int LastZAxisDigits = 3;
891 int LastFlyMode = -1;
893 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
894 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
895 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
897 int NumberOfAxesX = 1;
898 int NumberOfAxesY = 1;
899 int NumberOfAxesZ = 1;
901 bool MustAdjustXValue =
false;
902 bool MustAdjustYValue =
false;
903 bool MustAdjustZValue =
false;
905 bool ForceXLabelReset =
false;
906 bool ForceYLabelReset =
false;
907 bool ForceZLabelReset =
false;
913 double LabelScale = -1.0;
914 double TitleScale = -1.0;
916 double ScreenSize = 10.0;
917 double LabelOffset = 20.0;
918 double TitleOffset[2] = { 20.0, 20.0 };
925 double MajorStart[3] = { 0.0, 0.0, 0.0 };
926 double DeltaMajor[3] = { 0.0, 0.0, 0.0 };
929 int RenderGeometry(
bool& initialRender,
vtkViewport* viewport,
bool checkAxisVisibility,
932 void TransformBounds(
vtkViewport* viewport,
const double bounds[6],
double pts[8][3]);
933 void AdjustAxes(
double bounds[6],
double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
934 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
935 double xRange[2],
double yRange[2],
double zRange[2]);
937 bool ComputeTickSize(
double bounds[6]);
938 void AdjustValues(
const double xRange[2],
const double yRange[2],
const double zRange[2]);
939 void AdjustRange(
const double bounds[6]);
942 void SetNonDependentAttributes();
943 void BuildLabels(
vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
944 void AdjustTicksComputeRange(
945 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS],
double rangeMin,
double rangeMax);
949 double AutoScale(
vtkViewport* viewport,
double screenSize,
double position[3]);