23 #ifndef vtkMeasurementCubeHandleRepresentation3D_h
24 #define vtkMeasurementCubeHandleRepresentation3D_h
27 #include "vtkInteractionWidgetsModule.h"
173 vtkGetMacro(SideLength,
double);
191 vtkGetMacro(RescaleFactor,
double);
203 vtkGetMacro(MinRelativeCubeScreenArea,
double);
205 vtkGetMacro(MaxRelativeCubeScreenArea,
double);
212 vtkSetStringMacro(LengthUnit);
213 vtkGetStringMacro(LengthUnit);
231 double LastPickPosition[3];
232 double LastEventPosition[2];
247 virtual void Scale(
const double* p1,
const double* p2,
const double eventPos[2]);
248 virtual void MoveFocus(
const double* p1,
const double* p2);
271 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.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
void SetSelectedProperty(vtkProperty *)
void GetActors(vtkPropCollection *) override
For some exporters and other other operations we must be able to collect all the actors or volumes.
int RenderOpaqueGeometry(vtkViewport *viewport) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
int ComputeInteractionState(int X, int Y, int modify=0) override
virtual void SetLabelTextInput(const char *label)
virtual vtkAbstractTransform * GetTransform()
Get the transform used to transform the generic handle polydata before placing it in the render windo...
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)
vtkTransformPolyDataFilter * HandleTransformFilter
void ScaleIfNecessary(vtkViewport *)
If adaptive scaling is enabled, rescale the cube so that its representational area in the display win...
static vtkMeasurementCubeHandleRepresentation3D * New()
Instantiate this class.
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.
vtkPolyData * GetHandle()
Get the handle polydata.
virtual void SetUniformScale(double scale)
The handle may be scaled uniformly in all three dimensions using this API.
double MinRelativeCubeScreenArea
~vtkMeasurementCubeHandleRepresentation3D() override
void CreateDefaultProperties()
vtkBillboardTextActor3D * LabelText
void StartWidgetInteraction(double eventPos[2]) override
vtkTypeBool HasTranslucentPolygonalGeometry() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
virtual char * GetLabelTextInput()
double * GetBounds() override
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
vtkTypeBool LabelVisibility
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
Methods invoked by print to print information about the object including superclasses.
void DeepCopy(vtkProp *prop) override
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
Handles usually have their coordinates set in display coordinates (generally by an associated widget)...
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
void SetWorldPosition(double p[3]) override
Set the position of the point in world and display coordinates.
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
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