56 #ifndef vtkCubeAxesActor_h 57 #define vtkCubeAxesActor_h 60 #include "vtkRenderingAnnotationModule.h" 84 virtual int RenderTranslucentGeometry(
vtkViewport*);
94 vtkSetMacro(RebuildAxes,
bool);
95 vtkGetMacro(RebuildAxes,
bool);
105 vtkSetVector6Macro(Bounds,
double);
115 virtual void GetRenderedBounds(
double rBounds[6]);
116 virtual double* GetRenderedBounds();
128 vtkSetVector2Macro(XAxisRange,
double);
129 vtkSetVector2Macro(YAxisRange,
double);
130 vtkSetVector2Macro(ZAxisRange,
double);
131 vtkGetVector2Macro(XAxisRange,
double);
132 vtkGetVector2Macro(YAxisRange,
double);
143 vtkGetVector2Macro(ZAxisRange,
double);
151 void SetScreenSize(
double screenSize);
152 vtkGetMacro(ScreenSize,
double);
160 void SetLabelOffset(
double offset);
161 vtkGetMacro(LabelOffset,
double);
169 void SetTitleOffset(
double offset);
170 vtkGetMacro(TitleOffset,
double);
184 VTK_FLY_OUTER_EDGES = 0,
185 VTK_FLY_CLOSEST_TRIAD = 1,
186 VTK_FLY_FURTHEST_TRIAD = 2,
187 VTK_FLY_STATIC_TRIAD = 3,
188 VTK_FLY_STATIC_EDGES = 4
197 vtkSetClampMacro(FlyMode,
int, VTK_FLY_OUTER_EDGES, VTK_FLY_STATIC_EDGES);
198 vtkGetMacro(FlyMode,
int);
211 vtkSetStringMacro(XTitle);
212 vtkGetStringMacro(XTitle);
213 vtkSetStringMacro(XUnits);
214 vtkGetStringMacro(XUnits);
215 vtkSetStringMacro(YTitle);
216 vtkGetStringMacro(YTitle);
217 vtkSetStringMacro(YUnits);
218 vtkGetStringMacro(YUnits);
219 vtkSetStringMacro(ZTitle);
220 vtkGetStringMacro(ZTitle);
221 vtkSetStringMacro(ZUnits);
222 vtkGetStringMacro(ZUnits);
230 vtkSetStringMacro(XLabelFormat);
231 vtkGetStringMacro(XLabelFormat);
232 vtkSetStringMacro(YLabelFormat);
233 vtkGetStringMacro(YLabelFormat);
234 vtkSetStringMacro(ZLabelFormat);
235 vtkGetStringMacro(ZLabelFormat);
245 vtkGetMacro(Inertia,
int);
254 vtkSetMacro(CornerOffset,
double);
255 vtkGetMacro(CornerOffset,
double);
269 vtkSetMacro(EnableDistanceLOD,
int);
270 vtkGetMacro(EnableDistanceLOD,
int);
277 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
278 vtkGetMacro(DistanceLODThreshold,
double);
285 vtkSetMacro(EnableViewAngleLOD,
int);
286 vtkGetMacro(EnableViewAngleLOD,
int);
293 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0., 1.);
294 vtkGetMacro(ViewAngleLODThreshold,
double);
318 vtkBooleanMacro(XAxisLabelVisibility,
vtkTypeBool);
323 vtkBooleanMacro(YAxisLabelVisibility,
vtkTypeBool);
327 vtkBooleanMacro(ZAxisLabelVisibility,
vtkTypeBool);
350 vtkSetMacro(XAxisMinorTickVisibility,
vtkTypeBool);
351 vtkGetMacro(XAxisMinorTickVisibility,
vtkTypeBool);
352 vtkBooleanMacro(XAxisMinorTickVisibility,
vtkTypeBool);
355 vtkSetMacro(YAxisMinorTickVisibility,
vtkTypeBool);
356 vtkGetMacro(YAxisMinorTickVisibility,
vtkTypeBool);
357 vtkBooleanMacro(YAxisMinorTickVisibility,
vtkTypeBool);
359 vtkSetMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
360 vtkGetMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
361 vtkBooleanMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
459 VTK_TICKS_INSIDE = 0,
460 VTK_TICKS_OUTSIDE = 1,
468 vtkSetClampMacro(TickLocation,
int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
469 vtkGetMacro(TickLocation,
int);
476 void SetLabelScaling(
bool,
int,
int,
int);
484 void SetUseTextActor3D(
int val);
485 int GetUseTextActor3D();
493 void SetUse2DMode(
int val);
500 void SetSaveTitlePosition(
int val);
506 vtkSetVector6Macro(OrientedBounds,
double);
507 vtkGetVector6Macro(OrientedBounds,
double);
514 vtkSetMacro(UseOrientedBounds,
int);
515 vtkGetMacro(UseOrientedBounds,
int);
522 vtkSetVector3Macro(AxisBaseForX,
double);
523 vtkGetVector3Macro(AxisBaseForX,
double);
530 vtkSetVector3Macro(AxisBaseForY,
double);
531 vtkGetVector3Macro(AxisBaseForY,
double);
538 vtkSetVector3Macro(AxisBaseForZ,
double);
539 vtkGetVector3Macro(AxisBaseForZ,
double);
547 vtkSetVector3Macro(AxisOrigin,
double);
548 vtkGetVector3Macro(AxisOrigin,
double);
555 vtkSetMacro(UseAxisOrigin,
int);
556 vtkGetMacro(UseAxisOrigin,
int);
563 vtkSetMacro(GridLineLocation,
int);
564 vtkGetMacro(GridLineLocation,
int);
593 VTK_GRID_LINES_ALL = 0,
594 VTK_GRID_LINES_CLOSEST = 1,
595 VTK_GRID_LINES_FURTHEST = 2
607 void ComputeStickyAxesBoundingSphere(
608 vtkViewport* viewport,
const double bounds[6],
double sphereCenter[3],
double& sphereRadius);
613 void GetViewportLimitedBounds(
vtkViewport* viewport,
double bounds[6]);
619 static void GetBoundsPointBits(
620 unsigned int pointIndex,
unsigned int& xBit,
unsigned int& yBit,
unsigned int& zBit);
625 static void GetBoundsPoint(
unsigned int pointIndex,
const double bounds[6],
double point[3]);
627 int LabelExponent(
double min,
double max);
629 int Digits(
double min,
double max);
631 double MaxOf(
double,
double);
632 double MaxOf(
double,
double,
double,
double);
635 double FSign(
double,
double);
636 int FRound(
double fnt);
637 int GetNumTicks(
double range,
double fxt);
646 int FindClosestAxisIndex(
double pts[8][3]);
649 int FindFurtherstAxisIndex(
double pts[8][3]);
652 void FindBoundaryEdge(
int& indexOfAxisX,
int& indexOfAxisY,
int& indexOfAxisZ,
double pts[8][3]);
659 void UpdateGridLineVisibility(
int axisIndex);
702 NUMBER_OF_ALIGNED_AXIS = 4
790 double RenderedBounds[6];
791 double OrientedBounds[6];
794 double AxisOrigin[3];
797 double AxisBaseForX[3];
798 double AxisBaseForY[3];
799 double AxisBaseForZ[3];
805 vtkSetStringMacro(ActualXLabel);
806 vtkSetStringMacro(ActualYLabel);
807 vtkSetStringMacro(ActualZLabel);
810 int LastUseOrientedBounds;
819 bool AutoLabelScaling;
825 double LastXRange[2];
826 double LastYRange[2];
827 double LastZRange[2];
828 double LastBounds[6];
832 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
833 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
834 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
840 bool MustAdjustXValue;
841 bool MustAdjustYValue;
842 bool MustAdjustZValue;
844 bool ForceXLabelReset;
845 bool ForceYLabelReset;
846 bool ForceZLabelReset;
848 double XAxisRange[2];
849 double YAxisRange[2];
850 double ZAxisRange[2];
864 double MajorStart[3];
865 double DeltaMajor[3];
868 int RenderGeometry(
bool& initialRender,
vtkViewport* viewport,
bool checkAxisVisibility,
871 void TransformBounds(
vtkViewport* viewport,
const double bounds[6],
double pts[8][3]);
872 void AdjustAxes(
double bounds[6],
double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
873 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
874 double xRange[2],
double yRange[2],
double zRange[2]);
876 bool ComputeTickSize(
double bounds[6]);
877 void AdjustValues(
const double xRange[2],
const double yRange[2],
const double zRange[2]);
878 void AdjustRange(
const double bounds[6]);
881 void SetNonDependentAttributes(
void);
882 void BuildLabels(
vtkAxisActor* axes[NUMBER_OF_ALIGNED_AXIS]);
883 void AdjustTicksComputeRange(
884 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