/usr/include/vtk-5.8/vtkParallelopipedWidget.h is in libvtk5-dev 5.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkParallelopipedWidget.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkParallelopipedWidget - a widget to manipulate 3D parallelopipeds
//
// .SECTION Description
// This widget was designed with the aim of visualizing / probing cuts on
// a skewed image data / structured grid.
//
// .SECTION Interaction
// The widget allows you to create a parallelopiped (defined by 8 handles).
// The widget is initially placed by using the "PlaceWidget" method in the
// representation class. After the widget has been created, the following
// interactions may be used to manipulate it :
// 1) Click on a handle and drag it around moves the handle in space, while
// keeping the same axis alignment of the parallelopiped
// 2) Dragging a handle with the shift button pressed resizes the piped
// along an axis.
// 3) Control-click on a handle creates a chair at that position. (A chair
// is a depression in the piped that allows you to visualize cuts in the
// volume).
// 4) Clicking on a chair and dragging it around moves the chair within the
// piped.
// 5) Shift-click on the piped enables you to translate it.
//
// .SECTION Caveats
// .SECTION See Also vtkParallelopipedRepresentation
#ifndef __vtkParallelopipedWidget_h
#define __vtkParallelopipedWidget_h
#include "vtkAbstractWidget.h"
class vtkParallelopipedRepresentation;
class vtkHandleWidget;
class vtkWidgetSet;
class VTK_WIDGETS_EXPORT vtkParallelopipedWidget : public vtkAbstractWidget
{
//BTX
friend class vtkWidgetSet;
//ETX
public:
// Description:
// Instantiate the object.
static vtkParallelopipedWidget *New();
vtkTypeMacro(vtkParallelopipedWidget,vtkAbstractWidget);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Override the superclass method. This is a composite widget, (it internally
// consists of handle widgets). We will override the superclass method, so
// that we can pass the enabled state to the internal widgets as well.
virtual void SetEnabled(int);
// Description:
// Specify an instance of vtkWidgetRepresentation used to represent this
// widget in the scene. Note that the representation is a subclass of vtkProp
// so it can be added to the renderer independent of the widget.
void SetRepresentation(vtkParallelopipedRepresentation *r)
{
this->Superclass::SetWidgetRepresentation(
reinterpret_cast<vtkWidgetRepresentation*>(r));
}
// Description:
// Return the representation as a vtkParallelopipedRepresentation.
vtkParallelopipedRepresentation *GetParallelopipedRepresentation()
{return reinterpret_cast<vtkParallelopipedRepresentation*>(this->WidgetRep);}
// Description:
// Enable/disable the creation of a chair on this widget. If off,
// chairs cannot be created.
vtkSetMacro(EnableChairCreation,int);
vtkGetMacro(EnableChairCreation,int);
vtkBooleanMacro(EnableChairCreation,int);
// Description:
// Create the default widget representation if one is not set.
void CreateDefaultRepresentation();
// Description:
// Methods to change the whether the widget responds to interaction.
// Overridden to pass the state to component widgets.
virtual void SetProcessEvents(int);
protected:
vtkParallelopipedWidget();
~vtkParallelopipedWidget();
static void RequestResizeCallback (vtkAbstractWidget* );
static void RequestResizeAlongAnAxisCallback (vtkAbstractWidget* );
static void RequestChairModeCallback (vtkAbstractWidget* );
static void TranslateCallback (vtkAbstractWidget* );
static void OnMouseMoveCallback (vtkAbstractWidget* );
static void OnLeftButtonUpCallback (vtkAbstractWidget* );
// Control whether chairs can be created
int EnableChairCreation;
// Description:
void BeginTranslateAction ( vtkParallelopipedWidget *dispatcher);
void TranslateAction ( vtkParallelopipedWidget *dispatcher);
// helper methods for cursor management
void SetCursor(int state);
// To break reference count loops
virtual void ReportReferences(vtkGarbageCollector* collector);
// The positioning handle widgets
vtkHandleWidget **HandleWidgets;
//BTX
// Description:
// Events invoked by this widget
enum WidgetEventIds
{
RequestResizeEvent = 10000,
RequestResizeAlongAnAxisEvent,
RequestChairModeEvent
};
//ETX
vtkWidgetSet* WidgetSet;
private:
vtkParallelopipedWidget(const vtkParallelopipedWidget&); //Not implemented
void operator=(const vtkParallelopipedWidget&); //Not implemented
};
#endif
|