17#ifndef vtkAxisFollower_h
18#define vtkAxisFollower_h
21#include "vtkRenderingAnnotationModule.h"
27VTK_ABI_NAMESPACE_BEGIN
67 vtkSetMacro(EnableDistanceLOD,
int);
68 vtkGetMacro(EnableDistanceLOD,
int);
77 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
78 vtkGetMacro(DistanceLODThreshold,
double);
87 vtkSetMacro(EnableViewAngleLOD,
int);
88 vtkGetMacro(EnableViewAngleLOD,
int);
97 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0.0, 1.0);
98 vtkGetMacro(ViewAngleLODThreshold,
double);
115 vtkSetVector2Macro(ScreenOffsetVector,
double);
116 vtkGetVector2Macro(ScreenOffsetVector,
double);
164 void ComputerAutoCenterTranslation(const
double& autoScaleFactor,
double translation[3]);
166 int TestDistanceVisibility();
167 void ExecuteViewAngleVisibility(
double normal[3]);
169 bool IsTextUpsideDown(
double* a,
double* b);
173 int EnableDistanceLOD;
174 double DistanceLODThreshold;
176 int EnableViewAngleLOD;
177 double ViewAngleLODThreshold;
179 double ScreenOffsetVector[2];
185 int VisibleAtCurrentViewAngle;
Create an axis with tick marks and labels.
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
void SetScreenOffset(double offset)
Set/Get the desired screen offset from the axis.
void ComputeRotationAndTranlation(vtkRenderer *ren, double translation[3], double Rx[3], double Ry[3], double Rz[3], vtkAxisActor *axis)
static vtkAxisFollower * New()
Creates a follower with no camera set.
static double AutoScale(vtkViewport *viewport, vtkCamera *camera, double screenSize, double position[3])
Calculate scale factor to maintain same size of a object on the screen.
~vtkAxisFollower() override
double GetScreenOffset()
Set/Get the desired screen offset from the axis.
virtual void SetAxis(vtkAxisActor *)
Set axis that needs to be followed.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ShallowCopy(vtkProp *prop) override
Shallow copy of a follower.
virtual vtkAxisActor * GetAxis()
Set axis that needs to be followed.
void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3], vtkAxisActor *axis1, double *dop, vtkRenderer *ren)
void Render(vtkRenderer *ren) override
This causes the actor to be rendered.
virtual void ComputeTransformMatrix(vtkRenderer *ren)
Generate the matrix based on ivars.
void ComputeMatrix() override
Overridden to disable this function, and use ComputeTransformMatrix instead, as we need a renderer to...
a virtual camera for 3D rendering
a subclass of actor that always faces the camera
a simple class to control print indentation
abstract class specifies interface to map data to graphics primitives
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
abstract specification for Viewports
a weak reference to a vtkObject.
#define VTK_DEPRECATED_IN_9_6_0(reason)