59 #ifndef vtkCubeAxesActor_h
60 #define vtkCubeAxesActor_h
63 #include "vtkRenderingAnnotationModule.h"
87 virtual int RenderTranslucentGeometry(
vtkViewport*);
97 vtkSetMacro(RebuildAxes,
bool);
98 vtkGetMacro(RebuildAxes,
bool);
108 vtkSetVector6Macro(Bounds,
double);
118 virtual void GetRenderedBounds(
double rBounds[6]);
119 virtual double* GetRenderedBounds();
131 vtkSetVector2Macro(XAxisRange,
double);
132 vtkSetVector2Macro(YAxisRange,
double);
133 vtkSetVector2Macro(ZAxisRange,
double);
134 vtkGetVector2Macro(XAxisRange,
double);
135 vtkGetVector2Macro(YAxisRange,
double);
146 vtkGetVector2Macro(ZAxisRange,
double);
154 void SetScreenSize(
double screenSize);
155 vtkGetMacro(ScreenSize,
double);
163 void SetLabelOffset(
double offset);
164 vtkGetMacro(LabelOffset,
double);
172 void SetTitleOffset(
double offset);
173 vtkGetMacro(TitleOffset,
double);
187 VTK_FLY_OUTER_EDGES = 0,
188 VTK_FLY_CLOSEST_TRIAD = 1,
189 VTK_FLY_FURTHEST_TRIAD = 2,
190 VTK_FLY_STATIC_TRIAD = 3,
191 VTK_FLY_STATIC_EDGES = 4
200 vtkSetClampMacro(FlyMode,
int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
201 vtkGetMacro(FlyMode,
int);
214 vtkSetStringMacro(XTitle);
215 vtkGetStringMacro(XTitle);
216 vtkSetStringMacro(XUnits);
217 vtkGetStringMacro(XUnits);
218 vtkSetStringMacro(YTitle);
219 vtkGetStringMacro(YTitle);
220 vtkSetStringMacro(YUnits);
221 vtkGetStringMacro(YUnits);
222 vtkSetStringMacro(ZTitle);
223 vtkGetStringMacro(ZTitle);
224 vtkSetStringMacro(ZUnits);
225 vtkGetStringMacro(ZUnits);
233 vtkSetStringMacro(XLabelFormat);
234 vtkGetStringMacro(XLabelFormat);
235 vtkSetStringMacro(YLabelFormat);
236 vtkGetStringMacro(YLabelFormat);
237 vtkSetStringMacro(ZLabelFormat);
238 vtkGetStringMacro(ZLabelFormat);
248 vtkGetMacro(Inertia,
int);
257 vtkSetMacro(CornerOffset,
double);
258 vtkGetMacro(CornerOffset,
double);
272 vtkSetMacro(EnableDistanceLOD,
int);
273 vtkGetMacro(EnableDistanceLOD,
int);
280 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
281 vtkGetMacro(DistanceLODThreshold,
double);
288 vtkSetMacro(EnableViewAngleLOD,
int);
289 vtkGetMacro(EnableViewAngleLOD,
int);
296 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0., 1.);
297 vtkGetMacro(ViewAngleLODThreshold,
double);
321 vtkBooleanMacro(XAxisLabelVisibility,
vtkTypeBool);
326 vtkBooleanMacro(YAxisLabelVisibility,
vtkTypeBool);
330 vtkBooleanMacro(ZAxisLabelVisibility,
vtkTypeBool);
353 vtkSetMacro(XAxisMinorTickVisibility,
vtkTypeBool);
354 vtkGetMacro(XAxisMinorTickVisibility,
vtkTypeBool);
355 vtkBooleanMacro(XAxisMinorTickVisibility,
vtkTypeBool);
358 vtkSetMacro(YAxisMinorTickVisibility,
vtkTypeBool);
359 vtkGetMacro(YAxisMinorTickVisibility,
vtkTypeBool);
360 vtkBooleanMacro(YAxisMinorTickVisibility,
vtkTypeBool);
362 vtkSetMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
363 vtkGetMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
364 vtkBooleanMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
462 VTK_TICKS_INSIDE = 0,
463 VTK_TICKS_OUTSIDE = 1,
471 vtkSetClampMacro(TickLocation,
int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
472 vtkGetMacro(TickLocation,
int);
479 void SetLabelScaling(
bool,
int,
int,
int);
487 void SetUseTextActor3D(
int val);
488 int GetUseTextActor3D();
496 void SetUse2DMode(
int val);
503 void SetSaveTitlePosition(
int val);
509 vtkSetVector6Macro(OrientedBounds,
double);
510 vtkGetVector6Macro(OrientedBounds,
double);
517 vtkSetMacro(UseOrientedBounds,
int);
518 vtkGetMacro(UseOrientedBounds,
int);
525 vtkSetVector3Macro(AxisBaseForX,
double);
526 vtkGetVector3Macro(AxisBaseForX,
double);
533 vtkSetVector3Macro(AxisBaseForY,
double);
534 vtkGetVector3Macro(AxisBaseForY,
double);
541 vtkSetVector3Macro(AxisBaseForZ,
double);
542 vtkGetVector3Macro(AxisBaseForZ,
double);
550 vtkSetVector3Macro(AxisOrigin,
double);
551 vtkGetVector3Macro(AxisOrigin,
double);
558 vtkSetMacro(UseAxisOrigin,
int);
559 vtkGetMacro(UseAxisOrigin,
int);
566 vtkSetMacro(GridLineLocation,
int);
567 vtkGetMacro(GridLineLocation,
int);
596 VTK_GRID_LINES_ALL = 0,
597 VTK_GRID_LINES_CLOSEST = 1,
598 VTK_GRID_LINES_FURTHEST = 2
610 void ComputeStickyAxesBoundingSphere(
611 vtkViewport* viewport,
const double bounds[6],
double sphereCenter[3],
double& sphereRadius);
616 void GetViewportLimitedBounds(
vtkViewport* viewport,
double bounds[6]);
622 static void GetBoundsPointBits(
623 unsigned int pointIndex,
unsigned int& xBit,
unsigned int& yBit,
unsigned int& zBit);
628 static void GetBoundsPoint(
unsigned int pointIndex,
const double bounds[6],
double point[3]);
630 int LabelExponent(
double min,
double max);
632 int Digits(
double min,
double max);
634 double MaxOf(
double,
double);
635 double MaxOf(
double,
double,
double,
double);
638 double FSign(
double,
double);
639 int FRound(
double fnt);
640 int GetNumTicks(
double range,
double fxt);
649 int FindClosestAxisIndex(
double pts[8][3]);
652 int FindFurtherstAxisIndex(
double pts[8][3]);
655 void FindBoundaryEdge(
int& indexOfAxisX,
int& indexOfAxisY,
int& indexOfAxisZ,
double pts[8][3]);
662 void UpdateGridLineVisibility(
int axisIndex);
705 NUMBER_OF_ALIGNED_AXIS = 4
793 double RenderedBounds[6];
794 double OrientedBounds[6];
797 double AxisOrigin[3];
800 double AxisBaseForX[3];
801 double AxisBaseForY[3];
802 double AxisBaseForZ[3];
808 vtkSetStringMacro(ActualXLabel);
809 vtkSetStringMacro(ActualYLabel);
810 vtkSetStringMacro(ActualZLabel);
813 int LastUseOrientedBounds;
822 bool AutoLabelScaling;
828 double LastXRange[2];
829 double LastYRange[2];
830 double LastZRange[2];
831 double LastBounds[6];
835 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
836 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
837 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
843 bool MustAdjustXValue;
844 bool MustAdjustYValue;
845 bool MustAdjustZValue;
847 bool ForceXLabelReset;
848 bool ForceYLabelReset;
849 bool ForceZLabelReset;
851 double XAxisRange[2];
852 double YAxisRange[2];
853 double ZAxisRange[2];
867 double MajorStart[3];
868 double DeltaMajor[3];
871 int RenderGeometry(
bool& initialRender,
vtkViewport* viewport,
bool checkAxisVisibility,
874 void TransformBounds(
vtkViewport* viewport,
const double bounds[6],
double pts[8][3]);
875 void AdjustAxes(
double bounds[6],
double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
876 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
877 double xRange[2],
double yRange[2],
double zRange[2]);
879 bool ComputeTickSize(
double bounds[6]);
880 void AdjustValues(
const double xRange[2],
const double yRange[2],
const double zRange[2]);
881 void AdjustRange(
const double bounds[6]);
884 void SetNonDependentAttributes(
void);
885 void BuildLabels(
vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
886 void AdjustTicksComputeRange(
887 vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS],
double rangeMin,
double rangeMax);
vtkTypeBool YAxisTickVisibility
represents an object (geometry & properties) in a rendered scene
void SetFlyModeToStaticEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkTypeBool XAxisLabelVisibility
vtkTypeBool DrawZInnerGridlines
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkTypeBool YAxisLabelVisibility
vtkTypeBool DrawZGridlines
abstract specification for Viewports
represent surface properties of a geometric object
double ViewAngleLODThreshold
This determines at what view angle to geometry will make the geometry not visible.
virtual int RenderOverlay(vtkViewport *)
record modification and/or execution time
Create an axis with tick marks and labels.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkProperty * YAxesGridlinesProperty
vtkProperty * ZAxesLinesProperty
vtkTypeBool DrawYGridlines
int EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
a vtkAbstractArray subclass for strings
vtkTypeBool CenterStickyAxes
Flag for centering sticky axes.
void SetTickLocationToInside(void)
void SetFlyModeToFurthestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0).
vtkProperty * XAxesGridpolysProperty
vtkProperty * YAxesLinesProperty
vtkTypeBool DrawZGridpolys
vtkTypeBool XAxisVisibility
void SetFlyModeToOuterEdges()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
double DistanceLODThreshold
Default is 0.80 This determines at what fraction of camera far clip range, actor is not visible...
create a plot of a bounding box edges - used for navigation
window superclass for vtkRenderWindow
vtkProperty * XAxesLinesProperty
vtkProperty * ZAxesInnerGridlinesProperty
vtkTypeBool DrawYInnerGridlines
vtkTypeBool DrawXGridpolys
a simple class to control print indentation
vtkProperty * ZAxesGridpolysProperty
a virtual camera for 3D rendering
vtkTypeBool ZAxisLabelVisibility
vtkTypeBool ZAxisTickVisibility
vtkProperty * ZAxesGridlinesProperty
#define VTK_SIZEHINT(...)
vtkTypeBool DrawYGridpolys
represent text properties.
vtkTypeBool XAxisMinorTickVisibility
void SetTickLocationToOutside(void)
vtkTypeBool YAxisVisibility
void SetTickLocationToBoth(void)
vtkTypeBool XAxisTickVisibility
vtkProperty * YAxesGridpolysProperty
vtkTypeBool StickyAxes
Flag for axes stickiness.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some opaque/translucent polygonal geometry?
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetFlyModeToStaticTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkProperty * YAxesInnerGridlinesProperty
vtkTypeBool DrawXGridlines
vtkProperty * XAxesGridlinesProperty
void SetFlyModeToClosestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkTypeBool ZAxisMinorTickVisibility
vtkTypeBool DrawXInnerGridlines
vtkTypeBool YAxisMinorTickVisibility
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
int EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
vtkProperty * XAxesInnerGridlinesProperty
vtkTypeBool ZAxisVisibility