17#ifndef vtkProp3DAxisFollower_h
18#define vtkProp3DAxisFollower_h
22#include "vtkRenderingAnnotationModule.h"
26VTK_ABI_NAMESPACE_BEGIN
71 vtkSetMacro(EnableDistanceLOD,
int);
72 vtkGetMacro(EnableDistanceLOD,
int);
81 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
82 vtkGetMacro(DistanceLODThreshold,
double);
91 vtkSetMacro(EnableViewAngleLOD,
int);
92 vtkGetMacro(EnableViewAngleLOD,
int);
101 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0.0, 1.0);
102 vtkGetMacro(ViewAngleLODThreshold,
double);
118 vtkSetVector2Macro(ScreenOffsetVector,
double);
119 vtkGetVector2Macro(ScreenOffsetVector,
double);
166 void ComputerAutoCenterTranslation(const
double& autoScaleFactor,
double translation[3]);
168 int TestDistanceVisibility();
169 void ExecuteViewAngleVisibility(
double normal[3]);
171 bool IsTextUpsideDown(
double* a,
double* b);
175 int EnableDistanceLOD;
176 double DistanceLODThreshold;
178 int EnableViewAngleLOD;
179 double ViewAngleLODThreshold;
181 double ScreenOffsetVector[2];
191 int VisibleAtCurrentViewAngle;
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
a simple class to control print indentation
a subclass of vtkProp3DFollower that ensures that data is always parallel to the axis defined by a vt...
virtual vtkAxisActor * GetAxis()
Set axis that needs to be followed.
virtual void SetAxis(vtkAxisActor *)
Set axis that needs to be followed.
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 ComputeMatrix() override
Generate the matrix based on ivars.
void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3], vtkAxisActor *axis1, double *dop, vtkViewport *ren)
virtual void SetViewport(vtkViewport *viewport)
int RenderOpaqueGeometry(vtkViewport *viewport) override
This causes the actor to be rendered.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK methods for type and printing.
void ComputeRotationAndTranlation(vtkViewport *ren, double translation[3], double Rx[3], double Ry[3], double Rz[3], vtkAxisActor *axis)
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
This causes the actor to be rendered.
int RenderVolumetricGeometry(vtkViewport *viewport) override
This causes the actor to be rendered.
static vtkProp3DAxisFollower * New()
Creates a follower with no camera set.
void ShallowCopy(vtkProp *prop) override
Shallow copy of a follower.
void SetScreenOffset(double offset)
Set/Get the desired screen vertical offset from the axis.
virtual vtkViewport * GetViewport()
~vtkProp3DAxisFollower() override
double GetScreenOffset()
Set/Get the desired screen vertical offset from the axis.
a vtkProp3D that always faces the camera
abstract superclass for all actors, volumes and annotations
abstract specification for Viewports
a weak reference to a vtkObject.
#define VTK_DEPRECATED_IN_9_6_0(reason)