29 #ifndef vtkLineRepresentation_h
30 #define vtkLineRepresentation_h
32 #include "vtkInteractionWidgetsModule.h"
35 VTK_ABI_NAMESPACE_BEGIN
72 void GetPoint1WorldPosition(
double pos[3]);
74 void GetPoint1DisplayPosition(
double pos[3]);
76 void SetPoint1WorldPosition(
double pos[3]);
77 void SetPoint1DisplayPosition(
double pos[3]);
78 void GetPoint2DisplayPosition(
double pos[3]);
79 double* GetPoint2DisplayPosition() VTK_SIZEHINT(3);
80 void GetPoint2WorldPosition(
double pos[3]);
81 double* GetPoint2WorldPosition() VTK_SIZEHINT(3);
82 void SetPoint2WorldPosition(
double pos[3]);
83 void SetPoint2DisplayPosition(
double pos[3]);
98 void InstantiateHandleRepresentation();
106 vtkGetObjectMacro(Point2Representation, vtkPointHandleRepresentation3D);
107 vtkGetObjectMacro(LineHandleRepresentation, vtkPointHandleRepresentation3D);
116 vtkGetObjectMacro(SelectedEndPointProperty, vtkProperty);
124 vtkGetObjectMacro(EndPoint2Property, vtkProperty);
125 vtkGetObjectMacro(SelectedEndPoint2Property, vtkProperty);
133 vtkGetObjectMacro(LineProperty, vtkProperty);
134 vtkGetObjectMacro(SelectedLineProperty, vtkProperty);
143 vtkSetClampMacro(Tolerance,
int, 1, 100);
144 vtkGetMacro(Tolerance,
int);
153 void SetResolution(
int res);
171 void PlaceWidget(
double bounds[6]) override;
172 void BuildRepresentation() override;
173 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
174 void StartWidgetInteraction(
double e[2]) override;
175 void WidgetInteraction(
double e[2]) override;
176 double*
GetBounds() VTK_SIZEHINT(6) override;
184 void ReleaseGraphicsResources(
vtkWindow*) override;
186 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
187 vtkTypeBool HasTranslucentPolygonalGeometry() override;
212 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
220 virtual void SetRepresentationState(
int);
221 vtkGetMacro(RepresentationState,
int);
229 void SetDirectionalLine(
bool val);
230 vtkGetMacro(DirectionalLine,
bool);
231 vtkBooleanMacro(DirectionalLine,
bool);
249 vtkSetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
250 vtkGetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
251 vtkBooleanMacro(DistanceAnnotationVisibility,
vtkTypeBool);
260 vtkSetStringMacro(DistanceAnnotationFormat);
261 vtkGetStringMacro(DistanceAnnotationFormat);
274 this->SetDistanceAnnotationScale(scale);
276 virtual void SetDistanceAnnotationScale(
double scale[3]);
277 virtual double* GetDistanceAnnotationScale()
VTK_SIZEHINT(3);
283 double GetDistance();
289 void SetLineColor(
double r,
double g,
double b);
295 void SetInteractionColor(
double,
double,
double);
297 void SetForegroundColor(
double,
double,
double);
304 virtual vtkProperty* GetDistanceAnnotationProperty();
353 void CreateDefaultProperties();
360 void ClampPosition(
double x[3]);
361 void HighlightPoint(
int ptId,
int highlight);
362 void HighlightLine(
int highlight);
363 int InBounds(
double x[3]);
369 double StartLineHandle[3];
371 double LastEventPosition[3];
399 VTK_ABI_NAMESPACE_END
vtkTypeBool DistanceAnnotationVisibility
void GetBounds(T a, double bds[6])
represents an object (geometry & properties) in a rendered scene
void SetForegroundColor(double c[3])
Set the widget color, and the color of interactive handles.
void SetInteractionColor(double c[3])
Set the widget color, and the color of interactive handles.
represent the position of a point in 3D space
vtkTypeUInt32 vtkMTimeType
abstract specification for Viewports
represent surface properties of a geometric object
vtkPointHandleRepresentation3D * Point2Representation
vtkPolyDataMapper ** HandleMapper
void SetDistanceAnnotationScale(double x, double y, double z)
Scale text (font size along each dimension).
vtkProperty * SelectedEndPoint2Property
vtkProperty * SelectedEndPointProperty
abstract specification for renderers
vtkProperty * LineProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkPolyDataMapper * TextMapper
vtkCellPicker * LinePicker
vtkPointHandleRepresentation3D * Point1Representation
window superclass for vtkRenderWindow
vtkPointHandleRepresentation3D * HandleRepresentation
vtkPolyDataAlgorithm ** HandleGeometry
Superclass for algorithms that produce only polydata as output.
vtkLineSource * LineSource
vtkProperty * EndPointProperty
bool AnnotationTextScaleInitialized
a simple class to control print indentation
vtkVectorText * TextInput
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkPolyDataMapper * LineMapper
#define VTK_SIZEHINT(...)
int InitializedDisplayPosition
char * DistanceAnnotationFormat
create a line defined by two end points
map vtkPolyData to graphics primitives
a subclass of actor that always faces the camera
ray-cast cell picker for all kinds of Prop3Ds
vtkProperty * SelectedLineProperty
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkProperty * EndPoint2Property
vtkPointHandleRepresentation3D * LineHandleRepresentation
implicit function for a bounding box
a class defining the representation for a vtkLineWidget2