49#ifndef vtkImplicitConeRepresentation_h
50#define vtkImplicitConeRepresentation_h
52#include "vtkInteractionWidgetsModule.h"
57VTK_ABI_NAMESPACE_BEGIN
72#define VTK_MAX_CONE_RESOLUTION 2048
103 void GetOrigin(
double xyz[3]);
111 void SetAxis(
double x,
double y,
double z);
112 void SetAxis(
double a[3]);
114 void GetAxis(
double a[3]);
121 void SetAngle(
double r);
134 void SetAlongXAxis(
bool);
135 vtkGetMacro(AlongXAxis,
bool);
136 vtkBooleanMacro(AlongXAxis,
bool);
137 void SetAlongYAxis(
bool);
138 vtkGetMacro(AlongYAxis,
bool);
139 vtkBooleanMacro(AlongYAxis,
bool);
140 void SetAlongZAxis(
bool);
141 vtkGetMacro(AlongZAxis,
bool);
142 vtkBooleanMacro(AlongZAxis,
bool);
152 void SetDrawCone(
bool draw);
153 vtkGetMacro(DrawCone,
bool);
154 vtkBooleanMacro(DrawCone,
bool);
166 vtkGetMacro(Resolution,
int);
176 vtkSetMacro(Tubing,
bool);
177 vtkGetMacro(Tubing,
bool);
178 vtkBooleanMacro(Tubing,
bool);
187 vtkSetMacro(OutlineTranslation,
bool);
188 vtkGetMacro(OutlineTranslation,
bool);
189 vtkBooleanMacro(OutlineTranslation,
bool);
198 vtkSetMacro(OutsideBounds,
bool);
199 vtkGetMacro(OutsideBounds,
bool);
200 vtkBooleanMacro(OutsideBounds,
bool);
210 vtkSetVector6Macro(WidgetBounds,
double);
211 vtkGetVector6Macro(WidgetBounds,
double);
222 vtkSetMacro(ConstrainToWidgetBounds,
bool);
223 vtkGetMacro(ConstrainToWidgetBounds,
bool);
224 vtkBooleanMacro(ConstrainToWidgetBounds,
bool);
232 vtkSetMacro(ScaleEnabled,
bool);
233 vtkGetMacro(ScaleEnabled,
bool);
234 vtkBooleanMacro(ScaleEnabled,
bool);
247 void UpdatePlacement();
288 void SetInteractionColor(
double,
double,
double);
327 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
328 vtkGetMacro(BumpDistance,
double);
358 InteractionStateType::TranslatingOrigin);
379 vtkGetMacro(TranslationAxis,
int);
380 vtkSetClampMacro(TranslationAxis,
int, Axis::NONE, Axis::ZAxis);
414 double BumpDistance = 0.01;
417 bool AlongXAxis =
false;
418 bool AlongYAxis =
false;
419 bool AlongZAxis =
false;
422 int Resolution = 128;
429 bool OutlineTranslation =
true;
430 bool ScaleEnabled =
true;
431 bool OutsideBounds =
true;
432 double WidgetBounds[6];
433 bool ConstrainToWidgetBounds =
true;
438 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.
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkNew< vtkProperty > OutlineProperty
vtkImplicitConeRepresentation(const vtkImplicitConeRepresentation &)=delete
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
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.
vtkNew< vtkOutlineFilter > Outline
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)
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
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
Methods invoked by print to print information about the object including superclasses.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Methods supporting the rendering process.
vtkVector3d LastEventPosition
vtkNew< vtkActor > OutlineActor
vtkNew< vtkPolyDataMapper > OutlineMapper
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< vtkProperty > SelectedOutlineProperty
vtkNew< vtkPolyDataMapper > AxisLineMapper
void HighlightOutline(bool highlight)
void GetCone(vtkCone *cone) const
vtkNew< vtkImageData > Box
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
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkNew< vtkTubeFilter > EdgesTuber
void TranslateOutline(const vtkVector3d &p1, const vtkVector3d &p2)
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 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)
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
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.
create wireframe outline for an arbitrary data set or composite dataset
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(...)