49#ifndef vtkImplicitConeRepresentation_h
50#define vtkImplicitConeRepresentation_h
53#include "vtkInteractionWidgetsModule.h"
57VTK_ABI_NAMESPACE_BEGIN
71#define VTK_MAX_CONE_RESOLUTION 2048
102 void GetOrigin(
double xyz[3]);
110 void SetAxis(
double x,
double y,
double z);
111 void SetAxis(
double a[3]);
113 void GetAxis(
double a[3]);
120 void SetAngle(
double r);
133 void SetAlongXAxis(
bool);
134 vtkGetMacro(AlongXAxis,
bool);
135 vtkBooleanMacro(AlongXAxis,
bool);
136 void SetAlongYAxis(
bool);
137 vtkGetMacro(AlongYAxis,
bool);
138 vtkBooleanMacro(AlongYAxis,
bool);
139 void SetAlongZAxis(
bool);
140 vtkGetMacro(AlongZAxis,
bool);
141 vtkBooleanMacro(AlongZAxis,
bool);
151 void SetDrawCone(
bool draw);
152 vtkGetMacro(DrawCone,
bool);
153 vtkBooleanMacro(DrawCone,
bool);
165 vtkGetMacro(Resolution,
int);
175 vtkSetMacro(Tubing,
bool);
176 vtkGetMacro(Tubing,
bool);
177 vtkBooleanMacro(Tubing,
bool);
185 vtkSetMacro(ScaleEnabled,
bool);
186 vtkGetMacro(ScaleEnabled,
bool);
187 vtkBooleanMacro(ScaleEnabled,
bool);
200 void UpdatePlacement();
233 void SetInteractionColor(
double,
double,
double);
272 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
273 vtkGetMacro(BumpDistance,
double);
303 InteractionStateType::TranslatingOrigin);
334 double BumpDistance = 0.01;
337 bool AlongXAxis =
false;
338 bool AlongYAxis =
false;
339 bool AlongZAxis =
false;
342 int Resolution = 128;
344 bool ScaleEnabled =
true;
349 bool DrawCone =
true;
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
implicit function for a cone
topologically and geometrically regular array of data
defining the representation for a vtkImplicitConeWidget
~vtkImplicitConeRepresentation() override
void SetInteractionColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cone) and their color during interact...
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitConeWidget.
vtkImplicitConeRepresentation(const vtkImplicitConeRepresentation &)=delete
void SetForegroundColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected cone) and their color during interact...
vtkNew< vtkCellPicker > ConePicker
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods supporting the rendering process.
void SetHandleColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cone) and their color during interact...
double * GetOrigin()
Get the origin of the cone representation.
virtual void SetRepresentationState(InteractionStateType)
Sets the visual appearance of the representation based on the state it is in.
void HighlightCone(bool highlight)
void TranslateOrigin(const vtkVector3d &p1, const vtkVector3d &p2)
vtkNew< vtkActor > ConePDActor
void SetOrigin(double x[3])
Get the origin of the cone representation.
vtkNew< vtkPolyDataMapper > AxisArrowMapper
vtkNew< vtkProperty > SelectedConeProperty
vtkNew< vtkLineSource > AxisLineSource
void PushCone(double distance)
Push the cone the distance specified along the view vector.
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitConeWidget.
vtkNew< vtkProperty > SelectedAxisProperty
vtkNew< vtkActor > OriginHandleActor
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Methods supporting the rendering process.
vtkVector3d LastEventPosition
void AdjustAngle(double X, double Y, const vtkVector3d &p1, const vtkVector3d &p2)
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting the rendering process.
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitConeWidget.
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
int RenderOpaqueGeometry(vtkViewport *) override
Methods supporting the rendering process.
vtkNew< vtkActor > AxisLineActor
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitConeWidget.
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitConeWidget.
void SetOrigin(double x, double y, double z)
Get the origin of the cone representation.
vtkNew< vtkConeSource > AxisArrowSource
vtkNew< vtkPolyDataMapper > OriginHandleMapper
void HighlightAxis(bool highlight)
vtkImplicitConeRepresentation()
void operator=(const vtkImplicitConeRepresentation &)=delete
vtkNew< vtkProperty > ConeProperty
vtkNew< vtkPolyDataMapper > AxisLineMapper
void GetCone(vtkCone *cone) const
void HighlightOriginHandle(bool highlight)
vtkNew< vtkActor > AxisArrowActor
vtkNew< vtkPolyData > ConePD
vtkNew< vtkProperty > OriginHandleProperty
void SetForegroundColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cone) and their color during interact...
vtkNew< vtkBox > BoundingBox
vtkNew< vtkTubeFilter > EdgesTuber
vtkNew< vtkPolyDataMapper > EdgesMapper
void GetActors(vtkPropCollection *pc) override
Methods supporting the rendering process.
double * GetBounds() override
Methods supporting the rendering process.
vtkNew< vtkProperty > EdgesProperty
void SetHandleColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected cone) and their color during interact...
vtkNew< vtkProperty > AxisProperty
vtkNew< vtkPolyData > EdgesPD
void Scale(const vtkVector3d &p1, const vtkVector3d &p2, double X, double Y)
vtkNew< vtkActor > EdgesActor
void TranslateRepresentation(const vtkVector3d &motion) override
Translate the representation, to be implemented in derived class.
void Rotate(double X, double Y, const vtkVector3d &p1, const vtkVector3d &p2, const vtkVector3d &vpn)
void ScaleAngle(const vtkVector3d &p1, const vtkVector3d &p2)
vtkNew< vtkSphereSource > OriginHandleSource
void TranslateOriginOnAxis(const vtkVector3d &p1, const vtkVector3d &p2)
static vtkImplicitConeRepresentation * New()
vtkNew< vtkPolyDataMapper > ConePDMapper
vtkNew< vtkProperty > SelectedOriginHandleProperty
vtkNew< vtkCellPicker > Picker
void BumpCone(int dir, double factor)
Translate the cone in the direction of the view vector by the specified BumpDistance.
void BuildRepresentation() override
Methods to interface with the vtkImplicitConeWidget.
void TranslateCone(const vtkVector3d &p1, const vtkVector3d &p2)
a simple class to control print indentation
create a line defined by two end points
Allocate and hold a VTK object.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
create a polygonal sphere centered at the origin
filter that generates tubes around lines
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_MAX_CONE_RESOLUTION
#define VTK_SIZEHINT(...)