30#ifndef vtkImplicitConeRepresentation_h
31#define vtkImplicitConeRepresentation_h
34#include "vtkInteractionWidgetsModule.h"
38VTK_ABI_NAMESPACE_BEGIN
52#define VTK_MAX_CONE_RESOLUTION 2048
83 void GetOrigin(
double xyz[3]);
91 void SetAxis(
double x,
double y,
double z);
92 void SetAxis(
double a[3]);
94 void GetAxis(
double a[3]);
101 void SetAngle(
double r);
114 void SetAlongXAxis(
bool);
115 vtkGetMacro(AlongXAxis,
bool);
116 vtkBooleanMacro(AlongXAxis,
bool);
117 void SetAlongYAxis(
bool);
118 vtkGetMacro(AlongYAxis,
bool);
119 vtkBooleanMacro(AlongYAxis,
bool);
120 void SetAlongZAxis(
bool);
121 vtkGetMacro(AlongZAxis,
bool);
122 vtkBooleanMacro(AlongZAxis,
bool);
132 void SetDrawCone(
bool draw);
133 vtkGetMacro(DrawCone,
bool);
134 vtkBooleanMacro(DrawCone,
bool);
146 vtkGetMacro(Resolution,
int);
156 vtkSetMacro(Tubing,
bool);
157 vtkGetMacro(Tubing,
bool);
158 vtkBooleanMacro(Tubing,
bool);
166 vtkSetMacro(ScaleEnabled,
bool);
167 vtkGetMacro(ScaleEnabled,
bool);
168 vtkBooleanMacro(ScaleEnabled,
bool);
181 void UpdatePlacement();
214 void SetInteractionColor(
double,
double,
double);
253 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
254 vtkGetMacro(BumpDistance,
double);
284 InteractionStateType::TranslatingOrigin);
315 double BumpDistance = 0.01;
318 bool AlongXAxis =
false;
319 bool AlongYAxis =
false;
320 bool AlongZAxis =
false;
323 int Resolution = 128;
325 bool ScaleEnabled =
true;
330 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(...)