29 #ifndef vtkLineRepresentation_h
30 #define vtkLineRepresentation_h
32 #include "vtkInteractionWidgetsModule.h"
36 VTK_ABI_NAMESPACE_BEGIN
74 void GetPoint1WorldPosition(
double pos[3]) VTK_FUTURE_CONST;
77 void GetPoint1DisplayPosition(
double pos[3]) VTK_FUTURE_CONST;
80 void SetPoint1WorldPosition(
double pos[3]);
82 void SetPoint1DisplayPosition(
double pos[3]);
84 void GetPoint2DisplayPosition(
double pos[3]) VTK_FUTURE_CONST;
86 double* GetPoint2DisplayPosition() VTK_SIZEHINT(3);
87 void GetPoint2WorldPosition(
double pos[3]) VTK_FUTURE_CONST;
88 double* GetPoint2WorldPosition() VTK_SIZEHINT(3);
89 void SetPoint2WorldPosition(
double pos[3]);
91 void SetPoint2DisplayPosition(
double pos[3]);
106 void InstantiateHandleRepresentation();
114 vtkGetObjectMacro(Point2Representation, vtkPointHandleRepresentation3D);
115 vtkGetObjectMacro(LineHandleRepresentation, vtkPointHandleRepresentation3D);
124 vtkGetObjectMacro(SelectedEndPointProperty, vtkProperty);
125 void SetEndPointProperty(vtkProperty* property);
126 void SetSelectedEndPointProperty(vtkProperty* property);
134 vtkGetObjectMacro(EndPoint2Property, vtkProperty);
135 vtkGetObjectMacro(SelectedEndPoint2Property, vtkProperty);
136 void SetEndPoint2Property(vtkProperty* property);
137 void SetSelectedEndPoint2Property(vtkProperty* property);
145 vtkGetObjectMacro(LineProperty, vtkProperty);
146 vtkGetObjectMacro(SelectedLineProperty, vtkProperty);
147 void SetLineProperty(vtkProperty* property);
148 void SetSelectedLineProperty(vtkProperty* property);
157 vtkSetClampMacro(Tolerance,
int, 1, 100);
158 vtkGetMacro(Tolerance,
int);
167 void SetResolution(
int res);
185 void PlaceWidget(
double bounds[6]) override;
186 void BuildRepresentation() override;
187 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
188 void StartWidgetInteraction(
double e[2]) override;
189 void WidgetInteraction(
double e[2]) override;
190 double*
GetBounds() VTK_SIZEHINT(6) override;
198 void ReleaseGraphicsResources(
vtkWindow*) override;
200 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
201 vtkTypeBool HasTranslucentPolygonalGeometry() override;
226 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
234 virtual void SetRepresentationState(
int);
235 vtkGetMacro(RepresentationState,
int);
243 void SetDirectionalLine(
bool val);
244 vtkGetMacro(DirectionalLine,
bool);
245 vtkBooleanMacro(DirectionalLine,
bool);
263 vtkSetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
264 vtkGetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
265 vtkBooleanMacro(DistanceAnnotationVisibility,
vtkTypeBool);
274 vtkSetStringMacro(DistanceAnnotationFormat);
275 vtkGetStringMacro(DistanceAnnotationFormat);
288 this->SetDistanceAnnotationScale(scale);
290 virtual void SetDistanceAnnotationScale(
double scale[3]);
291 virtual double* GetDistanceAnnotationScale()
VTK_SIZEHINT(3);
297 double GetDistance();
303 void SetLineColor(
double r,
double g,
double b);
309 void SetInteractionColor(
double,
double,
double);
311 void SetForegroundColor(
double,
double,
double);
318 virtual vtkProperty* GetDistanceAnnotationProperty();
367 void CreateDefaultProperties();
374 void ClampPosition(
double x[3]);
380 void HighlightPoint(
int ptId,
int highlight);
381 void HighlightLine(
int highlight);
384 int InBounds(
double x[3]);
390 double StartLineHandle[3];
392 double LastEventPosition[3];
416 void UpdatePointAndLineProperties();
422 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
#define VTK_MARSHALEXCLUDE(reason)
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
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL