85 #ifndef vtkCubeAxesActor_h
86 #define vtkCubeAxesActor_h
89 #include "vtkRenderingAnnotationModule.h"
123 vtkSetMacro(RebuildAxes,
bool);
124 vtkGetMacro(RebuildAxes,
bool);
134 vtkSetVector6Macro(Bounds,
double);
157 vtkSetVector2Macro(XAxisRange,
double);
158 vtkSetVector2Macro(YAxisRange,
double);
159 vtkSetVector2Macro(ZAxisRange,
double);
160 vtkGetVector2Macro(XAxisRange,
double);
161 vtkGetVector2Macro(YAxisRange,
double);
172 vtkGetVector2Macro(ZAxisRange,
double);
181 vtkGetMacro(ScreenSize,
double);
190 vtkGetMacro(LabelOffset,
double);
199 vtkGetMacro(TitleOffset,
double);
213 VTK_FLY_OUTER_EDGES = 0,
214 VTK_FLY_CLOSEST_TRIAD = 1,
215 VTK_FLY_FURTHEST_TRIAD = 2,
216 VTK_FLY_STATIC_TRIAD = 3,
217 VTK_FLY_STATIC_EDGES = 4
226 vtkSetClampMacro(
FlyMode,
int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
240 vtkSetStringMacro(XTitle);
241 vtkGetStringMacro(XTitle);
242 vtkSetStringMacro(XUnits);
243 vtkGetStringMacro(XUnits);
244 vtkSetStringMacro(YTitle);
245 vtkGetStringMacro(YTitle);
246 vtkSetStringMacro(YUnits);
247 vtkGetStringMacro(YUnits);
248 vtkSetStringMacro(ZTitle);
249 vtkGetStringMacro(ZTitle);
250 vtkSetStringMacro(ZUnits);
251 vtkGetStringMacro(ZUnits);
259 vtkSetStringMacro(XLabelFormat);
260 vtkGetStringMacro(XLabelFormat);
261 vtkSetStringMacro(YLabelFormat);
262 vtkGetStringMacro(YLabelFormat);
263 vtkSetStringMacro(ZLabelFormat);
264 vtkGetStringMacro(ZLabelFormat);
274 vtkGetMacro(Inertia,
int);
283 vtkSetMacro(CornerOffset,
double);
284 vtkGetMacro(CornerOffset,
double);
298 vtkSetMacro(EnableDistanceLOD,
int);
299 vtkGetMacro(EnableDistanceLOD,
int);
306 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
307 vtkGetMacro(DistanceLODThreshold,
double);
314 vtkSetMacro(EnableViewAngleLOD,
int);
315 vtkGetMacro(EnableViewAngleLOD,
int);
322 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0., 1.);
323 vtkGetMacro(ViewAngleLODThreshold,
double);
488 VTK_TICKS_INSIDE = 0,
489 VTK_TICKS_OUTSIDE = 1,
535 vtkSetVector6Macro(OrientedBounds,
double);
536 vtkGetVector6Macro(OrientedBounds,
double);
543 vtkSetMacro(UseOrientedBounds,
int);
544 vtkGetMacro(UseOrientedBounds,
int);
551 vtkSetVector3Macro(AxisBaseForX,
double);
552 vtkGetVector3Macro(AxisBaseForX,
double);
559 vtkSetVector3Macro(AxisBaseForY,
double);
560 vtkGetVector3Macro(AxisBaseForY,
double);
567 vtkSetVector3Macro(AxisBaseForZ,
double);
568 vtkGetVector3Macro(AxisBaseForZ,
double);
576 vtkSetVector3Macro(AxisOrigin,
double);
577 vtkGetVector3Macro(AxisOrigin,
double);
584 vtkSetMacro(UseAxisOrigin,
int);
585 vtkGetMacro(UseAxisOrigin,
int);
592 vtkSetMacro(GridLineLocation,
int);
593 vtkGetMacro(GridLineLocation,
int);
622 VTK_GRID_LINES_ALL = 0,
623 VTK_GRID_LINES_CLOSEST = 1,
624 VTK_GRID_LINES_FURTHEST = 2
637 vtkViewport* viewport,
const double bounds[6],
double sphereCenter[3],
double& sphereRadius);
649 unsigned int pointIndex,
unsigned int& xBit,
unsigned int& yBit,
unsigned int& zBit);
661 double MaxOf(
double,
double,
double,
double);
681 void FindBoundaryEdge(
int& indexOfAxisX,
int& indexOfAxisY,
int& indexOfAxisZ,
double pts[8][3]);
731 NUMBER_OF_ALIGNED_AXIS = 4
819 double RenderedBounds[6];
820 double OrientedBounds[6];
823 double AxisOrigin[3];
826 double AxisBaseForX[3];
827 double AxisBaseForY[3];
828 double AxisBaseForZ[3];
834 vtkSetStringMacro(ActualXLabel);
835 vtkSetStringMacro(ActualYLabel);
836 vtkSetStringMacro(ActualZLabel);
839 int LastUseOrientedBounds;
848 bool AutoLabelScaling;
854 double LastXRange[2];
855 double LastYRange[2];
856 double LastZRange[2];
857 double LastBounds[6];
861 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
862 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
863 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
869 bool MustAdjustXValue;
870 bool MustAdjustYValue;
871 bool MustAdjustZValue;
873 bool ForceXLabelReset;
874 bool ForceYLabelReset;
875 bool ForceZLabelReset;
877 double XAxisRange[2];
878 double YAxisRange[2];
879 double ZAxisRange[2];
893 double MajorStart[3];
894 double DeltaMajor[3];
897 int RenderGeometry(
bool& initialRender,
vtkViewport* viewport,
bool checkAxisVisibility,
900 void TransformBounds(
vtkViewport* viewport,
const double bounds[6],
double pts[8][3]);
901 void AdjustAxes(
double bounds[6],
double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
902 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
903 double xRange[2],
double yRange[2],
double zRange[2]);
905 bool ComputeTickSize(
double bounds[6]);
906 void AdjustValues(
const double xRange[2],
const double yRange[2],
const double zRange[2]);
907 void AdjustRange(
const double bounds[6]);
910 void SetNonDependentAttributes(
void);
911 void BuildLabels(
vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
912 void AdjustTicksComputeRange(
913 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS],
double rangeMin,
double rangeMax);