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 int LabelExponent(
double min,
double max);
501 int Digits(
double min,
double max);
503 double MaxOf(
double,
double);
504 double MaxOf(
double,
double,
double,
double);
507 double FSign(
double,
double);
508 int FRound(
double fnt );
509 int GetNumTicks(
double range,
double fxt);
520 int FindClosestAxisIndex(
double pts[8][3]);
523 int FindFurtherstAxisIndex(
double pts[8][3]);
526 void FindBoundaryEdge(
int &indexOfAxisX,
int &indexOfAxisY,
int &indexOfAxisZ,
532 void UpdateGridLineVisibility(
int axisIndex);
638 double RenderedBounds[6];
639 double OrientedBounds[6];
642 double AxisOrigin[3];
645 double AxisBaseForX[3];
646 double AxisBaseForY[3];
647 double AxisBaseForZ[3];
653 vtkSetStringMacro(ActualXLabel);
654 vtkSetStringMacro(ActualYLabel);
655 vtkSetStringMacro(ActualZLabel);
658 int LastUseOrientedBounds;
667 bool AutoLabelScaling;
673 double LastXRange[2];
674 double LastYRange[2];
675 double LastZRange[2];
676 double LastBounds[6];
688 bool MustAdjustXValue;
689 bool MustAdjustYValue;
690 bool MustAdjustZValue;
692 bool ForceXLabelReset;
693 bool ForceYLabelReset;
694 bool ForceZLabelReset;
696 double XAxisRange[2];
697 double YAxisRange[2];
698 double ZAxisRange[2];
710 double MajorStart[3];
711 double DeltaMajor[3];
716 void TransformBounds(
vtkViewport *viewport,
const double bounds[6],
718 void AdjustAxes(
double bounds[6],
720 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
721 double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
722 double xRange[2],
double yRange[2],
double zRange[2]);
724 bool ComputeTickSize(
double bounds[6]);
725 void AdjustValues(
const double xRange[2],
726 const double yRange[2],
727 const double zRange[2]);
728 void AdjustRange(
const double bounds[6]);
731 void SetNonDependentAttributes(
void);
734 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
GLsizei const GLfloat * value
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