61 #ifndef vtkCubeAxesActor_h
62 #define vtkCubeAxesActor_h
64 #define VTK_FLY_OUTER_EDGES 0
65 #define VTK_FLY_CLOSEST_TRIAD 1
66 #define VTK_FLY_FURTHEST_TRIAD 2
67 #define VTK_FLY_STATIC_TRIAD 3
68 #define VTK_FLY_STATIC_EDGES 4
70 #define VTK_TICKS_INSIDE 0
71 #define VTK_TICKS_OUTSIDE 1
72 #define VTK_TICKS_BOTH 2
74 #define VTK_GRID_LINES_ALL 0
75 #define VTK_GRID_LINES_CLOSEST 1
76 #define VTK_GRID_LINES_FURTHEST 2
78 #define NUMBER_OF_ALIGNED_AXIS 4
101 virtual int RenderTranslucentGeometry(
vtkViewport*);
109 vtkSetMacro( RebuildAxes,
bool );
110 vtkGetMacro( RebuildAxes,
bool );
118 vtkSetVector6Macro(Bounds,
double);
119 vtkGetVector6Macro(Bounds,
double);
125 virtual void GetRenderedBounds(
double rBounds[6]);
126 virtual double* GetRenderedBounds();
137 vtkSetVector2Macro( XAxisRange,
double );
138 vtkSetVector2Macro( YAxisRange,
double );
139 vtkSetVector2Macro( ZAxisRange,
double );
140 vtkGetVector2Macro( XAxisRange,
double );
141 vtkGetVector2Macro( YAxisRange,
double );
150 vtkGetVector2Macro( ZAxisRange,
double );
156 void SetScreenSize(
double screenSize);
157 vtkGetMacro(ScreenSize,
double);
163 void SetLabelOffset(
double offset);
164 vtkGetMacro(LabelOffset,
double);
170 void SetTitleOffset(
double offset);
171 vtkGetMacro(TitleOffset,
double);
186 vtkGetMacro(FlyMode,
int);
202 vtkSetStringMacro(XTitle);
203 vtkGetStringMacro(XTitle);
204 vtkSetStringMacro(XUnits);
205 vtkGetStringMacro(XUnits);
206 vtkSetStringMacro(YTitle);
207 vtkGetStringMacro(YTitle);
208 vtkSetStringMacro(YUnits);
209 vtkGetStringMacro(YUnits);
210 vtkSetStringMacro(ZTitle);
211 vtkGetStringMacro(ZTitle);
212 vtkSetStringMacro(ZUnits);
213 vtkGetStringMacro(ZUnits);
219 vtkSetStringMacro(XLabelFormat);
220 vtkGetStringMacro(XLabelFormat);
221 vtkSetStringMacro(YLabelFormat);
222 vtkGetStringMacro(YLabelFormat);
223 vtkSetStringMacro(ZLabelFormat);
224 vtkGetStringMacro(ZLabelFormat);
232 vtkGetMacro(Inertia,
int);
239 vtkSetMacro(CornerOffset,
double);
240 vtkGetMacro(CornerOffset,
double);
251 vtkSetMacro( EnableDistanceLOD,
int );
252 vtkGetMacro( EnableDistanceLOD,
int );
257 vtkSetClampMacro( DistanceLODThreshold,
double, 0.0, 1.0 );
258 vtkGetMacro( DistanceLODThreshold,
double);
264 vtkSetMacro( EnableViewAngleLOD,
int );
265 vtkGetMacro( EnableViewAngleLOD,
int );
270 vtkSetClampMacro( ViewAngleLODThreshold,
double, 0., 1. );
271 vtkGetMacro( ViewAngleLODThreshold,
double );
276 vtkSetMacro(XAxisVisibility,
int);
277 vtkGetMacro(XAxisVisibility,
int);
278 vtkBooleanMacro(XAxisVisibility,
int);
279 vtkSetMacro(YAxisVisibility,
int);
280 vtkGetMacro(YAxisVisibility,
int);
281 vtkBooleanMacro(YAxisVisibility,
int);
282 vtkSetMacro(ZAxisVisibility,
int);
283 vtkGetMacro(ZAxisVisibility,
int);
284 vtkBooleanMacro(ZAxisVisibility,
int);
289 vtkSetMacro(XAxisLabelVisibility,
int);
290 vtkGetMacro(XAxisLabelVisibility,
int);
291 vtkBooleanMacro(XAxisLabelVisibility,
int);
294 vtkSetMacro(YAxisLabelVisibility,
int);
295 vtkGetMacro(YAxisLabelVisibility,
int);
296 vtkBooleanMacro(YAxisLabelVisibility,
int);
298 vtkSetMacro(ZAxisLabelVisibility,
int);
299 vtkGetMacro(ZAxisLabelVisibility,
int);
300 vtkBooleanMacro(ZAxisLabelVisibility,
int);
304 vtkSetMacro(XAxisTickVisibility,
int);
305 vtkGetMacro(XAxisTickVisibility,
int);
306 vtkBooleanMacro(XAxisTickVisibility,
int);
309 vtkSetMacro(YAxisTickVisibility,
int);
310 vtkGetMacro(YAxisTickVisibility,
int);
311 vtkBooleanMacro(YAxisTickVisibility,
int);
313 vtkSetMacro(ZAxisTickVisibility,
int);
314 vtkGetMacro(ZAxisTickVisibility,
int);
315 vtkBooleanMacro(ZAxisTickVisibility,
int);
319 vtkSetMacro(XAxisMinorTickVisibility,
int);
320 vtkGetMacro(XAxisMinorTickVisibility,
int);
321 vtkBooleanMacro(XAxisMinorTickVisibility,
int);
324 vtkSetMacro(YAxisMinorTickVisibility,
int);
325 vtkGetMacro(YAxisMinorTickVisibility,
int);
326 vtkBooleanMacro(YAxisMinorTickVisibility,
int);
328 vtkSetMacro(ZAxisMinorTickVisibility,
int);
329 vtkGetMacro(ZAxisMinorTickVisibility,
int);
330 vtkBooleanMacro(ZAxisMinorTickVisibility,
int);
332 vtkSetMacro(DrawXGridlines,
int);
333 vtkGetMacro(DrawXGridlines,
int);
334 vtkBooleanMacro(DrawXGridlines,
int);
336 vtkSetMacro(DrawYGridlines,
int);
337 vtkGetMacro(DrawYGridlines,
int);
338 vtkBooleanMacro(DrawYGridlines,
int);
340 vtkSetMacro(DrawZGridlines,
int);
341 vtkGetMacro(DrawZGridlines,
int);
342 vtkBooleanMacro(DrawZGridlines,
int);
344 vtkSetMacro(DrawXInnerGridlines,
int);
345 vtkGetMacro(DrawXInnerGridlines,
int);
346 vtkBooleanMacro(DrawXInnerGridlines,
int);
348 vtkSetMacro(DrawYInnerGridlines,
int);
349 vtkGetMacro(DrawYInnerGridlines,
int);
350 vtkBooleanMacro(DrawYInnerGridlines,
int);
352 vtkSetMacro(DrawZInnerGridlines,
int);
353 vtkGetMacro(DrawZInnerGridlines,
int);
354 vtkBooleanMacro(DrawZInnerGridlines,
int);
356 vtkSetMacro(DrawXGridpolys,
int);
357 vtkGetMacro(DrawXGridpolys,
int);
358 vtkBooleanMacro(DrawXGridpolys,
int);
360 vtkSetMacro(DrawYGridpolys,
int);
361 vtkGetMacro(DrawYGridpolys,
int);
362 vtkBooleanMacro(DrawYGridpolys,
int);
364 vtkSetMacro(DrawZGridpolys,
int);
365 vtkGetMacro(DrawZGridpolys,
int);
366 vtkBooleanMacro(DrawZGridpolys,
int);
396 void SetXAxesInnerGridlinesProperty(
vtkProperty *);
398 void SetYAxesInnerGridlinesProperty(
vtkProperty *);
400 void SetZAxesInnerGridlinesProperty(
vtkProperty *);
417 vtkGetMacro(TickLocation,
int);
427 void SetLabelScaling(
bool,
int,
int,
int);
432 void SetUseTextActor3D(
int val );
433 int GetUseTextActor3D();
439 void SetUse2DMode(
int val );
444 void SetSaveTitlePosition(
int val );
448 vtkSetVector6Macro(OrientedBounds,
double);
449 vtkGetVector6Macro(OrientedBounds,
double);
454 vtkSetMacro(UseOrientedBounds,
int);
455 vtkGetMacro(UseOrientedBounds,
int);
460 vtkSetVector3Macro(AxisBaseForX,
double);
461 vtkGetVector3Macro(AxisBaseForX,
double);
466 vtkSetVector3Macro(AxisBaseForY,
double);
467 vtkGetVector3Macro(AxisBaseForY,
double);
472 vtkSetVector3Macro(AxisBaseForZ,
double);
473 vtkGetVector3Macro(AxisBaseForZ,
double);
479 vtkSetVector3Macro(AxisOrigin,
double);
480 vtkGetVector3Macro(AxisOrigin,
double);
485 vtkSetMacro(UseAxisOrigin,
int);
486 vtkGetMacro(UseAxisOrigin,
int);
491 vtkSetMacro(GridLineLocation,
int);
492 vtkGetMacro(GridLineLocation,
int);
499 vtkSetMacro(StickyAxes,
int);
500 vtkGetMacro(StickyAxes,
int);
501 vtkBooleanMacro(StickyAxes,
int);
509 vtkSetMacro(CenterStickyAxes,
int);
510 vtkGetMacro(CenterStickyAxes,
int);
511 vtkBooleanMacro(CenterStickyAxes,
int);
522 void ComputeStickyAxesBoundingSphere(
vtkViewport* viewport,
const double bounds[6],
523 double sphereCenter[3],
double & sphereRadius);
527 void GetViewportLimitedBounds(
vtkViewport* viewport,
double bounds[6]);
532 static void GetBoundsPointBits(
unsigned int pointIndex,
535 unsigned int & zBit);
539 static void GetBoundsPoint(
unsigned int pointIndex,
const double bounds[6],
double point[3]);
541 int LabelExponent(
double min,
double max);
543 int Digits(
double min,
double max);
545 double MaxOf(
double,
double);
546 double MaxOf(
double,
double,
double,
double);
549 double FSign(
double,
double);
550 int FRound(
double fnt );
551 int GetNumTicks(
double range,
double fxt);
562 int FindClosestAxisIndex(
double pts[8][3]);
565 int FindFurtherstAxisIndex(
double pts[8][3]);
568 void FindBoundaryEdge(
int &indexOfAxisX,
int &indexOfAxisY,
int &indexOfAxisZ,
574 void UpdateGridLineVisibility(
int axisIndex);
686 double RenderedBounds[6];
687 double OrientedBounds[6];
690 double AxisOrigin[3];
693 double AxisBaseForX[3];
694 double AxisBaseForY[3];
695 double AxisBaseForZ[3];
701 vtkSetStringMacro(ActualXLabel);
702 vtkSetStringMacro(ActualYLabel);
703 vtkSetStringMacro(ActualZLabel);
706 int LastUseOrientedBounds;
715 bool AutoLabelScaling;
721 double LastXRange[2];
722 double LastYRange[2];
723 double LastZRange[2];
724 double LastBounds[6];
736 bool MustAdjustXValue;
737 bool MustAdjustYValue;
738 bool MustAdjustZValue;
740 bool ForceXLabelReset;
741 bool ForceYLabelReset;
742 bool ForceZLabelReset;
744 double XAxisRange[2];
745 double YAxisRange[2];
746 double ZAxisRange[2];
758 double MajorStart[3];
759 double DeltaMajor[3];
764 void TransformBounds(
vtkViewport *viewport,
const double bounds[6],
766 void AdjustAxes(
double bounds[6],
768 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
769 double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
770 double xRange[2],
double yRange[2],
double zRange[2]);
772 bool ComputeTickSize(
double bounds[6]);
773 void AdjustValues(
const double xRange[2],
774 const double yRange[2],
775 const double zRange[2]);
776 void AdjustRange(
const double bounds[6]);
779 void SetNonDependentAttributes(
void);
782 double rangeMin,
double rangeMax);
#define VTK_FLY_CLOSEST_TRIAD
#define NUMBER_OF_ALIGNED_AXIS
represents an object (geometry & properties) in a rendered scene
void SetFlyModeToStaticEdges()
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
abstract specification for Viewports
represent surface properties of a geometric object
double ViewAngleLODThreshold
virtual int RenderOverlay(vtkViewport *)
record modification and/or execution time
Create an axis with tick marks and labels.
#define VTK_FLY_STATIC_EDGES
vtkProperty * YAxesGridlinesProperty
vtkProperty * ZAxesLinesProperty
a vtkAbstractArray subclass for strings
void SetTickLocationToInside(void)
#define VTK_FLY_FURTHEST_TRIAD
void SetFlyModeToFurthestTriad()
vtkProperty * XAxesGridpolysProperty
vtkProperty * YAxesLinesProperty
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKRENDERINGANNOTATION_EXPORT
void SetFlyModeToOuterEdges()
double DistanceLODThreshold
create a plot of a bounding box edges -
window superclass for vtkRenderWindow
vtkProperty * XAxesLinesProperty
vtkProperty * ZAxesInnerGridlinesProperty
a simple class to control print indentation
vtkProperty * ZAxesGridpolysProperty
a virtual camera for 3D rendering
#define VTK_FLY_OUTER_EDGES
int ZAxisMinorTickVisibility
vtkProperty * ZAxesGridlinesProperty
#define VTK_FLY_STATIC_TRIAD
represent text properties.
void SetTickLocationToOutside(void)
void SetTickLocationToBoth(void)
int YAxisMinorTickVisibility
vtkProperty * YAxesGridpolysProperty
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
virtual int HasTranslucentPolygonalGeometry()
int XAxisMinorTickVisibility
void SetFlyModeToStaticTriad()
vtkProperty * YAxesInnerGridlinesProperty
void ReleaseGraphicsResources(vtkWindow *)
vtkProperty * XAxesGridlinesProperty
void SetFlyModeToClosestTriad()
#define VTK_TICKS_OUTSIDE
vtkProperty * XAxesInnerGridlinesProperty