50 #ifndef vtkAxisActor_h 
   51 #define vtkAxisActor_h 
   54 #include "vtkRenderingAnnotationModule.h"  
   88   virtual void SetPoint1(
double x, 
double y, 
double z);
 
   89   virtual double* GetPoint1();
 
   98   virtual void SetPoint2(
double x, 
double y, 
double z);
 
   99   virtual double* GetPoint2();
 
  107   vtkSetVector2Macro(
Range, 
double);
 
  108   vtkGetVectorMacro(
Range, 
double, 2);
 
  115   void SetBounds(
const double bounds[6]);
 
  116   void SetBounds(
double xmin, 
double xmax, 
double ymin, 
double ymax, 
double zmin, 
double zmax);
 
  125   vtkSetStringMacro(LabelFormat);
 
  126   vtkGetStringMacro(LabelFormat);
 
  137   vtkSetMacro(UseTextActor3D, 
int);
 
  138   vtkGetMacro(UseTextActor3D, 
int);
 
  154   void SetTitle(
const char* t);
 
  155   vtkGetStringMacro(Title);
 
  162   void SetExponent(
const char* t);
 
  163   vtkGetStringMacro(Exponent);
 
  170   vtkSetMacro(MajorTickSize, 
double);
 
  171   vtkGetMacro(MajorTickSize, 
double);
 
  178   vtkSetMacro(MinorTickSize, 
double);
 
  179   vtkGetMacro(MinorTickSize, 
double);
 
  184     VTK_TICKS_INSIDE = 0,
 
  185     VTK_TICKS_OUTSIDE = 1,
 
  195   vtkSetClampMacro(TickLocation, 
int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
 
  196   vtkGetMacro(TickLocation, 
int);
 
  243   vtkSetMacro(ExponentVisibility, 
bool);
 
  244   vtkGetMacro(ExponentVisibility, 
bool);
 
  245   vtkBooleanMacro(ExponentVisibility, 
bool);
 
  252   vtkSetMacro(LastMajorTickPointCorrection, 
bool);
 
  253   vtkGetMacro(LastMajorTickPointCorrection, 
bool);
 
  254   vtkBooleanMacro(LastMajorTickPointCorrection, 
bool);
 
  260     VTK_ALIGN_BOTTOM = 1,
 
  261     VTK_ALIGN_POINT1 = 2,
 
  270   virtual void SetTitleAlignLocation(
int location);
 
  271   vtkGetMacro(TitleAlignLocation, 
int);
 
  279   virtual void SetExponentLocation(
int location);
 
  280   vtkGetMacro(ExponentLocation, 
int);
 
  375   vtkSetMacro(DrawGridlinesLocation, 
int);
 
  376   vtkGetMacro(DrawGridlinesLocation, 
int);
 
  391   vtkSetMacro(GridlineXLength, 
double);
 
  392   vtkGetMacro(GridlineXLength, 
double);
 
  393   vtkSetMacro(GridlineYLength, 
double);
 
  394   vtkGetMacro(GridlineYLength, 
double);
 
  395   vtkSetMacro(GridlineZLength, 
double);
 
  396   vtkGetMacro(GridlineZLength, 
double);
 
  419   vtkSetClampMacro(AxisType, 
int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
 
  420   vtkGetMacro(AxisType, 
int);
 
  428     VTK_AXIS_POS_MINMIN = 0,
 
  429     VTK_AXIS_POS_MINMAX = 1,
 
  430     VTK_AXIS_POS_MAXMAX = 2,
 
  431     VTK_AXIS_POS_MAXMIN = 3
 
  438   vtkSetMacro(Log, 
bool);
 
  439   vtkGetMacro(Log, 
bool);
 
  440   vtkBooleanMacro(Log, 
bool);
 
  451   vtkSetClampMacro(AxisPosition, 
int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
 
  452   vtkGetMacro(AxisPosition, 
int);
 
  474   virtual int RenderTranslucentGeometry(
vtkViewport* viewport);
 
  487   double ComputeMaxLabelLength(
const double[3]);
 
  488   double ComputeTitleLength(
const double[3]);
 
  490   void SetLabelScale(
const double scale);
 
  491   void SetLabelScale(
int labelIndex, 
const double scale);
 
  492   void SetTitleScale(
const double scale);
 
  499   vtkSetMacro(MinorStart, 
double);
 
  500   vtkGetMacro(MinorStart, 
double);
 
  501   double GetMajorStart(
int axis);
 
  502   void SetMajorStart(
int axis, 
double value);
 
  505   vtkSetMacro(DeltaMinor, 
double);
 
  506   vtkGetMacro(DeltaMinor, 
double);
 
  507   double GetDeltaMajor(
int axis);
 
  508   void SetDeltaMajor(
int axis, 
double value);
 
  520   vtkSetMacro(MinorRangeStart, 
double);
 
  521   vtkGetMacro(MinorRangeStart, 
double);
 
  522   vtkSetMacro(MajorRangeStart, 
double);
 
  523   vtkGetMacro(MajorRangeStart, 
double);
 
  524   vtkSetMacro(DeltaRangeMinor, 
double);
 
  525   vtkGetMacro(DeltaRangeMinor, 
double);
 
  526   vtkSetMacro(DeltaRangeMajor, 
double);
 
  527   vtkGetMacro(DeltaRangeMajor, 
double);
 
  580   vtkGetMacro(NumberOfLabelsBuilt, 
int);
 
  590   vtkBooleanMacro(CalculateTitleOffset, 
vtkTypeBool);
 
  600   vtkBooleanMacro(CalculateLabelOffset, 
vtkTypeBool);
 
  607   vtkSetMacro(Use2DMode, 
int);
 
  608   vtkGetMacro(Use2DMode, 
int);
 
  615   vtkSetMacro(VerticalOffsetXTitle2D, 
double);
 
  616   vtkGetMacro(VerticalOffsetXTitle2D, 
double);
 
  623   vtkSetMacro(HorizontalOffsetYTitle2D, 
double);
 
  624   vtkGetMacro(HorizontalOffsetYTitle2D, 
double);
 
  631   vtkSetMacro(SaveTitlePosition, 
int);
 
  632   vtkGetMacro(SaveTitlePosition, 
int);
 
  639   vtkSetVector3Macro(AxisBaseForX, 
double);
 
  640   vtkGetVector3Macro(AxisBaseForX, 
double);
 
  647   vtkSetVector3Macro(AxisBaseForY, 
double);
 
  648   vtkGetVector3Macro(AxisBaseForY, 
double);
 
  655   vtkSetVector3Macro(AxisBaseForZ, 
double);
 
  656   vtkGetVector3Macro(AxisBaseForZ, 
double);
 
  663   vtkSetMacro(AxisOnOrigin, 
int);
 
  664   vtkGetMacro(AxisOnOrigin, 
int);
 
  671   vtkSetMacro(LabelOffset, 
double);
 
  672   vtkGetMacro(LabelOffset, 
double);
 
  673   vtkSetMacro(TitleOffset, 
double);
 
  674   vtkGetMacro(TitleOffset, 
double);
 
  675   vtkSetMacro(ExponentOffset, 
double);
 
  676   vtkGetMacro(ExponentOffset, 
double);
 
  677   vtkSetMacro(ScreenSize, 
double);
 
  678   vtkGetMacro(ScreenSize, 
double);
 
  742   double AxisBaseForX[3];
 
  743   double AxisBaseForY[3];
 
  744   double AxisBaseForZ[3];
 
  750   void TransformBounds(
vtkViewport*, 
double bnds[6]);
 
  761   void RotateActor2DFromAxisProjection(
vtkTextActor* pActor2D);
 
  779   void BuildTitle(
bool);
 
  785   void BuildExponent(
bool force);
 
  787   void BuildExponent2D(
vtkViewport* viewport, 
bool force);
 
  791   void SetAxisPointsAndLines(
void);
 
  793   bool BuildTickPoints(
double p1[3], 
double p2[3], 
bool force);
 
  796   void BuildMajorTicks(
double p1[3], 
double p2[3], 
double localCoordSys[3][3]);
 
  799   void BuildMajorTicksLog(
double p1[3], 
double p2[3], 
double localCoordSys[3][3]);
 
  802   void BuildMinorTicks(
double p1[3], 
double p2[3], 
double localCoordSys[3][3]);
 
  805   void BuildMinorTicksLog(
double p1[3], 
double p2[3], 
double localCoordSys[3][3]);
 
  807   void BuildAxisGridLines(
double p1[3], 
double p2[3], 
double localCoordSys[3][3]);
 
  809   bool TickVisibilityChanged(
void);
 
  814   bool BoundsDisplayCoordinateChanged(
vtkViewport* viewport);
 
  819   double MajorTickSize;
 
  820   double MinorTickSize;
 
  823   double MajorStart[3];
 
  824   double DeltaMajor[3];
 
  829   double MajorRangeStart;
 
  830   double MinorRangeStart;
 
  835   double DeltaRangeMinor;
 
  840   double DeltaRangeMajor;
 
  842   int LastAxisPosition;
 
  844   int LastTickLocation;
 
  845   double LastLabelStart;
 
  889   vtkActor *AxisMajorTicksActor, *AxisMinorTicksActor;
 
  911   int AxisHasZeroLength;
 
  925   double VerticalOffsetXTitle2D;
 
  931   double HorizontalOffsetYTitle2D;
 
  939   int SaveTitlePosition;
 
  944   double TitleConstantPosition[2];
 
  951   double LastMinDisplayCoordinate[3];
 
  952   double LastMaxDisplayCoordinate[3];
 
  953   double TickVector[3];
 
  962   double ExponentOffset;