Go to the documentation of this file.
29 #ifndef vtkAxisFollower_h
30 #define vtkAxisFollower_h
32 #include "vtkRenderingAnnotationModule.h"
77 vtkSetMacro(EnableDistanceLOD,
int);
78 vtkGetMacro(EnableDistanceLOD,
int);
87 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
88 vtkGetMacro(DistanceLODThreshold,
double);
97 vtkSetMacro(EnableViewAngleLOD,
int);
98 vtkGetMacro(EnableViewAngleLOD,
int);
107 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0.0, 1.0);
108 vtkGetMacro(ViewAngleLODThreshold,
double);
125 vtkSetVector2Macro(ScreenOffsetVector,
double);
126 vtkGetVector2Macro(ScreenOffsetVector,
double);
156 double screenSize,
double position[3]);
167 double Rx[3],
double Ry[3],
double Rz[3],
187 double ScreenOffsetVector[2];
194 int VisibleAtCurrentViewAngle;
203 #endif // vtkAxisFollower_h
void Render(vtkRenderer *ren) override
a subclass of actor that always faces the camera
bool IsTextUpsideDown(double *a, double *b)
vtkWeakPointer< vtkAxisActor > Axis
Create an axis with tick marks and labels.
int RenderOpaqueGeometry(vtkViewport *viewport) override
This causes the actor to be rendered.
void ExecuteViewAngleVisibility(double normal[3])
virtual void Render(vtkRenderer *ren)
void ShallowCopy(vtkProp *prop) override
Shallow copy of a follower.
double DistanceLODThreshold
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double ViewAngleLODThreshold
void ComputerAutoCenterTranslation(const double &autoScaleFactor, double translation[3])
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.
void SetScreenOffset(double offset)
void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3], vtkAxisActor *axis1, double *dop, vtkRenderer *ren)
abstract class specifies interface to map data to graphics primitives
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
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.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
a simple class to control print indentation
a virtual camera for 3D rendering
double GetScreenOffset()
Set/Get the desired screen offset from the axis.
virtual void ComputeTransformMatrix(vtkRenderer *ren)
Generate the matrix based on ivars.
int TestDistanceVisibility()
virtual void SetAxis(vtkAxisActor *)
Set axis that needs to be followed.
abstract specification for Viewports
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
~vtkAxisFollower() override
virtual vtkAxisActor * GetAxis()