87 virtual void SetPoint1(
double x,
double y,
double z);
97 virtual void SetPoint2(
double x,
double y,
double z);
107 vtkSetVector2Macro(Range,
double);
108 vtkGetVectorMacro(Range,
double, 2);
117 void SetBounds(
double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
119 void GetBounds(
double bounds[6]);
126 vtkSetStringMacro(LabelFormat);
127 vtkGetStringMacro(LabelFormat);
138 vtkSetMacro(UseTextActor3D,
bool);
139 vtkGetMacro(UseTextActor3D,
bool);
147 vtkSetMacro(MinorTicksVisible,
bool);
148 vtkGetMacro(MinorTicksVisible,
bool);
149 vtkBooleanMacro(MinorTicksVisible,
bool);
156 void SetTitle(const
char* t);
157 vtkGetStringMacro(Title);
164 void SetExponent(const
char* t);
165 vtkGetStringMacro(Exponent);
173 vtkSetMacro(MajorTickSize,
double);
174 vtkGetMacro(MajorTickSize,
double);
182 vtkSetMacro(MinorTickSize,
double);
183 vtkGetMacro(MinorTickSize,
double);
188 VTK_TICKS_INSIDE = 0,
189 VTK_TICKS_OUTSIDE = 1,
213 vtkSetMacro(AxisVisibility,
bool);
214 vtkGetMacro(AxisVisibility,
bool);
215 vtkBooleanMacro(AxisVisibility,
bool);
223 vtkSetMacro(TickVisibility,
bool);
224 vtkGetMacro(TickVisibility,
bool);
225 vtkBooleanMacro(TickVisibility,
bool);
233 vtkSetMacro(LabelVisibility,
bool);
234 vtkGetMacro(LabelVisibility,
bool);
235 vtkBooleanMacro(LabelVisibility,
bool);
243 vtkSetMacro(TitleVisibility,
bool);
244 vtkGetMacro(TitleVisibility,
bool);
245 vtkBooleanMacro(TitleVisibility,
bool);
253 vtkSetMacro(ExponentVisibility,
bool);
254 vtkGetMacro(ExponentVisibility,
bool);
255 vtkBooleanMacro(ExponentVisibility,
bool);
263 vtkSetMacro(LastMajorTickPointCorrection,
bool);
264 vtkGetMacro(LastMajorTickPointCorrection,
bool);
265 vtkBooleanMacro(LastMajorTickPointCorrection,
bool);
271 VTK_ALIGN_BOTTOM = 1,
272 VTK_ALIGN_POINT1 = 2,
283 vtkGetMacro(TitleAlignLocation,
int);
293 vtkGetMacro(ExponentLocation,
int);
373 vtkSetMacro(DrawGridlines,
bool);
374 vtkGetMacro(DrawGridlines,
bool);
375 vtkBooleanMacro(DrawGridlines,
bool);
385 vtkSetMacro(DrawGridlinesOnly,
bool);
386 vtkGetMacro(DrawGridlinesOnly,
bool);
387 vtkBooleanMacro(DrawGridlinesOnly,
bool);
390 vtkSetMacro(DrawGridlinesLocation,
int);
391 vtkGetMacro(DrawGridlinesLocation,
int);
398 vtkSetMacro(DrawInnerGridlines,
bool);
399 vtkGetMacro(DrawInnerGridlines,
bool);
400 vtkBooleanMacro(DrawInnerGridlines,
bool);
408 vtkSetMacro(GridlineXLength,
double);
409 vtkGetMacro(GridlineXLength,
double);
410 vtkSetMacro(GridlineYLength,
double);
411 vtkGetMacro(GridlineYLength,
double);
412 vtkSetMacro(GridlineZLength,
double);
413 vtkGetMacro(GridlineZLength,
double);
421 vtkSetMacro(DrawGridpolys,
bool);
422 vtkGetMacro(DrawGridpolys,
bool);
423 vtkBooleanMacro(DrawGridpolys,
bool);
438 vtkSetClampMacro(
AxisType,
int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
447 VTK_AXIS_POS_MINMIN = 0,
448 VTK_AXIS_POS_MINMAX = 1,
449 VTK_AXIS_POS_MAXMAX = 2,
450 VTK_AXIS_POS_MAXMIN = 3
458 vtkSetMacro(Log,
bool);
459 vtkGetMacro(Log,
bool);
460 vtkBooleanMacro(Log,
bool);
472 vtkSetClampMacro(
AxisPosition,
int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
520 vtkSetMacro(MinorStart,
double);
521 vtkGetMacro(MinorStart,
double);
524 vtkSetMacro(DeltaMinor,
double);
525 vtkGetMacro(DeltaMinor,
double);
537 vtkSetMacro(MinorRangeStart,
double);
538 vtkGetMacro(MinorRangeStart,
double);
539 vtkSetMacro(MajorRangeStart,
double);
540 vtkGetMacro(MajorRangeStart,
double);
548 vtkSetMacro(DeltaRangeMinor,
double);
549 vtkGetMacro(DeltaRangeMinor,
double);
550 vtkSetMacro(DeltaRangeMajor,
double);
551 vtkGetMacro(DeltaRangeMajor,
double);
604 vtkGetMacro(NumberOfLabelsBuilt,
int);
612 vtkSetMacro(CalculateTitleOffset,
bool);
613 vtkGetMacro(CalculateTitleOffset,
bool);
614 vtkBooleanMacro(CalculateTitleOffset,
bool);
622 vtkSetMacro(CalculateLabelOffset,
bool);
623 vtkGetMacro(CalculateLabelOffset,
bool);
624 vtkBooleanMacro(CalculateLabelOffset,
bool);
632 vtkSetMacro(Use2DMode,
bool);
633 vtkGetMacro(Use2DMode,
bool);
641 vtkSetMacro(VerticalOffsetXTitle2D,
double);
642 vtkGetMacro(VerticalOffsetXTitle2D,
double);
650 vtkSetMacro(HorizontalOffsetYTitle2D,
double);
651 vtkGetMacro(HorizontalOffsetYTitle2D,
double);
659 vtkSetMacro(SaveTitlePosition,
int);
660 vtkGetMacro(SaveTitlePosition,
int);
668 vtkSetVector3Macro(AxisBaseForX,
double);
669 vtkGetVector3Macro(AxisBaseForX,
double);
677 vtkSetVector3Macro(AxisBaseForY,
double);
678 vtkGetVector3Macro(AxisBaseForY,
double);
686 vtkSetVector3Macro(AxisBaseForZ,
double);
687 vtkGetVector3Macro(AxisBaseForZ,
double);
695 vtkSetMacro(AxisOnOrigin,
bool);
696 vtkGetMacro(AxisOnOrigin,
bool);
704 vtkSetMacro(ScreenSize,
double);
705 vtkGetMacro(ScreenSize,
double);
713 vtkSetMacro(LabelOffset,
double);
714 vtkGetMacro(LabelOffset,
double);
722 vtkSetMacro(ExponentOffset,
double);
723 vtkGetMacro(ExponentOffset,
double);
735 void SetTitleOffset(
double titleOffsetY);
737 double GetTitleOffset();
738 vtkSetVector2Macro(TitleOffset,
double);
740 void GetTitleOffset(
double& titleOffsetX,
double& titleOffsetY);
747 char* Title =
nullptr;
748 char* Exponent =
nullptr;
749 char* LabelFormat =
nullptr;
750 double Range[2] = { 0.0, 1.0 };
751 double LastRange[2] = { -1.0, -1.0 };
752 bool UseTextActor3D =
false;
753 int NumberOfLabelsBuilt = 0;
754 bool MinorTicksVisible =
true;
755 bool LastMinorTicksVisible =
true;
768 int TitleAlignLocation = VTK_ALIGN_BOTTOM;
774 int ExponentLocation = VTK_ALIGN_POINT2;
776 bool DrawGridlines =
false;
777 bool DrawGridlinesOnly =
false;
778 bool LastDrawGridlines =
false;
779 int DrawGridlinesLocation = 0;
780 int LastDrawGridlinesLocation = 0;
781 double GridlineXLength = 1.0;
782 double GridlineYLength = 1.0;
783 double GridlineZLength = 1.0;
785 bool DrawInnerGridlines =
false;
786 bool LastDrawInnerGridlines =
false;
788 bool DrawGridpolys =
false;
789 bool LastDrawGridpolys =
false;
791 bool AxisVisibility =
true;
792 bool TickVisibility =
true;
793 bool LastTickVisibility =
true;
794 bool LabelVisibility =
true;
795 bool TitleVisibility =
true;
796 bool ExponentVisibility =
false;
797 bool LastMajorTickPointCorrection =
false;
804 double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
805 double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
806 double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
812 void TransformBounds(
vtkViewport*,
double bnds[6]);
823 void RotateActor2DFromAxisProjection(
vtkTextActor* pActor2D);
841 void BuildTitle(
bool);
847 void BuildExponent(
bool force);
849 void BuildExponent2D(
vtkViewport* viewport,
bool force);
853 void SetAxisPointsAndLines();
855 bool BuildTickPoints(
double p1[3],
double p2[3],
bool force);
858 void BuildMajorTicks(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
861 void BuildMajorTicksLog(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
864 void BuildMinorTicks(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
867 void BuildMinorTicksLog(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
869 void BuildAxisGridLines(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
871 bool TickVisibilityChanged();
876 bool BoundsDisplayCoordinateChanged(
vtkViewport* viewport);
881 double MajorTickSize = 1.0;
882 double MinorTickSize = 0.5;
885 double MajorStart[3] = { 0.0, 0.0, 0.0 };
886 double DeltaMajor[3] = { 1.0, 1.0, 1.0 };
887 double MinorStart = 0.0;
888 double DeltaMinor = 1.0;
891 double MajorRangeStart = 0.0;
892 double MinorRangeStart = 0.0;
897 double DeltaRangeMinor = 1.0;
902 double DeltaRangeMajor = 1.0;
904 int LastAxisPosition = -1;
905 int LastTickLocation = -1;
969 bool AxisOnOrigin =
false;
971 bool AxisHasZeroLength =
false;
973 bool CalculateTitleOffset =
false;
974 bool CalculateLabelOffset =
false;
979 bool Use2DMode =
false;
985 double VerticalOffsetXTitle2D = -40;
991 double HorizontalOffsetYTitle2D = -50;
999 int SaveTitlePosition = 0;
1004 double TitleConstantPosition[2] = { 0.0, 0.0 };
1009 bool NeedBuild2D =
false;
1011 double LastMinDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1012 double LastMaxDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1013 double TickVector[3] = { 0.0, 0.0, 0.0 };
1018 double ScreenSize = 10.0;
1024 double LabelOffset = 30.0;
1025 double TitleOffset[2] = { 20.0, 20.0 };
1026 double ExponentOffset = 20.0;