41 #ifndef vtkLineRepresentation_h
42 #define vtkLineRepresentation_h
44 #include "vtkInteractionWidgetsModule.h"
83 void GetPoint1WorldPosition(
double pos[3]);
85 void GetPoint1DisplayPosition(
double pos[3]);
87 void SetPoint1WorldPosition(
double pos[3]);
88 void SetPoint1DisplayPosition(
double pos[3]);
89 void GetPoint2DisplayPosition(
double pos[3]);
90 double* GetPoint2DisplayPosition() VTK_SIZEHINT(3);
91 void GetPoint2WorldPosition(
double pos[3]);
92 double* GetPoint2WorldPosition() VTK_SIZEHINT(3);
93 void SetPoint2WorldPosition(
double pos[3]);
94 void SetPoint2DisplayPosition(
double pos[3]);
109 void InstantiateHandleRepresentation();
117 vtkGetObjectMacro(Point2Representation, vtkPointHandleRepresentation3D);
118 vtkGetObjectMacro(LineHandleRepresentation, vtkPointHandleRepresentation3D);
127 vtkGetObjectMacro(SelectedEndPointProperty, vtkProperty);
135 vtkGetObjectMacro(EndPoint2Property, vtkProperty);
136 vtkGetObjectMacro(SelectedEndPoint2Property, vtkProperty);
144 vtkGetObjectMacro(LineProperty, vtkProperty);
145 vtkGetObjectMacro(SelectedLineProperty, vtkProperty);
154 vtkSetClampMacro(Tolerance,
int, 1, 100);
155 vtkGetMacro(Tolerance,
int);
164 void SetResolution(
int res);
182 void PlaceWidget(
double bounds[6]) override;
183 void BuildRepresentation() override;
184 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
185 void StartWidgetInteraction(
double e[2]) override;
186 void WidgetInteraction(
double e[2]) override;
187 double*
GetBounds() VTK_SIZEHINT(6) override;
195 void ReleaseGraphicsResources(
vtkWindow*) override;
197 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
198 vtkTypeBool HasTranslucentPolygonalGeometry() override;
223 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
231 virtual void SetRepresentationState(
int);
232 vtkGetMacro(RepresentationState,
int);
240 void SetDirectionalLine(
bool val);
241 vtkGetMacro(DirectionalLine,
bool);
242 vtkBooleanMacro(DirectionalLine,
bool);
260 vtkSetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
261 vtkGetMacro(DistanceAnnotationVisibility,
vtkTypeBool);
262 vtkBooleanMacro(DistanceAnnotationVisibility,
vtkTypeBool);
271 vtkSetStringMacro(DistanceAnnotationFormat);
272 vtkGetStringMacro(DistanceAnnotationFormat);
285 this->SetDistanceAnnotationScale(scale);
287 virtual void SetDistanceAnnotationScale(
double scale[3]);
288 virtual double* GetDistanceAnnotationScale()
VTK_SIZEHINT(3);
294 double GetDistance();
300 void SetLineColor(
double r,
double g,
double b);
305 virtual
vtkProperty* GetDistanceAnnotationProperty();
354 void CreateDefaultProperties();
361 void ClampPosition(
double x[3]);
362 void HighlightPoint(
int ptId,
int highlight);
363 void HighlightLine(
int highlight);
364 int InBounds(
double x[3]);
370 double StartLineHandle[3];
372 double LastEventPosition[3];
vtkTypeBool DistanceAnnotationVisibility
void GetBounds(T a, double bds[6])
represents an object (geometry & properties) in a rendered scene
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