29 #ifndef vtkProp3DAxisFollower_h 30 #define vtkProp3DAxisFollower_h 32 #include "vtkRenderingAnnotationModule.h" 71 vtkGetMacro(AutoCenter,
int);
82 vtkGetMacro(EnableDistanceLOD,
int);
91 vtkSetClampMacro(DistanceLODThreshold,
double, 0.0, 1.0);
92 vtkGetMacro(DistanceLODThreshold,
double);
102 vtkGetMacro(EnableViewAngleLOD,
int);
111 vtkSetClampMacro(ViewAngleLODThreshold,
double, 0.0, 1.0);
112 vtkGetMacro(ViewAngleLODThreshold,
double);
120 double GetScreenOffset();
121 void SetScreenOffset(
double offset);
128 vtkSetVector2Macro(ScreenOffsetVector,
double);
129 vtkGetVector2Macro(ScreenOffsetVector,
double);
141 void ShallowCopy(
vtkProp *prop) VTK_OVERRIDE;
148 double screenSize,
double position[3]);
156 int RenderOpaqueGeometry(
vtkViewport *viewport) VTK_OVERRIDE;
157 int RenderTranslucentPolygonalGeometry(
vtkViewport *viewport) VTK_OVERRIDE;
158 int RenderVolumetricGeometry(
vtkViewport *viewport) VTK_OVERRIDE;
166 ~vtkProp3DAxisFollower() VTK_OVERRIDE;
168 void CalculateOrthogonalVectors(
double Rx[3],
double Ry[3],
double Rz[3],
173 double Rx[3],
double Ry[3],
double Rz[3],
177 void ComputerAutoCenterTranslation(const
double& autoScaleFactor,
178 double translation[3]);
180 int TestDistanceVisibility();
181 void ExecuteViewAngleVisibility(
double normal[3]);
183 bool IsTextUpsideDown(
double* a,
double* b);
187 int EnableDistanceLOD;
188 double DistanceLODThreshold;
190 int EnableViewAngleLOD;
191 double ViewAngleLODThreshold;
193 double ScreenOffsetVector [2];
198 vtkProp3DAxisFollower(const vtkProp3DAxisFollower&) VTK_DELETE_FUNCTION;
199 void operator=(const vtkProp3DAxisFollower&) VTK_DELETE_FUNCTION;
202 int VisibleAtCurrentViewAngle;
abstract superclass for all actors, volumes and annotations
abstract specification for Viewports
Create an axis with tick marks and labels.
a simple class to control print indentation
a virtual camera for 3D rendering
a weak reference to a vtkObject.
a vtkProp3D that always faces the camera
static vtkProp3DFollower * New()
Creates a follower with no camera set.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
a subclass of vtkProp3DFollower that ensures that data is always parallel to the axis defined by a vt...
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK methods for type and printing.
void ComputeMatrix() override
Generate the matrix based on ivars.