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;
214 vtkSetClampMacro(InteractionState,
int,Outside,Scaling);
222 virtual void SetRepresentationState(
int);
223 vtkGetMacro(RepresentationState,
int);
231 void SetDirectionalLine(
bool val);
232 vtkGetMacro(DirectionalLine,
bool);
233 vtkBooleanMacro(DirectionalLine,
bool);
251 vtkSetMacro( DistanceAnnotationVisibility,
vtkTypeBool );
252 vtkGetMacro( DistanceAnnotationVisibility,
vtkTypeBool );
253 vtkBooleanMacro( DistanceAnnotationVisibility,
vtkTypeBool );
262 vtkSetStringMacro(DistanceAnnotationFormat);
263 vtkGetStringMacro(DistanceAnnotationFormat);
276 this->SetDistanceAnnotationScale(scale);
278 virtual void SetDistanceAnnotationScale(
double scale[3] );
279 virtual double * GetDistanceAnnotationScale()
VTK_SIZEHINT(3);
285 double GetDistance();
292 void SetLineColor(
double r,
double g,
double b);
297 virtual vtkProperty *GetDistanceAnnotationProperty();
306 enum { RestrictNone = 0, RestrictToX, RestrictToY, RestrictToZ };
312 vtkSetClampMacro(RestrictFlag,
int, RestrictNone, RestrictToZ);
346 void CreateDefaultProperties();
353 void ClampPosition(
double x[3]);
354 void HighlightPoint(
int ptId,
int highlight);
355 void HighlightLine(
int highlight);
356 int InBounds(
double x[3]);
362 double StartLineHandle[3];
364 double LastEventPosition[3];
vtkTypeBool DistanceAnnotationVisibility
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