38 #ifndef vtkImplicitPlaneRepresentation_h 39 #define vtkImplicitPlaneRepresentation_h 41 #include "vtkInteractionWidgetsModule.h" 84 void SetOrigin(
double x,
double y,
double z);
85 void SetOrigin(
double x[3]);
87 void GetOrigin(
double xyz[3]);
94 void SetNormal(
double x,
double y,
double z);
95 void SetNormal(
double x[3]);
96 void SetNormalToCamera();
98 void GetNormal(
double xyz[3]);
186 void SetXTranslationAxisOn() { this->TranslationAxis = Axis::XAxis; }
206 vtkSetVector6Macro(WidgetBounds,
double);
207 vtkGetVector6Macro(WidgetBounds,
double);
220 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
264 void UpdatePlacement(
void);
271 vtkGetObjectMacro(SelectedNormalProperty,
vtkProperty);
280 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
288 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
303 void SetEdgeColor(
double,
double,
double);
304 void SetEdgeColor(
double x[3]);
313 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
314 vtkGetMacro(BumpDistance,
double);
325 void BumpPlane(
int dir,
double factor);
333 void PushPlane(
double distance);
346 unsigned long event,
void* calldata)
override;
348 unsigned long event,
void* calldata)
override;
350 unsigned long event,
void* calldata,
int modify = 0)
override;
352 unsigned long event,
void* calldata)
override;
361 void ReleaseGraphicsResources(
vtkWindow*) override;
363 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
364 vtkTypeBool HasTranslucentPolygonalGeometry() override;
389 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
397 virtual void SetRepresentationState(
int);
398 vtkGetMacro(RepresentationState,
int);
410 virtual void SetCropPlaneToBoundingBox(
bool);
411 vtkGetMacro(CropPlaneToBoundingBox,
bool);
412 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
420 vtkGetMacro(SnapToAxes,
bool);
421 vtkSetMacro(SnapToAxes,
bool);
431 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
434 this->AlwaysSnapToNearestAxis = snap;
435 this->SetNormal(this->GetNormal());
446 double LastEventPosition[3];
447 double LastEventOrientation[4];
448 double StartEventOrientation[4];
455 double SnappedEventOrientation[4];
477 void HighlightOutline(
int highlight);
481 double WidgetBounds[6];
491 void HighlightPlane(
int highlight);
504 void HighlightNormal(
int highlight);
536 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
537 void Rotate3D(
double* p1,
double* p2);
538 void TranslatePlane(
double* p1,
double* p2);
539 void TranslateOutline(
double* p1,
double* p2);
540 void TranslateOrigin(
double* p1,
double* p2);
541 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
542 void Push(
double* p1,
double* p2);
543 void Scale(
double* p1,
double* p2,
double X,
double Y);
555 void CreateDefaultProperties();
557 void GeneratePlane();
bool CropPlaneToBoundingBox
Cut vtkDataSet with user-specified implicit function.
vtkProperty * EdgesProperty
represents an object (geometry & properties) in a rendered scene
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkPolyDataMapper * LineMapper
vtkPolyDataMapper * EdgesMapper
vtkConeSource * ConeSource
abstract specification for Viewports
represent surface properties of a geometric object
vtkProperty * SelectedPlaneProperty
bool AlwaysSnapToNearestAxis
vtkOutlineFilter * Outline
vtkProperty * SelectedNormalProperty
vtkLineSource * LineSource2
map scalar values into colors via a lookup table
vtkTypeBool NormalToXAxis
vtkTypeBool NormalToZAxis
vtkPolyDataMapper * ConeMapper
vtkProperty * NormalProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkPlaneSource * PlaneSource
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
create wireframe outline for an arbitrary data set or composite dataset
create a polygonal sphere centered at the origin
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
Superclass for algorithms that produce only polydata as output.
filter that generates tubes around lines
vtkProperty * PlaneProperty
a simple class to control print indentation
a class defining the representation for a vtkImplicitPlaneWidget2
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkTypeBool LockNormalToCamera
topologically and geometrically regular array of data
vtkPolyDataMapper * SphereMapper
perform various plane computations
#define VTK_SIZEHINT(...)
vtkPolyDataMapper * OutlineMapper
create an array of quadrilaterals located in a plane
vtkLineSource * LineSource
vtkProperty * SelectedOutlineProperty
vtkConeSource * ConeSource2
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkTypeBool OutsideBounds
vtkTypeBool OutlineTranslation
vtkTubeFilter * EdgesTuber
vtkTypeBool NormalToYAxis
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
vtkPlane * GetUnderlyingPlane()
ray-cast cell picker for all kinds of Prop3Ds
vtkPolyDataMapper * LineMapper2
vtkPolyDataMapper * ConeMapper2
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkProperty * OutlineProperty
implicit function for a bounding box
vtkTypeBool ConstrainToWidgetBounds
vtkPolyDataMapper * CutMapper