51 #ifndef __vtkAxisActor_h
52 #define __vtkAxisActor_h
56 #define VTK_MAX_LABELS 200
57 #define VTK_MAX_TICKS 1000
59 #define VTK_AXIS_TYPE_X 0
60 #define VTK_AXIS_TYPE_Y 1
61 #define VTK_AXIS_TYPE_Z 2
63 #define VTK_TICKS_INSIDE 0
64 #define VTK_TICKS_OUTSIDE 1
65 #define VTK_TICKS_BOTH 2
67 #define VTK_AXIS_POS_MINMIN 0
68 #define VTK_AXIS_POS_MINMAX 1
69 #define VTK_AXIS_POS_MAXMAX 2
70 #define VTK_AXIS_POS_MAXMIN 3
102 virtual void SetPoint1(
double x[3])
104 virtual void SetPoint1(
double x,
double y,
double z);
105 virtual double *GetPoint1();
111 virtual void SetPoint2(
double x[3])
113 virtual void SetPoint2(
double x,
double y,
double z);
114 virtual double *GetPoint2();
120 vtkSetVector2Macro(Range,
double);
121 vtkGetVectorMacro(Range,
double,2);
127 void SetBounds(
double bounds[6]);
128 void SetBounds(
double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
135 vtkSetStringMacro(LabelFormat);
136 vtkGetStringMacro(LabelFormat);
141 vtkSetMacro(MinorTicksVisible,
int);
142 vtkGetMacro(MinorTicksVisible,
int);
143 vtkBooleanMacro(MinorTicksVisible,
int);
149 void SetTitle(
const char *t);
150 vtkGetStringMacro(Title);
155 vtkSetMacro(MajorTickSize,
double);
156 vtkGetMacro(MajorTickSize,
double);
161 vtkSetMacro(MinorTickSize,
double);
162 vtkGetMacro(MinorTickSize,
double);
168 vtkGetMacro(TickLocation,
int);
171 void SetTickLocationToInside(
void)
173 void SetTickLocationToOutside(
void)
175 void SetTickLocationToBoth(
void)
180 vtkSetMacro(AxisVisibility,
int);
181 vtkGetMacro(AxisVisibility,
int);
182 vtkBooleanMacro(AxisVisibility,
int);
187 vtkSetMacro(TickVisibility,
int);
188 vtkGetMacro(TickVisibility,
int);
189 vtkBooleanMacro(TickVisibility,
int);
194 vtkSetMacro(LabelVisibility,
int);
195 vtkGetMacro(LabelVisibility,
int);
196 vtkBooleanMacro(LabelVisibility,
int);
201 vtkSetMacro(TitleVisibility,
int);
202 vtkGetMacro(TitleVisibility,
int);
203 vtkBooleanMacro(TitleVisibility,
int);
208 vtkSetMacro(DrawGridlines,
int);
209 vtkGetMacro(DrawGridlines,
int);
210 vtkBooleanMacro(DrawGridlines,
int);
215 vtkSetMacro(GridlineXLength,
double);
216 vtkGetMacro(GridlineXLength,
double);
217 vtkSetMacro(GridlineYLength,
double);
218 vtkGetMacro(GridlineYLength,
double);
219 vtkSetMacro(GridlineZLength,
double);
220 vtkGetMacro(GridlineZLength,
double);
226 vtkGetMacro(AxisType,
int);
239 vtkGetMacro(AxisPosition,
int);
242 void SetAxisPositionToMinMin(
void)
244 void SetAxisPositionToMinMax(
void)
246 void SetAxisPositionToMaxMax(
void)
248 void SetAxisPositionToMaxMin(
void)
273 double ComputeMaxLabelLength(
const double [3]);
274 double ComputeTitleLength(
const double [3]);
276 void SetLabelScale(
const double);
277 void SetTitleScale(
const double);
283 vtkSetMacro(MinorStart,
double);
284 vtkGetMacro(MinorStart,
double);
285 vtkSetMacro(MajorStart,
double);
286 vtkGetMacro(MajorStart,
double);
287 vtkSetMacro(DeltaMinor,
double);
288 vtkGetMacro(DeltaMinor,
double);
289 vtkSetMacro(DeltaMajor,
double);
290 vtkGetMacro(DeltaMajor,
double);
298 vtkSetMacro(MinorRangeStart,
double);
299 vtkGetMacro(MinorRangeStart,
double);
300 vtkSetMacro(MajorRangeStart,
double);
301 vtkGetMacro(MajorRangeStart,
double);
302 vtkSetMacro(DeltaRangeMinor,
double);
303 vtkGetMacro(DeltaRangeMinor,
double);
304 vtkSetMacro(DeltaRangeMajor,
double);
305 vtkGetMacro(DeltaRangeMajor,
double);
347 void TransformBounds(
vtkViewport *,
double bnds[6]);
352 void BuildTitle(
bool);
354 void SetAxisPointsAndLines(
void);
355 bool BuildTickPointsForXType(
double p1[3],
double p2[3],
bool);
356 bool BuildTickPointsForYType(
double p1[3],
double p2[3],
bool);
357 bool BuildTickPointsForZType(
double p1[3],
double p2[3],
bool);
359 bool TickVisibilityChanged(
void);
364 double MajorTickSize;
365 double MinorTickSize;
375 double MajorRangeStart;
376 double MinorRangeStart;
377 double DeltaRangeMinor;
378 double DeltaRangeMajor;
380 int LastAxisPosition;
382 int LastTickLocation;
383 double LastLabelStart;
407 int AxisHasZeroLength;