56 #ifndef vtkCubeAxesActor_h 57 #define vtkCubeAxesActor_h 59 #include "vtkRenderingAnnotationModule.h" 84 virtual int RenderTranslucentGeometry(
vtkViewport*);
95 vtkGetMacro( RebuildAxes,
bool );
105 vtkSetVector6Macro(Bounds,
double);
107 double *GetBounds() VTK_OVERRIDE {
return this->
Bounds; }
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);
200 {this->SetFlyMode(VTK_FLY_OUTER_EDGES);};
202 {this->SetFlyMode(VTK_FLY_CLOSEST_TRIAD);};
204 {this->SetFlyMode(VTK_FLY_FURTHEST_TRIAD);};
206 {this->SetFlyMode(VTK_FLY_STATIC_TRIAD);};
208 {this->SetFlyMode(VTK_FLY_STATIC_EDGES);};
216 vtkSetStringMacro(XTitle);
218 vtkSetStringMacro(XUnits);
220 vtkSetStringMacro(YTitle);
222 vtkSetStringMacro(YUnits);
224 vtkSetStringMacro(ZTitle);
226 vtkSetStringMacro(ZUnits);
235 vtkSetStringMacro(XLabelFormat);
237 vtkSetStringMacro(YLabelFormat);
239 vtkSetStringMacro(ZLabelFormat);
250 vtkGetMacro(Inertia,
int);
260 vtkGetMacro(CornerOffset,
double);
275 vtkGetMacro( EnableDistanceLOD,
int );
282 vtkSetClampMacro( DistanceLODThreshold,
double, 0.0, 1.0 );
283 vtkGetMacro( DistanceLODThreshold,
double);
291 vtkGetMacro( EnableViewAngleLOD,
int );
298 vtkSetClampMacro( ViewAngleLODThreshold,
double, 0., 1. );
299 vtkGetMacro( ViewAngleLODThreshold,
double );
307 vtkGetMacro(XAxisVisibility,
int);
310 vtkGetMacro(YAxisVisibility,
int);
313 vtkGetMacro(ZAxisVisibility,
int);
322 vtkGetMacro(XAxisLabelVisibility,
int);
327 vtkGetMacro(YAxisLabelVisibility,
int);
331 vtkGetMacro(ZAxisLabelVisibility,
int);
339 vtkGetMacro(XAxisTickVisibility,
int);
344 vtkGetMacro(YAxisTickVisibility,
int);
348 vtkGetMacro(ZAxisTickVisibility,
int);
356 vtkGetMacro(XAxisMinorTickVisibility,
int);
361 vtkGetMacro(YAxisMinorTickVisibility,
int);
365 vtkGetMacro(ZAxisMinorTickVisibility,
int);
369 vtkGetMacro(DrawXGridlines,
int);
373 vtkGetMacro(DrawYGridlines,
int);
377 vtkGetMacro(DrawZGridlines,
int);
381 vtkGetMacro(DrawXInnerGridlines,
int);
385 vtkGetMacro(DrawYInnerGridlines,
int);
389 vtkGetMacro(DrawZInnerGridlines,
int);
393 vtkGetMacro(DrawXGridpolys,
int);
397 vtkGetMacro(DrawYGridpolys,
int);
401 vtkGetMacro(DrawZGridpolys,
int);
442 void SetXAxesInnerGridlinesProperty(
vtkProperty *);
444 void SetYAxesInnerGridlinesProperty(
vtkProperty *);
446 void SetZAxesInnerGridlinesProperty(
vtkProperty *);
464 VTK_TICKS_INSIDE = 0,
465 VTK_TICKS_OUTSIDE = 1,
473 vtkSetClampMacro(
TickLocation,
int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
478 { this->SetTickLocation(VTK_TICKS_INSIDE); };
480 { this->SetTickLocation(VTK_TICKS_OUTSIDE); };
482 { this->SetTickLocation(VTK_TICKS_BOTH); };
484 void SetLabelScaling(
bool,
int,
int,
int);
492 void SetUseTextActor3D(
int val );
493 int GetUseTextActor3D();
501 void SetUse2DMode(
int val );
508 void SetSaveTitlePosition(
int val );
514 vtkSetVector6Macro(OrientedBounds,
double);
515 vtkGetVector6Macro(OrientedBounds,
double);
523 vtkGetMacro(UseOrientedBounds,
int);
530 vtkSetVector3Macro(AxisBaseForX,
double);
531 vtkGetVector3Macro(AxisBaseForX,
double);
538 vtkSetVector3Macro(AxisBaseForY,
double);
539 vtkGetVector3Macro(AxisBaseForY,
double);
546 vtkSetVector3Macro(AxisBaseForZ,
double);
547 vtkGetVector3Macro(AxisBaseForZ,
double);
555 vtkSetVector3Macro(AxisOrigin,
double);
556 vtkGetVector3Macro(AxisOrigin,
double);
564 vtkGetMacro(UseAxisOrigin,
int);
572 vtkGetMacro(GridLineLocation,
int);
582 vtkGetMacro(StickyAxes,
int);
595 vtkGetMacro(CenterStickyAxes,
int);
601 VTK_GRID_LINES_ALL = 0,
602 VTK_GRID_LINES_CLOSEST = 1,
603 VTK_GRID_LINES_FURTHEST = 2
615 void ComputeStickyAxesBoundingSphere(
vtkViewport* viewport, const
double bounds[6],
616 double sphereCenter[3],
double & sphereRadius);
621 void GetViewportLimitedBounds(
vtkViewport* viewport,
double bounds[6]);
627 static
void GetBoundsPointBits(
unsigned int pointIndex,
630 unsigned int & zBit);
635 static
void GetBoundsPoint(
unsigned int pointIndex, const
double bounds[6],
double point[3]);
637 int LabelExponent(
double min,
double max);
639 int Digits(
double min,
double max);
641 double MaxOf(
double,
double);
642 double MaxOf(
double,
double,
double,
double);
645 double FSign(
double,
double);
646 int FRound(
double fnt );
647 int GetNumTicks(
double range,
double fxt);
656 int FindClosestAxisIndex(
double pts[8][3]);
659 int FindFurtherstAxisIndex(
double pts[8][3]);
662 void FindBoundaryEdge(
int &indexOfAxisX,
int &indexOfAxisY,
int &indexOfAxisZ,
670 void UpdateGridLineVisibility(
int axisIndex);
675 int GridLineLocation;
685 int CenterStickyAxes;
691 int EnableDistanceLOD;
697 double DistanceLODThreshold;
703 int EnableViewAngleLOD;
709 double ViewAngleLODThreshold;
713 NUMBER_OF_ALIGNED_AXIS = 4
801 double RenderedBounds[6];
802 double OrientedBounds[6];
805 double AxisOrigin[3];
808 double AxisBaseForX[3];
809 double AxisBaseForY[3];
810 double AxisBaseForZ[3];
816 vtkSetStringMacro(ActualXLabel);
817 vtkSetStringMacro(ActualYLabel);
818 vtkSetStringMacro(ActualZLabel);
821 int LastUseOrientedBounds;
830 bool AutoLabelScaling;
836 double LastXRange[2];
837 double LastYRange[2];
838 double LastZRange[2];
839 double LastBounds[6];
843 int RenderAxesX[NUMBER_OF_ALIGNED_AXIS];
844 int RenderAxesY[NUMBER_OF_ALIGNED_AXIS];
845 int RenderAxesZ[NUMBER_OF_ALIGNED_AXIS];
851 bool MustAdjustXValue;
852 bool MustAdjustYValue;
853 bool MustAdjustZValue;
855 bool ForceXLabelReset;
856 bool ForceYLabelReset;
857 bool ForceZLabelReset;
859 double XAxisRange[2];
860 double YAxisRange[2];
861 double ZAxisRange[2];
875 double MajorStart[3];
876 double DeltaMajor[3];
881 void TransformBounds(
vtkViewport *viewport,
const double bounds[6],
883 void AdjustAxes(
double bounds[6],
884 double xCoords[NUMBER_OF_ALIGNED_AXIS][6],
885 double yCoords[NUMBER_OF_ALIGNED_AXIS][6],
886 double zCoords[NUMBER_OF_ALIGNED_AXIS][6],
887 double xRange[2],
double yRange[2],
double zRange[2]);
889 bool ComputeTickSize(
double bounds[6]);
890 void AdjustValues(
const double xRange[2],
891 const double yRange[2],
892 const double zRange[2]);
893 void AdjustRange(
const double bounds[6]);
896 void SetNonDependentAttributes(
void);
897 void BuildLabels(
vtkAxisActor *axes[NUMBER_OF_ALIGNED_AXIS]);
898 void AdjustTicksComputeRange(
vtkAxisActor *axes[NUMBER_OF_ALIGNED_AXIS],
899 double rangeMin,
double rangeMax);
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...
abstract specification for Viewports
represent surface properties of a geometric object
virtual int RenderOverlay(vtkViewport *)
int HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
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
a vtkAbstractArray subclass for strings
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
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.
create a plot of a bounding box edges - used for navigation
window superclass for vtkRenderWindow
vtkProperty * XAxesLinesProperty
vtkProperty * ZAxesInnerGridlinesProperty
a simple class to control print indentation
vtkProperty * ZAxesGridpolysProperty
a virtual camera for 3D rendering
int ZAxisMinorTickVisibility
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkProperty * ZAxesGridlinesProperty
represent text properties.
void SetTickLocationToOutside(void)
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void SetTickLocationToBoth(void)
int YAxisMinorTickVisibility
vtkProperty * YAxesGridpolysProperty
int XAxisMinorTickVisibility
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
vtkProperty * XAxesGridlinesProperty
void SetFlyModeToClosestTriad()
Specify a mode to control how the axes are drawn: either static, closest triad, furthest triad or out...
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkProperty * XAxesInnerGridlinesProperty