14#ifndef vtkMeasurementCubeHandleRepresentation3D_h 
   15#define vtkMeasurementCubeHandleRepresentation3D_h 
   18#include "vtkInteractionWidgetsModule.h"  
   20VTK_ABI_NAMESPACE_BEGIN
 
  165  vtkGetMacro(SideLength, 
double);
 
  183  vtkGetMacro(RescaleFactor, 
double);
 
  195  vtkGetMacro(MinRelativeCubeScreenArea, 
double);
 
  197  vtkGetMacro(MaxRelativeCubeScreenArea, 
double);
 
  204  vtkSetStringMacro(LengthUnit);
 
  205  vtkGetStringMacro(LengthUnit);
 
  223  double LastPickPosition[3];
 
  224  double LastEventPosition[2];
 
  239  virtual void Scale(
const double* p1, 
const double* p2, 
const double eventPos[2]);
 
  240  virtual void MoveFocus(
const double* p1, 
const double* p2);
 
  263    const double* p1, 
const double* p2, 
const double eventPos[2], 
double requestedDisplayPos[3]);
 
represents an object (geometry & properties) in a rendered scene
 
Renders pixel-aligned text, facing the camera, anchored at a 3D point.
 
ray-cast cell picker for all kinds of Prop3Ds
 
a subclass of actor that always faces the camera
 
abstract class for representing widget handles
 
a simple class to control print indentation
 
represent and manipulate 4x4 transformation matrices
 
represent a unit cube for measuring/comparing to data.
 
double MaxRelativeCubeScreenArea
 
void BuildRepresentation() override
Methods to make this class properly act like a vtkWidgetRepresentation.
 
vtkPolyData * GetHandle()
Get the handle polydata.
 
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Methods to make this class behave as a vtkProp.
 
void SetSelectedProperty(vtkProperty *)
Set/Get the handle properties when unselected and selected.
 
void GetActors(vtkPropCollection *) override
Methods to make this class behave as a vtkProp.
 
int RenderOpaqueGeometry(vtkViewport *viewport) override
Methods to make this class behave as a vtkProp.
 
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to make this class properly act like a vtkWidgetRepresentation.
 
virtual void SetLabelTextInput(const char *label)
A label may be associated with the cube.
 
bool LabelAnnotationTextScaleInitialized
 
vtkTypeBool SelectedLabelVisibility
 
virtual void Scale(const double *p1, const double *p2, const double eventPos[2])
 
vtkMatrix4x4 * HandleTransformMatrix
 
vtkPolyDataMapper * Mapper
 
vtkTypeBool HandleVisibility
 
void SetMinRelativeCubeScreenArea(double)
Set the min/max cube representational area relative to the render window area.
 
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
 
void SetMaxRelativeCubeScreenArea(double)
Set the min/max cube representational area relative to the render window area.
 
vtkTransformPolyDataFilter * HandleTransformFilter
 
void ScaleIfNecessary(vtkViewport *)
If adaptive scaling is enabled, rescale the cube so that its representational area in the display win...
 
void SetSideLength(double)
Set the length of a side of the cube (default is 1).
 
virtual void MoveFocus(const double *p1, const double *p2)
 
vtkMatrixToLinearTransform * HandleTransform
 
void SetProperty(vtkProperty *)
Set/Get the handle properties when unselected and selected.
 
virtual void SetUniformScale(double scale)
The handle may be scaled uniformly in all three dimensions using this API.
 
virtual vtkAbstractTransform * GetTransform()
Get the transform used to transform the generic handle polydata before placing it in the render windo...
 
double MinRelativeCubeScreenArea
 
~vtkMeasurementCubeHandleRepresentation3D() override
 
void CreateDefaultProperties()
 
vtkBillboardTextActor3D * LabelText
 
void StartWidgetInteraction(double eventPos[2]) override
Methods to make this class properly act like a vtkWidgetRepresentation.
 
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods to make this class behave as a vtkProp.
 
vtkTypeBool LabelVisibility
 
static vtkMeasurementCubeHandleRepresentation3D * New()
Instantiate this class.
 
double * GetBounds() override
Methods to make this class behave as a vtkProp.
 
vtkProperty * SelectedProperty
 
void Highlight(int highlight) override
Toggle highlighting (used when the cube is selected).
 
void ShallowCopy(vtkProp *prop) override
Methods to make this class behave as a vtkProp.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
 
void DeepCopy(vtkProp *prop) override
Methods to make this class behave as a vtkProp.
 
void MoveFocusRequest(const double *p1, const double *p2, const double eventPos[2], double requestedDisplayPos[3])
Given a motion vector defined by p1 --> p2 (p1 and p2 are in world coordinates), the new display posi...
 
vtkTypeBool AdaptiveScaling
 
vtkCellPicker * HandlePicker
 
void SetDisplayPosition(double p[3]) override
Set the position of the point in world and display coordinates.
 
virtual void UpdateLabel()
Opportunity to update the label position and text during each render.
 
virtual void UpdateHandle()
Update the actor position.
 
vtkMeasurementCubeHandleRepresentation3D()
 
void WidgetInteraction(double eventPos[2]) override
Methods to make this class properly act like a vtkWidgetRepresentation.
 
void SetWorldPosition(double p[3]) override
Set the position of the point in world and display coordinates.
 
void ReleaseGraphicsResources(vtkWindow *) override
Methods to make this class behave as a vtkProp.
 
virtual char * GetLabelTextInput()
A label may be associated with the cube.
 
map vtkPolyData to graphics primitives
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
abstract superclass for all actors, volumes and annotations
 
represent surface properties of a geometric object
 
abstract specification for Viewports
 
window superclass for vtkRenderWindow