VTK  9.4.20241221
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkBoxWidget Class Reference

orthogonal hexahedron 3D widget More...

#include <vtkBoxWidget.h>

Inheritance diagram for vtkBoxWidget:
[legend]
Collaboration diagram for vtkBoxWidget:
[legend]

Public Types

typedef vtk3DWidget Superclass
 
- Public Types inherited from vtk3DWidget
typedef vtkInteractorObserver Superclass
 
- Public Types inherited from vtkInteractorObserver
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkBoxWidgetNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void GetPlanes (vtkPlanes *planes)
 Get the planes describing the implicit function defined by the box widget.
 
virtual void GetTransform (vtkTransform *t)
 Retrieve a linear transform characterizing the transformation of the box.
 
virtual void SetTransform (vtkTransform *t)
 Set the position, scale and orientation of the box widget using the transform specified.
 
void GetPolyData (vtkPolyData *pd)
 Grab the polydata (including points) that define the box widget.
 
void SetEnabled (int) override
 Methods that satisfy the superclass' API.
 
void PlaceWidget (double bounds[6]) override
 Methods that satisfy the superclass' API.
 
void PlaceWidget () override
 Methods that satisfy the superclass' API.
 
void PlaceWidget (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
 Methods that satisfy the superclass' API.
 
virtual void SetInsideOut (vtkTypeBool)
 Set/Get the InsideOut flag.
 
virtual vtkTypeBool GetInsideOut ()
 Set/Get the InsideOut flag.
 
virtual void InsideOutOn ()
 Set/Get the InsideOut flag.
 
virtual void InsideOutOff ()
 Set/Get the InsideOut flag.
 
virtual vtkPropertyGetHandleProperty ()
 Get the handle properties (the little balls are the handles).
 
virtual vtkPropertyGetSelectedHandleProperty ()
 Get the handle properties (the little balls are the handles).
 
void HandlesOn ()
 Switches handles (the spheres) on or off by manipulating the actor visibility.
 
void HandlesOff ()
 Switches handles (the spheres) on or off by manipulating the actor visibility.
 
virtual vtkPropertyGetFaceProperty ()
 Get the face properties (the faces of the box).
 
virtual vtkPropertyGetSelectedFaceProperty ()
 Get the face properties (the faces of the box).
 
virtual vtkPropertyGetOutlineProperty ()
 Get the outline properties (the outline of the box).
 
virtual vtkPropertyGetSelectedOutlineProperty ()
 Get the outline properties (the outline of the box).
 
void SetOutlineFaceWires (int)
 Control the representation of the outline.
 
virtual int GetOutlineFaceWires ()
 Control the representation of the outline.
 
void OutlineFaceWiresOn ()
 Control the representation of the outline.
 
void OutlineFaceWiresOff ()
 Control the representation of the outline.
 
void SetOutlineCursorWires (int)
 Control the representation of the outline.
 
virtual int GetOutlineCursorWires ()
 Control the representation of the outline.
 
void OutlineCursorWiresOn ()
 Control the representation of the outline.
 
void OutlineCursorWiresOff ()
 Control the representation of the outline.
 
virtual void SetTranslationEnabled (vtkTypeBool)
 Control the behavior of the widget.
 
virtual vtkTypeBool GetTranslationEnabled ()
 Control the behavior of the widget.
 
virtual void TranslationEnabledOn ()
 Control the behavior of the widget.
 
virtual void TranslationEnabledOff ()
 Control the behavior of the widget.
 
virtual void SetScalingEnabled (vtkTypeBool)
 Control the behavior of the widget.
 
virtual vtkTypeBool GetScalingEnabled ()
 Control the behavior of the widget.
 
virtual void ScalingEnabledOn ()
 Control the behavior of the widget.
 
virtual void ScalingEnabledOff ()
 Control the behavior of the widget.
 
virtual void SetRotationEnabled (vtkTypeBool)
 Control the behavior of the widget.
 
virtual vtkTypeBool GetRotationEnabled ()
 Control the behavior of the widget.
 
virtual void RotationEnabledOn ()
 Control the behavior of the widget.
 
virtual void RotationEnabledOff ()
 Control the behavior of the widget.
 
- Public Member Functions inherited from vtk3DWidget
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtk3DWidgetNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual void SetProp3D (vtkProp3D *)
 Specify a vtkProp3D around which to place the widget.
 
virtual vtkProp3DGetProp3D ()
 Specify a vtkProp3D around which to place the widget.
 
virtual void SetInputData (vtkDataSet *)
 Specify the input dataset.
 
virtual void SetInputConnection (vtkAlgorithmOutput *)
 Specify the input dataset.
 
virtual vtkDataSetGetInput ()
 Specify the input dataset.
 
virtual void SetPlaceFactor (double)
 Set/Get a factor representing the scaling of the widget upon placement (via the PlaceWidget() method).
 
virtual double GetPlaceFactor ()
 Set/Get a factor representing the scaling of the widget upon placement (via the PlaceWidget() method).
 
virtual void SetHandleSize (double)
 Set/Get the factor that controls the size of the handles that appear as part of the widget.
 
virtual double GetHandleSize ()
 Set/Get the factor that controls the size of the handles that appear as part of the widget.
 
- Public Member Functions inherited from vtkInteractorObserver
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkInteractorObserverNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual void SetEnabled (int)
 Methods for turning the interactor observer on and off, and determining its state.
 
int GetEnabled ()
 
void EnabledOn ()
 
void EnabledOff ()
 
void On ()
 
void Off ()
 
virtual void OnChar ()
 Sets up the keypress-i event.
 
virtual void SetInteractor (vtkRenderWindowInteractor *iren)
 This method is used to associate the widget with the render window interactor.
 
virtual vtkRenderWindowInteractorGetInteractor ()
 This method is used to associate the widget with the render window interactor.
 
virtual void SetPriority (float)
 Set/Get the priority at which events are processed.
 
virtual float GetPriority ()
 Set/Get the priority at which events are processed.
 
virtual void PickingManagedOn ()
 Enable/Disable the use of a manager to process the picking.
 
virtual void PickingManagedOff ()
 Enable/Disable the use of a manager to process the picking.
 
virtual void SetPickingManaged (bool managed)
 Enable/Disable the use of a manager to process the picking.
 
virtual bool GetPickingManaged ()
 Enable/Disable the use of a manager to process the picking.
 
virtual void SetKeyPressActivation (vtkTypeBool)
 Enable/Disable of the use of a keypress to turn on and off the interactor observer.
 
virtual vtkTypeBool GetKeyPressActivation ()
 Enable/Disable of the use of a keypress to turn on and off the interactor observer.
 
virtual void KeyPressActivationOn ()
 Enable/Disable of the use of a keypress to turn on and off the interactor observer.
 
virtual void KeyPressActivationOff ()
 Enable/Disable of the use of a keypress to turn on and off the interactor observer.
 
virtual void SetKeyPressActivationValue (char)
 Specify which key press value to use to activate the interactor observer (if key press activation is enabled).
 
virtual char GetKeyPressActivationValue ()
 Specify which key press value to use to activate the interactor observer (if key press activation is enabled).
 
virtual vtkRendererGetDefaultRenderer ()
 Set/Get the default renderer to use when activating the interactor observer.
 
virtual void SetDefaultRenderer (vtkRenderer *)
 Set/Get the default renderer to use when activating the interactor observer.
 
virtual vtkRendererGetCurrentRenderer ()
 Set/Get the current renderer.
 
virtual void SetCurrentRenderer (vtkRenderer *)
 Set/Get the current renderer.
 
void GrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor.
 
void ReleaseFocus ()
 These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events.
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method.
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual std::string GetObjectDescription () const
 The object description printed in messages and PrintSelf output.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not.
 

Static Public Member Functions

static vtkBoxWidgetNew ()
 Instantiate the object.
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkBoxWidgetSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtk3DWidget
static vtkTypeBool IsTypeOf (const char *type)
 
static vtk3DWidgetSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkInteractorObserver
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkInteractorObserverSafeDownCast (vtkObjectBase *o)
 
static void ComputeDisplayToWorld (vtkRenderer *ren, double x, double y, double z, double worldPt[4])
 Convenience methods for outside classes.
 
static void ComputeWorldToDisplay (vtkRenderer *ren, double x, double y, double z, double displayPt[3])
 Convenience methods for outside classes.
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class.
 
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.
 

Protected Types

enum  WidgetState { Start = 0 , Moving , Scaling , Outside }
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkBoxWidget ()
 
 ~vtkBoxWidget () override
 
virtual void OnMouseMove ()
 
virtual void OnLeftButtonDown ()
 
virtual void OnLeftButtonUp ()
 
virtual void OnMiddleButtonDown ()
 
virtual void OnMiddleButtonUp ()
 
virtual void OnRightButtonDown ()
 
virtual void OnRightButtonUp ()
 
virtual void PositionHandles ()
 
int HighlightHandle (vtkProp *prop)
 
void HighlightFace (int cellId)
 
void HighlightOutline (int highlight)
 
void ComputeNormals ()
 
void SizeHandles () override
 
void RegisterPickers () override
 Register internal Pickers in the Picking Manager.
 
virtual void Translate (double *p1, double *p2)
 
virtual void Scale (double *p1, double *p2, int X, int Y)
 
virtual void Rotate (int X, int Y, double *p1, double *p2, double *vpn)
 
void MovePlusXFace (double *p1, double *p2)
 
void MoveMinusXFace (double *p1, double *p2)
 
void MovePlusYFace (double *p1, double *p2)
 
void MoveMinusYFace (double *p1, double *p2)
 
void MovePlusZFace (double *p1, double *p2)
 
void MoveMinusZFace (double *p1, double *p2)
 
void MoveFace (double *p1, double *p2, double *dir, double *x1, double *x2, double *x3, double *x4, double *x5)
 
void GetDirection (const double Nx[3], const double Ny[3], const double Nz[3], double dir[3])
 
void CreateDefaultProperties ()
 
void GenerateOutline ()
 
- Protected Member Functions inherited from vtk3DWidget
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtk3DWidget ()
 
 ~vtk3DWidget () override
 
void AdjustBounds (double bounds[6], double newBounds[6], double center[3])
 
double SizeHandles (double factor)
 
virtual void SizeHandles ()
 
void UpdateInput ()
 
- Protected Member Functions inherited from vtkInteractorObserver
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkInteractorObserver ()
 
 ~vtkInteractorObserver () override
 
virtual void RegisterPickers ()
 Register internal Pickers in the Picking Manager.
 
void UnRegisterPickers ()
 Unregister internal pickers from the Picking Manager.
 
vtkPickingManagerGetPickingManager ()
 Return the picking manager associated on the context on which the observer currently belong.
 
vtkAssemblyPathGetAssemblyPath (double X, double Y, double Z, vtkAbstractPropPicker *picker)
 Proceed to a pick, whether through the PickingManager if the picking is managed or directly using the picker, and return the assembly path.
 
int RequestCursorShape (int requestedShape)
 
virtual void StartInteraction ()
 Utility routines used to start and end interaction.
 
virtual void EndInteraction ()
 Utility routines used to start and end interaction.
 
void ComputeDisplayToWorld (double x, double y, double z, double worldPt[4])
 Helper method for subclasses.
 
void ComputeWorldToDisplay (double x, double y, double z, double displayPt[3])
 Helper method for subclasses.
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void ObjectFinalize ()
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Static Protected Member Functions

static void ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)
 
- Static Protected Member Functions inherited from vtkInteractorObserver
static void ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)
 Handles the char widget activation event.
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 

Protected Attributes

int State
 
vtkActorHexActor
 
vtkPolyDataMapperHexMapper
 
vtkPolyDataHexPolyData
 
vtkPointsPoints
 
double N [6][3]
 
vtkActorHexFace
 
vtkPolyDataMapperHexFaceMapper
 
vtkPolyDataHexFacePolyData
 
vtkActor ** Handle
 
vtkPolyDataMapper ** HandleMapper
 
vtkSphereSource ** HandleGeometry
 
vtkActorHexOutline
 
vtkPolyDataMapperOutlineMapper
 
vtkPolyDataOutlinePolyData
 
vtkCellPickerHandlePicker
 
vtkCellPickerHexPicker
 
vtkActorCurrentHandle
 
int CurrentHexFace
 
vtkTransformTransform
 
vtkPropertyHandleProperty
 
vtkPropertySelectedHandleProperty
 
vtkPropertyFaceProperty
 
vtkPropertySelectedFaceProperty
 
vtkPropertyOutlineProperty
 
vtkPropertySelectedOutlineProperty
 
vtkTypeBool InsideOut
 
int OutlineFaceWires
 
int OutlineCursorWires
 
vtkTypeBool TranslationEnabled
 
vtkTypeBool ScalingEnabled
 
vtkTypeBool RotationEnabled
 
- Protected Attributes inherited from vtk3DWidget
vtkProp3DProp3D
 
vtk3DWidgetConnection * ConnectionHolder
 
double PlaceFactor
 
int Placed
 
double InitialBounds [6]
 
double InitialLength
 
double HandleSize
 
int ValidPick
 
double LastPickPosition [3]
 
- Protected Attributes inherited from vtkInteractorObserver
int Enabled
 
vtkCallbackCommandEventCallbackCommand
 
vtkCallbackCommandKeyPressCallbackCommand
 
float Priority
 
bool PickingManaged
 
vtkTypeBool KeyPressActivation
 
char KeyPressActivationValue
 
vtkRenderWindowInteractorInteractor
 
vtkRendererCurrentRenderer
 
vtkRendererDefaultRenderer
 
unsigned long CharObserverTag
 
unsigned long DeleteObserverTag
 
vtkObserverMediatorObserverMediator
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

orthogonal hexahedron 3D widget

This 3D widget defines a region of interest that is represented by an arbitrarily oriented hexahedron with interior face angles of 90 degrees (orthogonal faces). The object creates 7 handles that can be moused on and manipulated. The first six correspond to the six faces, the seventh is in the center of the hexahedron. In addition, a bounding box outline is shown, the "faces" of which can be selected for object rotation or scaling. A nice feature of the object is that the vtkBoxWidget, like any 3D widget, will work with the current interactor style. That is, if vtkBoxWidget does not handle an event, then all other registered observers (including the interactor style) have an opportunity to process the event. Otherwise, the vtkBoxWidget will terminate the processing of the event that it handles.

To use this object, just invoke SetInteractor() with the argument of the method a vtkRenderWindowInteractor. You may also wish to invoke "PlaceWidget()" to initially position the widget. The interactor will act normally until the "i" key (for "interactor") is pressed, at which point the vtkBoxWidget will appear. (See superclass documentation for information about changing this behavior.) By grabbing the six face handles (use the left mouse button), faces can be moved. By grabbing the center handle (with the left mouse button), the entire hexahedron can be translated. (Translation can also be employed by using the "shift-left-mouse-button" combination inside of the widget.) Scaling is achieved by using the right mouse button "up" the render window (makes the widget bigger) or "down" the render window (makes the widget smaller). To rotate vtkBoxWidget, pick a face (but not a face handle) and move the left mouse. (Note: the mouse button must be held down during manipulation.) Events that occur outside of the widget (i.e., no part of the widget is picked) are propagated to any other registered obsevers (such as the interaction style). Turn off the widget by pressing the "i" key again. (See the superclass documentation on key press activiation.)

The vtkBoxWidget is very flexible. It can be used to select, cut, clip, or perform any other operation that depends on an implicit function (use the GetPlanes() method); or it can be used to transform objects using a linear transformation (use the GetTransform() method). Typical usage of the widget is to make use of the StartInteractionEvent, InteractionEvent, and EndInteractionEvent events. The InteractionEvent is called on mouse motion; the other two events are called on button down and button up (either left or right button).

Some additional features of this class include the ability to control the rendered properties of the widget. You can set the properties of the selected and unselected representations of the parts of the widget. For example, you can set the property for the handles, faces, and outline in their normal and selected states.

The box widget can be oriented by specifying a transformation matrix. This transformation is applied to the initial bounding box as defined by the PlaceWidget() method. DO NOT ASSUME that the transformation is applied to a unit box centered at the origin; this is wrong!

See also
vtk3DWidget vtkPointWidget vtkLineWidget vtkPlaneWidget vtkImplicitPlaneWidget vtkImagePlaneWidget
Events:
vtkCommand::DisableEvent vtkCommand::EnableEvent vtkCommand::EndInteractionEvent vtkCommand::InteractionEvent vtkCommand::StartInteractionEvent
Examples:
vtkBoxWidget (Examples)
Online Examples:

Tests:
vtkBoxWidget (Tests)

Definition at line 119 of file vtkBoxWidget.h.

Member Typedef Documentation

◆ Superclass

Definition at line 127 of file vtkBoxWidget.h.

Member Enumeration Documentation

◆ WidgetState

enum vtkBoxWidget::WidgetState
protected
Enumerator
Start 
Moving 
Scaling 
Outside 

Definition at line 278 of file vtkBoxWidget.h.

Constructor & Destructor Documentation

◆ vtkBoxWidget()

vtkBoxWidget::vtkBoxWidget ( )
protected

◆ ~vtkBoxWidget()

vtkBoxWidget::~vtkBoxWidget ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkBoxWidget * vtkBoxWidget::New ( )
static

Instantiate the object.

◆ IsTypeOf()

static vtkTypeBool vtkBoxWidget::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkBoxWidget::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtk3DWidget.

◆ SafeDownCast()

static vtkBoxWidget * vtkBoxWidget::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkBoxWidget::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtk3DWidget.

◆ NewInstance()

vtkBoxWidget * vtkBoxWidget::NewInstance ( ) const

◆ PrintSelf()

void vtkBoxWidget::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtk3DWidget.

◆ SetEnabled()

void vtkBoxWidget::SetEnabled ( int  )
overridevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtkInteractorObserver.

◆ PlaceWidget() [1/3]

void vtkBoxWidget::PlaceWidget ( double  bounds[6])
overridevirtual

Methods that satisfy the superclass' API.

Implements vtk3DWidget.

◆ PlaceWidget() [2/3]

void vtkBoxWidget::PlaceWidget ( )
inlineoverridevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtk3DWidget.

Definition at line 136 of file vtkBoxWidget.h.

◆ PlaceWidget() [3/3]

void vtkBoxWidget::PlaceWidget ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)
inlineoverridevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtk3DWidget.

Definition at line 137 of file vtkBoxWidget.h.

◆ GetPlanes()

void vtkBoxWidget::GetPlanes ( vtkPlanes planes)

Get the planes describing the implicit function defined by the box widget.

The user must provide the instance of the class vtkPlanes. Note that vtkPlanes is a subclass of vtkImplicitFunction, meaning that it can be used by a variety of filters to perform clipping, cutting, and selection of data. (The direction of the normals of the planes can be reversed enabling the InsideOut flag.)

◆ SetInsideOut()

virtual void vtkBoxWidget::SetInsideOut ( vtkTypeBool  )
virtual

Set/Get the InsideOut flag.

When off, the normals point out of the box. When on, the normals point into the hexahedron. InsideOut is off by default.

◆ GetInsideOut()

virtual vtkTypeBool vtkBoxWidget::GetInsideOut ( )
virtual

Set/Get the InsideOut flag.

When off, the normals point out of the box. When on, the normals point into the hexahedron. InsideOut is off by default.

◆ InsideOutOn()

virtual void vtkBoxWidget::InsideOutOn ( )
virtual

Set/Get the InsideOut flag.

When off, the normals point out of the box. When on, the normals point into the hexahedron. InsideOut is off by default.

◆ InsideOutOff()

virtual void vtkBoxWidget::InsideOutOff ( )
virtual

Set/Get the InsideOut flag.

When off, the normals point out of the box. When on, the normals point into the hexahedron. InsideOut is off by default.

◆ GetTransform()

virtual void vtkBoxWidget::GetTransform ( vtkTransform t)
virtual

Retrieve a linear transform characterizing the transformation of the box.

Note that the transformation is relative to where PlaceWidget was initially called. This method modifies the transform provided. The transform can be used to control the position of vtkProp3D's, as well as other transformation operations (e.g., vtkTransformPolyData).

◆ SetTransform()

virtual void vtkBoxWidget::SetTransform ( vtkTransform t)
virtual

Set the position, scale and orientation of the box widget using the transform specified.

Note that the transformation is relative to where PlaceWidget was initially called (i.e., the original bounding box).

◆ GetPolyData()

void vtkBoxWidget::GetPolyData ( vtkPolyData pd)

Grab the polydata (including points) that define the box widget.

The polydata consists of 6 quadrilateral faces and 15 points. The first eight points define the eight corner vertices; the next six define the -x,+x, -y,+y, -z,+z face points; and the final point (the 15th out of 15 points) defines the center of the hexahedron. These point values are guaranteed to be up-to-date when either the InteractionEvent or EndInteractionEvent events are invoked. The user provides the vtkPolyData and the points and cells are added to it.

◆ GetHandleProperty()

virtual vtkProperty * vtkBoxWidget::GetHandleProperty ( )
virtual

Get the handle properties (the little balls are the handles).

The properties of the handles when selected and normal can be set.

◆ GetSelectedHandleProperty()

virtual vtkProperty * vtkBoxWidget::GetSelectedHandleProperty ( )
virtual

Get the handle properties (the little balls are the handles).

The properties of the handles when selected and normal can be set.

◆ HandlesOn()

void vtkBoxWidget::HandlesOn ( )

Switches handles (the spheres) on or off by manipulating the actor visibility.

◆ HandlesOff()

void vtkBoxWidget::HandlesOff ( )

Switches handles (the spheres) on or off by manipulating the actor visibility.

◆ GetFaceProperty()

virtual vtkProperty * vtkBoxWidget::GetFaceProperty ( )
virtual

Get the face properties (the faces of the box).

The properties of the face when selected and normal can be set.

◆ GetSelectedFaceProperty()

virtual vtkProperty * vtkBoxWidget::GetSelectedFaceProperty ( )
virtual

Get the face properties (the faces of the box).

The properties of the face when selected and normal can be set.

◆ GetOutlineProperty()

virtual vtkProperty * vtkBoxWidget::GetOutlineProperty ( )
virtual

Get the outline properties (the outline of the box).

The properties of the outline when selected and normal can be set.

◆ GetSelectedOutlineProperty()

virtual vtkProperty * vtkBoxWidget::GetSelectedOutlineProperty ( )
virtual

Get the outline properties (the outline of the box).

The properties of the outline when selected and normal can be set.

◆ SetOutlineFaceWires()

void vtkBoxWidget::SetOutlineFaceWires ( int  )

Control the representation of the outline.

This flag enables face wires. By default face wires are off.

◆ GetOutlineFaceWires()

virtual int vtkBoxWidget::GetOutlineFaceWires ( )
virtual

Control the representation of the outline.

This flag enables face wires. By default face wires are off.

◆ OutlineFaceWiresOn()

void vtkBoxWidget::OutlineFaceWiresOn ( )
inline

Control the representation of the outline.

This flag enables face wires. By default face wires are off.

Definition at line 240 of file vtkBoxWidget.h.

◆ OutlineFaceWiresOff()

void vtkBoxWidget::OutlineFaceWiresOff ( )
inline

Control the representation of the outline.

This flag enables face wires. By default face wires are off.

Definition at line 241 of file vtkBoxWidget.h.

◆ SetOutlineCursorWires()

void vtkBoxWidget::SetOutlineCursorWires ( int  )

Control the representation of the outline.

This flag enables the cursor lines running between the handles. By default cursor wires are on.

◆ GetOutlineCursorWires()

virtual int vtkBoxWidget::GetOutlineCursorWires ( )
virtual

Control the representation of the outline.

This flag enables the cursor lines running between the handles. By default cursor wires are on.

◆ OutlineCursorWiresOn()

void vtkBoxWidget::OutlineCursorWiresOn ( )
inline

Control the representation of the outline.

This flag enables the cursor lines running between the handles. By default cursor wires are on.

Definition at line 252 of file vtkBoxWidget.h.

◆ OutlineCursorWiresOff()

void vtkBoxWidget::OutlineCursorWiresOff ( )
inline

Control the representation of the outline.

This flag enables the cursor lines running between the handles. By default cursor wires are on.

Definition at line 253 of file vtkBoxWidget.h.

◆ SetTranslationEnabled()

virtual void vtkBoxWidget::SetTranslationEnabled ( vtkTypeBool  )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ GetTranslationEnabled()

virtual vtkTypeBool vtkBoxWidget::GetTranslationEnabled ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ TranslationEnabledOn()

virtual void vtkBoxWidget::TranslationEnabledOn ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ TranslationEnabledOff()

virtual void vtkBoxWidget::TranslationEnabledOff ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ SetScalingEnabled()

virtual void vtkBoxWidget::SetScalingEnabled ( vtkTypeBool  )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ GetScalingEnabled()

virtual vtkTypeBool vtkBoxWidget::GetScalingEnabled ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ ScalingEnabledOn()

virtual void vtkBoxWidget::ScalingEnabledOn ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ ScalingEnabledOff()

virtual void vtkBoxWidget::ScalingEnabledOff ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ SetRotationEnabled()

virtual void vtkBoxWidget::SetRotationEnabled ( vtkTypeBool  )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ GetRotationEnabled()

virtual vtkTypeBool vtkBoxWidget::GetRotationEnabled ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ RotationEnabledOn()

virtual void vtkBoxWidget::RotationEnabledOn ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ RotationEnabledOff()

virtual void vtkBoxWidget::RotationEnabledOff ( )
virtual

Control the behavior of the widget.

Translation, rotation, and scaling can all be enabled and disabled.

◆ ProcessEvents()

static void vtkBoxWidget::ProcessEvents ( vtkObject object,
unsigned long  event,
void *  clientdata,
void *  calldata 
)
staticprotected

◆ OnMouseMove()

virtual void vtkBoxWidget::OnMouseMove ( )
protectedvirtual

◆ OnLeftButtonDown()

virtual void vtkBoxWidget::OnLeftButtonDown ( )
protectedvirtual

◆ OnLeftButtonUp()

virtual void vtkBoxWidget::OnLeftButtonUp ( )
protectedvirtual

◆ OnMiddleButtonDown()

virtual void vtkBoxWidget::OnMiddleButtonDown ( )
protectedvirtual

◆ OnMiddleButtonUp()

virtual void vtkBoxWidget::OnMiddleButtonUp ( )
protectedvirtual

◆ OnRightButtonDown()

virtual void vtkBoxWidget::OnRightButtonDown ( )
protectedvirtual

◆ OnRightButtonUp()

virtual void vtkBoxWidget::OnRightButtonUp ( )
protectedvirtual

◆ PositionHandles()

virtual void vtkBoxWidget::PositionHandles ( )
protectedvirtual

◆ HighlightHandle()

int vtkBoxWidget::HighlightHandle ( vtkProp prop)
protected

◆ HighlightFace()

void vtkBoxWidget::HighlightFace ( int  cellId)
protected

◆ HighlightOutline()

void vtkBoxWidget::HighlightOutline ( int  highlight)
protected

◆ ComputeNormals()

void vtkBoxWidget::ComputeNormals ( )
protected

◆ SizeHandles()

void vtkBoxWidget::SizeHandles ( )
overrideprotectedvirtual

Reimplemented from vtk3DWidget.

◆ RegisterPickers()

void vtkBoxWidget::RegisterPickers ( )
overrideprotectedvirtual

Register internal Pickers in the Picking Manager.

Must be reimplemented by concrete widgets to register their pickers.

Reimplemented from vtkInteractorObserver.

◆ Translate()

virtual void vtkBoxWidget::Translate ( double *  p1,
double *  p2 
)
protectedvirtual

◆ Scale()

virtual void vtkBoxWidget::Scale ( double *  p1,
double *  p2,
int  X,
int  Y 
)
protectedvirtual

◆ Rotate()

virtual void vtkBoxWidget::Rotate ( int  X,
int  Y,
double *  p1,
double *  p2,
double *  vpn 
)
protectedvirtual

◆ MovePlusXFace()

void vtkBoxWidget::MovePlusXFace ( double *  p1,
double *  p2 
)
protected

◆ MoveMinusXFace()

void vtkBoxWidget::MoveMinusXFace ( double *  p1,
double *  p2 
)
protected

◆ MovePlusYFace()

void vtkBoxWidget::MovePlusYFace ( double *  p1,
double *  p2 
)
protected

◆ MoveMinusYFace()

void vtkBoxWidget::MoveMinusYFace ( double *  p1,
double *  p2 
)
protected

◆ MovePlusZFace()

void vtkBoxWidget::MovePlusZFace ( double *  p1,
double *  p2 
)
protected

◆ MoveMinusZFace()

void vtkBoxWidget::MoveMinusZFace ( double *  p1,
double *  p2 
)
protected

◆ MoveFace()

void vtkBoxWidget::MoveFace ( double *  p1,
double *  p2,
double *  dir,
double *  x1,
double *  x2,
double *  x3,
double *  x4,
double *  x5 
)
protected

◆ GetDirection()

void vtkBoxWidget::GetDirection ( const double  Nx[3],
const double  Ny[3],
const double  Nz[3],
double  dir[3] 
)
protected

◆ CreateDefaultProperties()

void vtkBoxWidget::CreateDefaultProperties ( )
protected

◆ GenerateOutline()

void vtkBoxWidget::GenerateOutline ( )
protected

Member Data Documentation

◆ State

int vtkBoxWidget::State
protected

Definition at line 277 of file vtkBoxWidget.h.

◆ HexActor

vtkActor* vtkBoxWidget::HexActor
protected

Definition at line 300 of file vtkBoxWidget.h.

◆ HexMapper

vtkPolyDataMapper* vtkBoxWidget::HexMapper
protected

Definition at line 301 of file vtkBoxWidget.h.

◆ HexPolyData

vtkPolyData* vtkBoxWidget::HexPolyData
protected

Definition at line 302 of file vtkBoxWidget.h.

◆ Points

vtkPoints* vtkBoxWidget::Points
protected

Definition at line 303 of file vtkBoxWidget.h.

◆ N

double vtkBoxWidget::N[6][3]
protected

Definition at line 304 of file vtkBoxWidget.h.

◆ HexFace

vtkActor* vtkBoxWidget::HexFace
protected

Definition at line 307 of file vtkBoxWidget.h.

◆ HexFaceMapper

vtkPolyDataMapper* vtkBoxWidget::HexFaceMapper
protected

Definition at line 308 of file vtkBoxWidget.h.

◆ HexFacePolyData

vtkPolyData* vtkBoxWidget::HexFacePolyData
protected

Definition at line 309 of file vtkBoxWidget.h.

◆ Handle

vtkActor** vtkBoxWidget::Handle
protected

Definition at line 312 of file vtkBoxWidget.h.

◆ HandleMapper

vtkPolyDataMapper** vtkBoxWidget::HandleMapper
protected

Definition at line 313 of file vtkBoxWidget.h.

◆ HandleGeometry

vtkSphereSource** vtkBoxWidget::HandleGeometry
protected

Definition at line 314 of file vtkBoxWidget.h.

◆ HexOutline

vtkActor* vtkBoxWidget::HexOutline
protected

Definition at line 323 of file vtkBoxWidget.h.

◆ OutlineMapper

vtkPolyDataMapper* vtkBoxWidget::OutlineMapper
protected

Definition at line 324 of file vtkBoxWidget.h.

◆ OutlinePolyData

vtkPolyData* vtkBoxWidget::OutlinePolyData
protected

Definition at line 325 of file vtkBoxWidget.h.

◆ HandlePicker

vtkCellPicker* vtkBoxWidget::HandlePicker
protected

Definition at line 328 of file vtkBoxWidget.h.

◆ HexPicker

vtkCellPicker* vtkBoxWidget::HexPicker
protected

Definition at line 329 of file vtkBoxWidget.h.

◆ CurrentHandle

vtkActor* vtkBoxWidget::CurrentHandle
protected

Definition at line 330 of file vtkBoxWidget.h.

◆ CurrentHexFace

int vtkBoxWidget::CurrentHexFace
protected

Definition at line 331 of file vtkBoxWidget.h.

◆ Transform

vtkTransform* vtkBoxWidget::Transform
protected

Definition at line 356 of file vtkBoxWidget.h.

◆ HandleProperty

vtkProperty* vtkBoxWidget::HandleProperty
protected

Definition at line 360 of file vtkBoxWidget.h.

◆ SelectedHandleProperty

vtkProperty* vtkBoxWidget::SelectedHandleProperty
protected

Definition at line 361 of file vtkBoxWidget.h.

◆ FaceProperty

vtkProperty* vtkBoxWidget::FaceProperty
protected

Definition at line 362 of file vtkBoxWidget.h.

◆ SelectedFaceProperty

vtkProperty* vtkBoxWidget::SelectedFaceProperty
protected

Definition at line 363 of file vtkBoxWidget.h.

◆ OutlineProperty

vtkProperty* vtkBoxWidget::OutlineProperty
protected

Definition at line 364 of file vtkBoxWidget.h.

◆ SelectedOutlineProperty

vtkProperty* vtkBoxWidget::SelectedOutlineProperty
protected

Definition at line 365 of file vtkBoxWidget.h.

◆ InsideOut

vtkTypeBool vtkBoxWidget::InsideOut
protected

Definition at line 369 of file vtkBoxWidget.h.

◆ OutlineFaceWires

int vtkBoxWidget::OutlineFaceWires
protected

Definition at line 370 of file vtkBoxWidget.h.

◆ OutlineCursorWires

int vtkBoxWidget::OutlineCursorWires
protected

Definition at line 371 of file vtkBoxWidget.h.

◆ TranslationEnabled

vtkTypeBool vtkBoxWidget::TranslationEnabled
protected

Definition at line 375 of file vtkBoxWidget.h.

◆ ScalingEnabled

vtkTypeBool vtkBoxWidget::ScalingEnabled
protected

Definition at line 376 of file vtkBoxWidget.h.

◆ RotationEnabled

vtkTypeBool vtkBoxWidget::RotationEnabled
protected

Definition at line 377 of file vtkBoxWidget.h.


The documentation for this class was generated from the following file: