30#ifndef vtkImplicitConeRepresentation_h
31#define vtkImplicitConeRepresentation_h
33#include "vtkInteractionWidgetsModule.h"
38VTK_ABI_NAMESPACE_BEGIN
53#define VTK_MAX_CONE_RESOLUTION 2048
84 void GetOrigin(
double xyz[3]);
92 void SetAxis(
double x,
double y,
double z);
93 void SetAxis(
double a[3]);
95 void GetAxis(
double a[3]);
102 void SetAngle(
double r);
115 void SetAlongXAxis(
bool);
116 vtkGetMacro(AlongXAxis,
bool);
117 vtkBooleanMacro(AlongXAxis,
bool);
118 void SetAlongYAxis(
bool);
119 vtkGetMacro(AlongYAxis,
bool);
120 vtkBooleanMacro(AlongYAxis,
bool);
121 void SetAlongZAxis(
bool);
122 vtkGetMacro(AlongZAxis,
bool);
123 vtkBooleanMacro(AlongZAxis,
bool);
133 void SetDrawCone(
bool draw);
134 vtkGetMacro(DrawCone,
bool);
135 vtkBooleanMacro(DrawCone,
bool);
147 vtkGetMacro(Resolution,
int);
157 vtkSetMacro(Tubing,
bool);
158 vtkGetMacro(Tubing,
bool);
159 vtkBooleanMacro(Tubing,
bool);
168 vtkSetMacro(OutlineTranslation,
bool);
169 vtkGetMacro(OutlineTranslation,
bool);
170 vtkBooleanMacro(OutlineTranslation,
bool);
179 vtkSetMacro(OutsideBounds,
bool);
180 vtkGetMacro(OutsideBounds,
bool);
181 vtkBooleanMacro(OutsideBounds,
bool);
191 vtkSetVector6Macro(WidgetBounds,
double);
192 vtkGetVector6Macro(WidgetBounds,
double);
203 vtkSetMacro(ConstrainToWidgetBounds,
bool);
204 vtkGetMacro(ConstrainToWidgetBounds,
bool);
205 vtkBooleanMacro(ConstrainToWidgetBounds,
bool);
213 vtkSetMacro(ScaleEnabled,
bool);
214 vtkGetMacro(ScaleEnabled,
bool);
215 vtkBooleanMacro(ScaleEnabled,
bool);
228 void UpdatePlacement();
269 void SetInteractionColor(
double,
double,
double);
308 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
309 vtkGetMacro(BumpDistance,
double);
339 InteractionStateType::TranslatingOrigin);
360 vtkGetMacro(TranslationAxis,
int);
361 vtkSetClampMacro(TranslationAxis,
int, Axis::NONE, Axis::ZAxis);
395 double BumpDistance = 0.01;
398 bool AlongXAxis =
false;
399 bool AlongYAxis =
false;
400 bool AlongZAxis =
false;
403 int Resolution = 128;
410 bool OutlineTranslation =
true;
411 bool ScaleEnabled =
true;
412 bool OutsideBounds =
true;
413 double WidgetBounds[6];
414 bool ConstrainToWidgetBounds =
true;
419 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(...)