90 vtkSetMacro(RebuildAxes,
bool);
91 vtkGetMacro(RebuildAxes,
bool);
101 vtkSetVector6Macro(Bounds,
double);
102 using Superclass::GetBounds;
124 vtkSetVector2Macro(XAxisRange,
double);
125 vtkSetVector2Macro(YAxisRange,
double);
126 vtkSetVector2Macro(ZAxisRange,
double);
127 vtkGetVector2Macro(XAxisRange,
double);
128 vtkGetVector2Macro(YAxisRange,
double);
139 vtkGetVector2Macro(ZAxisRange,
double);
149 vtkGetMacro(ScreenSize,
double);
158 vtkGetMacro(LabelOffset,
double);
167 void SetTitleOffset(
double titleOffsetY);
169 double GetTitleOffset();
170 void SetTitleOffset(
double titleOffset[2]);
172 void GetTitleOffset(
double& titleOffsetX,
double& titleOffsetY);
186 VTK_FLY_OUTER_EDGES = 0,
187 VTK_FLY_CLOSEST_TRIAD = 1,
188 VTK_FLY_FURTHEST_TRIAD = 2,
189 VTK_FLY_STATIC_TRIAD = 3,
190 VTK_FLY_STATIC_EDGES = 4
200 vtkSetClampMacro(
FlyMode,
int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
214 vtkSetStringMacro(XTitle);
215 vtkGetStringMacro(XTitle);
216 vtkSetStringMacro(XUnits);
217 vtkGetStringMacro(XUnits);
218 vtkSetStringMacro(YTitle);
219 vtkGetStringMacro(YTitle);
220 vtkSetStringMacro(YUnits);
221 vtkGetStringMacro(YUnits);
222 vtkSetStringMacro(ZTitle);
223 vtkGetStringMacro(ZTitle);
224 vtkSetStringMacro(ZUnits);
225 vtkGetStringMacro(ZUnits);
233 vtkSetStringMacro(XLabelFormat);
234 vtkGetStringMacro(XLabelFormat);
235 vtkSetStringMacro(YLabelFormat);
236 vtkGetStringMacro(YLabelFormat);
237 vtkSetStringMacro(ZLabelFormat);
238 vtkGetStringMacro(ZLabelFormat);
249 vtkGetMacro(Inertia,
int);
259 vtkSetMacro(CornerOffset,
double);
260 vtkGetMacro(CornerOffset,
double);
275 vtkSetMacro(EnableDistanceLOD,
bool);
276 vtkGetMacro(EnableDistanceLOD,
bool);
284 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
285 vtkGetMacro(DistanceLODThreshold,
double);
293 vtkSetMacro(EnableViewAngleLOD,
bool);
294 vtkGetMacro(EnableViewAngleLOD,
bool);
302 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0., 1.);
303 vtkGetMacro(ViewAngleLODThreshold,
double);
311 vtkSetMacro(XAxisVisibility,
bool);
312 vtkGetMacro(XAxisVisibility,
bool);
313 vtkBooleanMacro(XAxisVisibility,
bool);
315 vtkSetMacro(YAxisVisibility,
bool);
316 vtkGetMacro(YAxisVisibility,
bool);
317 vtkBooleanMacro(YAxisVisibility,
bool);
319 vtkSetMacro(ZAxisVisibility,
bool);
320 vtkGetMacro(ZAxisVisibility,
bool);
321 vtkBooleanMacro(ZAxisVisibility,
bool);
329 vtkSetMacro(XAxisLabelVisibility,
bool);
330 vtkGetMacro(XAxisLabelVisibility,
bool);
331 vtkBooleanMacro(XAxisLabelVisibility,
bool);
333 vtkSetMacro(YAxisLabelVisibility,
bool);
334 vtkGetMacro(YAxisLabelVisibility,
bool);
335 vtkBooleanMacro(YAxisLabelVisibility,
bool);
337 vtkSetMacro(ZAxisLabelVisibility,
bool);
338 vtkGetMacro(ZAxisLabelVisibility,
bool);
339 vtkBooleanMacro(ZAxisLabelVisibility,
bool);
347 vtkSetMacro(XAxisTickVisibility,
bool);
348 vtkGetMacro(XAxisTickVisibility,
bool);
349 vtkBooleanMacro(XAxisTickVisibility,
bool);
351 vtkSetMacro(YAxisTickVisibility,
bool);
352 vtkGetMacro(YAxisTickVisibility,
bool);
353 vtkBooleanMacro(YAxisTickVisibility,
bool);
355 vtkSetMacro(ZAxisTickVisibility,
bool);
356 vtkGetMacro(ZAxisTickVisibility,
bool);
357 vtkBooleanMacro(ZAxisTickVisibility,
bool);
365 vtkSetMacro(XAxisMinorTickVisibility,
bool);
366 vtkGetMacro(XAxisMinorTickVisibility,
bool);
367 vtkBooleanMacro(XAxisMinorTickVisibility,
bool);
369 vtkSetMacro(YAxisMinorTickVisibility,
bool);
370 vtkGetMacro(YAxisMinorTickVisibility,
bool);
371 vtkBooleanMacro(YAxisMinorTickVisibility,
bool);
373 vtkSetMacro(ZAxisMinorTickVisibility,
bool);
374 vtkGetMacro(ZAxisMinorTickVisibility,
bool);
375 vtkBooleanMacro(ZAxisMinorTickVisibility,
bool);
383 vtkSetMacro(DrawXGridlines,
bool);
384 vtkGetMacro(DrawXGridlines,
bool);
385 vtkBooleanMacro(DrawXGridlines,
bool);
387 vtkSetMacro(DrawYGridlines,
bool);
388 vtkGetMacro(DrawYGridlines,
bool);
389 vtkBooleanMacro(DrawYGridlines,
bool);
391 vtkSetMacro(DrawZGridlines,
bool);
392 vtkGetMacro(DrawZGridlines,
bool);
393 vtkBooleanMacro(DrawZGridlines,
bool);
401 vtkSetMacro(DrawXInnerGridlines,
bool);
402 vtkGetMacro(DrawXInnerGridlines,
bool);
403 vtkBooleanMacro(DrawXInnerGridlines,
bool);
405 vtkSetMacro(DrawYInnerGridlines,
bool);
406 vtkGetMacro(DrawYInnerGridlines,
bool);
407 vtkBooleanMacro(DrawYInnerGridlines,
bool);
409 vtkSetMacro(DrawZInnerGridlines,
bool);
410 vtkGetMacro(DrawZInnerGridlines,
bool);
411 vtkBooleanMacro(DrawZInnerGridlines,
bool);
419 vtkSetMacro(DrawXGridpolys,
bool);
420 vtkGetMacro(DrawXGridpolys,
bool);
421 vtkBooleanMacro(DrawXGridpolys,
bool);
423 vtkSetMacro(DrawYGridpolys,
bool);
424 vtkGetMacro(DrawYGridpolys,
bool);
425 vtkBooleanMacro(DrawYGridpolys,
bool);
427 vtkSetMacro(DrawZGridpolys,
bool);
428 vtkGetMacro(DrawZGridpolys,
bool);
429 vtkBooleanMacro(DrawZGridpolys,
bool);
492 VTK_TICKS_INSIDE = 0,
493 VTK_TICKS_OUTSIDE = 1,
541 vtkSetVector6Macro(OrientedBounds,
double);
542 vtkGetVector6Macro(OrientedBounds,
double);
550 vtkSetMacro(UseOrientedBounds,
bool);
551 vtkGetMacro(UseOrientedBounds,
bool);
559 vtkSetVector3Macro(AxisBaseForX,
double);
560 vtkGetVector3Macro(AxisBaseForX,
double);
568 vtkSetVector3Macro(AxisBaseForY,
double);
569 vtkGetVector3Macro(AxisBaseForY,
double);
577 vtkSetVector3Macro(AxisBaseForZ,
double);
578 vtkGetVector3Macro(AxisBaseForZ,
double);
587 vtkSetVector3Macro(AxisOrigin,
double);
588 vtkGetVector3Macro(AxisOrigin,
double);
596 vtkSetMacro(UseAxisOrigin,
bool);
597 vtkGetMacro(UseAxisOrigin,
bool);
605 vtkSetMacro(GridLineLocation,
int);
606 vtkGetMacro(GridLineLocation,
int);
616 vtkSetMacro(StickyAxes,
bool);
617 vtkGetMacro(StickyAxes,
bool);
618 vtkBooleanMacro(StickyAxes,
bool);
630 vtkSetMacro(CenterStickyAxes,
bool);
631 vtkGetMacro(CenterStickyAxes,
bool);
632 vtkBooleanMacro(CenterStickyAxes,
bool);
637 VTK_GRID_LINES_ALL = 0,
638 VTK_GRID_LINES_CLOSEST = 1,
639 VTK_GRID_LINES_FURTHEST = 2
652 vtkViewport* viewport,
const double bounds[6],
double sphereCenter[3],
double& sphereRadius);
664 unsigned int pointIndex,
unsigned int& xBit,
unsigned int& yBit,
unsigned int& zBit);
669 static void GetBoundsPoint(
unsigned int pointIndex,
const double bounds[6],
double point[3]);
676 double MaxOf(
double,
double,
double,
double);
696 void FindBoundaryEdge(
int& indexOfAxisX,
int& indexOfAxisY,
int& indexOfAxisZ,
double pts[8][3]);
708 int GridLineLocation = VTK_GRID_LINES_ALL;
713 bool StickyAxes =
false;
718 bool CenterStickyAxes =
true;
724 bool EnableDistanceLOD =
true;
730 double DistanceLODThreshold = 0.8;
736 bool EnableViewAngleLOD =
true;
742 double ViewAngleLODThreshold = 0.2;
746 NUMBER_OF_ALIGNED_AXIS = 4
759 bool RebuildAxes =
true;
761 char* XTitle =
nullptr;
762 char* XUnits =
nullptr;
763 char* YTitle =
nullptr;
764 char* YUnits =
nullptr;
765 char* ZTitle =
nullptr;
766 char* ZUnits =
nullptr;
768 char* ActualXLabel =
nullptr;
769 char* ActualYLabel =
nullptr;
770 char* ActualZLabel =
nullptr;
774 bool XAxisVisibility =
true;
775 bool YAxisVisibility =
true;
776 bool ZAxisVisibility =
true;
778 bool XAxisTickVisibility =
true;
779 bool YAxisTickVisibility =
true;
780 bool ZAxisTickVisibility =
true;
782 bool XAxisMinorTickVisibility =
true;
783 bool YAxisMinorTickVisibility =
true;
784 bool ZAxisMinorTickVisibility =
true;
786 bool XAxisLabelVisibility =
true;
787 bool YAxisLabelVisibility =
true;
788 bool ZAxisLabelVisibility =
true;
790 bool DrawXGridlines =
false;
791 bool DrawYGridlines =
false;
792 bool DrawZGridlines =
false;
794 bool DrawXInnerGridlines =
false;
795 bool DrawYInnerGridlines =
false;
796 bool DrawZInnerGridlines =
false;
798 bool DrawXGridpolys =
false;
799 bool DrawYGridpolys =
false;
800 bool DrawZGridpolys =
false;
802 char* XLabelFormat =
nullptr;
803 char* YLabelFormat =
nullptr;
804 char* ZLabelFormat =
nullptr;
806 double CornerOffset = 0.0;
812 int InertiaLocs[3] = { -1, -1, -1 };
814 bool RenderSomething =
false;
833 double RenderedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
834 double OrientedBounds[6] = { -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 };
835 bool UseOrientedBounds =
false;
837 double AxisOrigin[3] = { 0.0, 0.0, 0.0 };
838 bool UseAxisOrigin =
false;
840 double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
841 double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
842 double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
848 vtkSetStringMacro(ActualXLabel);
849 vtkSetStringMacro(ActualYLabel);
850 vtkSetStringMacro(ActualZLabel);
853 bool LastUseOrientedBounds =
false;
862 bool AutoLabelScaling =
true;
864 int LastXAxisDigits = 3;
865 int LastYAxisDigits = 3;
866 int LastZAxisDigits = 3;
874 int LastFlyMode = -1;
876 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
877 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
878 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS] = { 0, 1, 2, 3 };
880 int NumberOfAxesX = 1;
881 int NumberOfAxesY = 1;
882 int NumberOfAxesZ = 1;
884 bool MustAdjustXValue =
false;
885 bool MustAdjustYValue =
false;
886 bool MustAdjustZValue =
false;
888 bool ForceXLabelReset =
false;
889 bool ForceYLabelReset =
false;
890 bool ForceZLabelReset =
false;
896 double LabelScale = -1.0;
897 double TitleScale = -1.0;
899 double ScreenSize = 10.0;
900 double LabelOffset = 20.0;
901 double TitleOffset[2] = { 20.0, 20.0 };
908 double MajorStart[3] = { 0.0, 0.0, 0.0 };
909 double DeltaMajor[3] = { 0.0, 0.0, 0.0 };
912 int RenderGeometry(
bool& initialRender,
vtkViewport* viewport,
bool checkAxisVisibility,
915 void TransformBounds(
vtkViewport* viewport,
const double bounds[6],
double pts[8][3]);
916 void AdjustAxes(
double bounds[6],
double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
917 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
918 double xRange[2],
double yRange[2],
double zRange[2]);
920 bool ComputeTickSize(
double bounds[6]);
921 void AdjustValues(
const double xRange[2],
const double yRange[2],
const double zRange[2]);
922 void AdjustRange(
const double bounds[6]);
925 void SetNonDependentAttributes();
926 void BuildLabels(
vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
927 void AdjustTicksComputeRange(
928 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS],
double rangeMin,
double rangeMax);
932 double AutoScale(
vtkViewport* viewport,
double screenSize,
double position[3]);