53 #ifndef vtkAxisActor_h
54 #define vtkAxisActor_h
57 #include "vtkRenderingAnnotationModule.h"
91 virtual void SetPoint1(
double x,
double y,
double z);
110 vtkSetVector2Macro(Range,
double);
111 vtkGetVectorMacro(Range,
double, 2);
119 void SetBounds(
double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
128 vtkSetStringMacro(LabelFormat);
129 vtkGetStringMacro(LabelFormat);
140 vtkSetMacro(UseTextActor3D,
int);
141 vtkGetMacro(UseTextActor3D,
int);
158 vtkGetStringMacro(Title);
166 vtkGetStringMacro(Exponent);
173 vtkSetMacro(MajorTickSize,
double);
174 vtkGetMacro(MajorTickSize,
double);
181 vtkSetMacro(MinorTickSize,
double);
182 vtkGetMacro(MinorTickSize,
double);
187 VTK_TICKS_INSIDE = 0,
188 VTK_TICKS_OUTSIDE = 1,
246 vtkSetMacro(ExponentVisibility,
bool);
247 vtkGetMacro(ExponentVisibility,
bool);
248 vtkBooleanMacro(ExponentVisibility,
bool);
255 vtkSetMacro(LastMajorTickPointCorrection,
bool);
256 vtkGetMacro(LastMajorTickPointCorrection,
bool);
257 vtkBooleanMacro(LastMajorTickPointCorrection,
bool);
263 VTK_ALIGN_BOTTOM = 1,
264 VTK_ALIGN_POINT1 = 2,
274 vtkGetMacro(TitleAlignLocation,
int);
283 vtkGetMacro(ExponentLocation,
int);
378 vtkSetMacro(DrawGridlinesLocation,
int);
379 vtkGetMacro(DrawGridlinesLocation,
int);
394 vtkSetMacro(GridlineXLength,
double);
395 vtkGetMacro(GridlineXLength,
double);
396 vtkSetMacro(GridlineYLength,
double);
397 vtkGetMacro(GridlineYLength,
double);
398 vtkSetMacro(GridlineZLength,
double);
399 vtkGetMacro(GridlineZLength,
double);
422 vtkSetClampMacro(
AxisType,
int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
431 VTK_AXIS_POS_MINMIN = 0,
432 VTK_AXIS_POS_MINMAX = 1,
433 VTK_AXIS_POS_MAXMAX = 2,
434 VTK_AXIS_POS_MAXMIN = 3
441 vtkSetMacro(Log,
bool);
442 vtkGetMacro(Log,
bool);
443 vtkBooleanMacro(Log,
bool);
454 vtkSetClampMacro(
AxisPosition,
int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
502 vtkSetMacro(MinorStart,
double);
503 vtkGetMacro(MinorStart,
double);
508 vtkSetMacro(DeltaMinor,
double);
509 vtkGetMacro(DeltaMinor,
double);
523 vtkSetMacro(MinorRangeStart,
double);
524 vtkGetMacro(MinorRangeStart,
double);
525 vtkSetMacro(MajorRangeStart,
double);
526 vtkGetMacro(MajorRangeStart,
double);
527 vtkSetMacro(DeltaRangeMinor,
double);
528 vtkGetMacro(DeltaRangeMinor,
double);
529 vtkSetMacro(DeltaRangeMajor,
double);
530 vtkGetMacro(DeltaRangeMajor,
double);
583 vtkGetMacro(NumberOfLabelsBuilt,
int);
610 vtkSetMacro(Use2DMode,
int);
611 vtkGetMacro(Use2DMode,
int);
618 vtkSetMacro(VerticalOffsetXTitle2D,
double);
619 vtkGetMacro(VerticalOffsetXTitle2D,
double);
626 vtkSetMacro(HorizontalOffsetYTitle2D,
double);
627 vtkGetMacro(HorizontalOffsetYTitle2D,
double);
634 vtkSetMacro(SaveTitlePosition,
int);
635 vtkGetMacro(SaveTitlePosition,
int);
642 vtkSetVector3Macro(AxisBaseForX,
double);
643 vtkGetVector3Macro(AxisBaseForX,
double);
650 vtkSetVector3Macro(AxisBaseForY,
double);
651 vtkGetVector3Macro(AxisBaseForY,
double);
658 vtkSetVector3Macro(AxisBaseForZ,
double);
659 vtkGetVector3Macro(AxisBaseForZ,
double);
666 vtkSetMacro(AxisOnOrigin,
int);
667 vtkGetMacro(AxisOnOrigin,
int);
674 vtkSetMacro(LabelOffset,
double);
675 vtkGetMacro(LabelOffset,
double);
676 vtkSetMacro(TitleOffset,
double);
677 vtkGetMacro(TitleOffset,
double);
678 vtkSetMacro(ExponentOffset,
double);
679 vtkGetMacro(ExponentOffset,
double);
680 vtkSetMacro(ScreenSize,
double);
681 vtkGetMacro(ScreenSize,
double);
745 double AxisBaseForX[3];
746 double AxisBaseForY[3];
747 double AxisBaseForZ[3];
753 void TransformBounds(
vtkViewport*,
double bnds[6]);
764 void RotateActor2DFromAxisProjection(
vtkTextActor* pActor2D);
782 void BuildTitle(
bool);
788 void BuildExponent(
bool force);
790 void BuildExponent2D(
vtkViewport* viewport,
bool force);
794 void SetAxisPointsAndLines(
void);
796 bool BuildTickPoints(
double p1[3],
double p2[3],
bool force);
799 void BuildMajorTicks(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
802 void BuildMajorTicksLog(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
805 void BuildMinorTicks(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
808 void BuildMinorTicksLog(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
810 void BuildAxisGridLines(
double p1[3],
double p2[3],
double localCoordSys[3][3]);
812 bool TickVisibilityChanged(
void);
817 bool BoundsDisplayCoordinateChanged(
vtkViewport* viewport);
822 double MajorTickSize;
823 double MinorTickSize;
826 double MajorStart[3];
827 double DeltaMajor[3];
832 double MajorRangeStart;
833 double MinorRangeStart;
838 double DeltaRangeMinor;
843 double DeltaRangeMajor;
845 int LastAxisPosition;
847 int LastTickLocation;
848 double LastLabelStart;
892 vtkActor *AxisMajorTicksActor, *AxisMinorTicksActor;
914 int AxisHasZeroLength;
928 double VerticalOffsetXTitle2D;
934 double HorizontalOffsetYTitle2D;
942 int SaveTitlePosition;
947 double TitleConstantPosition[2];
954 double LastMinDisplayCoordinate[3];
955 double LastMaxDisplayCoordinate[3];
956 double TickVector[3];
965 double ExponentOffset;