51#ifndef vtkImplicitPlaneRepresentation_h 
   52#define vtkImplicitPlaneRepresentation_h 
   55#include "vtkInteractionWidgetsModule.h"  
   58VTK_ABI_NAMESPACE_BEGIN
 
  103  void GetOrigin(
double xyz[3]);
 
  110  void SetNormal(
double x, 
double y, 
double z);
 
  111  void SetNormal(
double n[3]);
 
  112  void SetNormalToCamera();
 
  114  void GetNormal(
double xyz[3]);
 
  221  void UpdatePlacement();
 
  254  void SetInteractionColor(
double, 
double, 
double);
 
  277  vtkSetClampMacro(BumpDistance, 
double, 0.000001, 1);
 
  278  vtkGetMacro(BumpDistance, 
double);
 
  310    unsigned long event, 
void* calldata) 
override;
 
  312    unsigned long event, 
void* calldata) 
override;
 
  314    unsigned long event, 
void* calldata, 
int modify = 0) 
override;
 
  316    unsigned long event, 
void* calldata) 
override;
 
  353  vtkSetClampMacro(InteractionState, 
int, Outside, Scaling);
 
  362  vtkGetMacro(RepresentationState, 
int);
 
  375  vtkGetMacro(CropPlaneToBoundingBox, 
bool);
 
  376  vtkBooleanMacro(CropPlaneToBoundingBox, 
bool);
 
  384  vtkGetMacro(SnapToAxes, 
bool);
 
  385  vtkSetMacro(SnapToAxes, 
bool);
 
  395  vtkGetMacro(AlwaysSnapToNearestAxis, 
bool);
 
  398    this->AlwaysSnapToNearestAxis = snap;
 
  399    this->SetNormal(this->GetNormal());
 
  410  double LastEventPosition[3];
 
  411  double LastEventOrientation[4];
 
  412  double StartEventOrientation[4];
 
  419  double SnappedEventOrientation[4];
 
  483  void Rotate(
double X, 
double Y, 
double* p1, 
double* p2, 
double* vpn);
 
  487  void UpdatePose(
double* p1, 
double* d1, 
double* p2, 
double* d2);
 
  488  void Push(
double* p1, 
double* p2);
 
  489  void Scale(
double* p1, 
double* p2, 
double X, 
double Y);
 
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
Cut vtkDataSet with user-specified implicit function.
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
topologically and geometrically regular array of data
a class defining the representation for a vtkImplicitPlaneWidget2
vtkPolyDataMapper * SphereMapper
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
vtkLineSource * LineSource
vtkProperty * SelectedNormalProperty
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToXAxis
void SetEdgeColor(vtkLookupTable *)
Set color to the edge.
void SetHandleColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
virtual void SetCropPlaneToBoundingBox(bool)
Control if the plane should be drawn cropped by the bounding box or without cropping.
bool CropPlaneToBoundingBox
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkProperty * EdgesProperty
vtkPolyDataMapper * CutMapper
void SetEdgeColor(double c[3])
Set color to the edge.
void Scale(double *p1, double *p2, double X, double Y)
vtkPolyDataMapper * LineMapper
void HighlightPlane(int highlight)
vtkPolyDataMapper * ConeMapper
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToYAxis
bool AlwaysSnapToNearestAxis
void TranslateRepresentation(const vtkVector3d &) override
Translate the representation, to be implemented in derived class.
void SetOrigin(double x[3])
Get the origin of the plane.
vtkPlaneSource * PlaneSource
void HighlightNormal(int highlight)
vtkTubeFilter * EdgesTuber
void BuildRepresentation() override
Methods to interface with the vtkImplicitPlaneWidget2.
void StartComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyDataMapper * ConeMapper2
vtkProperty * SelectedPlaneProperty
void Push(double *p1, double *p2)
vtkImplicitPlaneRepresentation()
vtkConeSource * ConeSource
vtkProperty * PlaneProperty
vtkPlane * GetUnderlyingPlane()
static vtkImplicitPlaneRepresentation * New()
Instantiate the class.
vtkProperty * OutlineProperty
void CreateDefaultProperties() override
Create and initialize properties with default values.
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
void SetForegroundColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
int ComputeComplexInteractionState(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
void EndComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToZAxis
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void ComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyDataMapper * EdgesMapper
void PushPlane(double distance)
Push the plane the distance specified along the normal.
void SetOrigin(double x, double y, double z)
Get the origin of the plane.
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
void BumpPlane(int dir, double factor)
Translate the plane in the direction of the normal by the specified BumpDistance.
vtkProperty * SelectedOutlineProperty
void TranslateOrigin(double *p1, double *p2)
void SetHandleColor(double, double, double)
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
double * GetBounds() override
Methods supporting the rendering process.
void SetEdgeColor(double, double, double)
Set color to the edge.
void SetForegroundColor(double, double, double)
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
vtkProperty * NormalProperty
void UpdatePose(double *p1, double *d1, double *p2, double *d2)
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
double * GetOrigin()
Get the origin of the plane.
vtkTypeBool LockNormalToCamera
vtkConeSource * ConeSource2
~vtkImplicitPlaneRepresentation() override
void SetInteractionColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
void Rotate3D(double *p1, double *p2)
a simple class to control print indentation
create a line defined by two end points
map scalar values into colors via a lookup table
create wireframe outline for an arbitrary data set or composite dataset
create an array of quadrilaterals located in a plane
perform various plane computations
Superclass for algorithms that produce only polydata as output.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
platform-independent render window interaction including picking and frame rate control.
create a polygonal sphere centered at the origin
filter that generates tubes around lines
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_SIZEHINT(...)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)