56 #ifndef vtkCubeAxesActor_h 57 #define vtkCubeAxesActor_h 59 #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);
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);
217 vtkGetStringMacro(XTitle);
218 vtkSetStringMacro(XUnits);
219 vtkGetStringMacro(XUnits);
220 vtkSetStringMacro(YTitle);
221 vtkGetStringMacro(YTitle);
222 vtkSetStringMacro(YUnits);
223 vtkGetStringMacro(YUnits);
224 vtkSetStringMacro(ZTitle);
225 vtkGetStringMacro(ZTitle);
226 vtkSetStringMacro(ZUnits);
227 vtkGetStringMacro(ZUnits);
235 vtkSetStringMacro(XLabelFormat);
236 vtkGetStringMacro(XLabelFormat);
237 vtkSetStringMacro(YLabelFormat);
238 vtkGetStringMacro(YLabelFormat);
239 vtkSetStringMacro(ZLabelFormat);
240 vtkGetStringMacro(ZLabelFormat);
250 vtkGetMacro(Inertia,
int);
259 vtkSetMacro(CornerOffset,
double);
260 vtkGetMacro(CornerOffset,
double);
274 vtkSetMacro( EnableDistanceLOD,
int );
275 vtkGetMacro( EnableDistanceLOD,
int );
282 vtkSetClampMacro( DistanceLODThreshold,
double, 0.0, 1.0 );
283 vtkGetMacro( DistanceLODThreshold,
double);
290 vtkSetMacro( EnableViewAngleLOD,
int );
291 vtkGetMacro( EnableViewAngleLOD,
int );
298 vtkSetClampMacro( ViewAngleLODThreshold,
double, 0., 1. );
299 vtkGetMacro( ViewAngleLODThreshold,
double );
357 vtkBooleanMacro(XAxisMinorTickVisibility,
vtkTypeBool);
362 vtkBooleanMacro(YAxisMinorTickVisibility,
vtkTypeBool);
366 vtkBooleanMacro(ZAxisMinorTickVisibility,
vtkTypeBool);
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);
474 vtkGetMacro(TickLocation,
int);
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);
522 vtkSetMacro(UseOrientedBounds,
int);
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);
563 vtkSetMacro(UseAxisOrigin,
int);
564 vtkGetMacro(UseAxisOrigin,
int);
571 vtkSetMacro(GridLineLocation,
int);
572 vtkGetMacro(GridLineLocation,
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);
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);
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 *)
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
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,...
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.
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