/usr/include/vtk-6.3/vtkGeoInteractorStyle.h is in libvtk6-dev 6.3.0+dfsg1-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 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkGeoInteractorStyle.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.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright 2008 Sandia Corporation.
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
// .NAME vtkGeoInteractorStyle - Interaction for a globe
//
// .SECTION Description
// vtkGeoInteractorStyle contains interaction capabilities for a geographic
// view including orbit, zoom, and tilt. It also includes a compass widget
// for changing view parameters.
//
// .SECTION See Also
// vtkCompassWidget vtkInteractorStyle
#ifndef vtkGeoInteractorStyle_h
#define vtkGeoInteractorStyle_h
#include "vtkGeovisCoreModule.h" // For export macro
#include "vtkInteractorStyleTrackballCamera.h"
#include "vtkSmartPointer.h" // for SP
class vtkCamera;
class vtkCommand;
class vtkCompassWidget;
class vtkGeoCamera;
class vtkUnsignedCharArray;
class VTKGEOVISCORE_EXPORT vtkGeoInteractorStyle :
public vtkInteractorStyleTrackballCamera
{
public:
static vtkGeoInteractorStyle *New();
vtkTypeMacro(vtkGeoInteractorStyle,
vtkInteractorStyleTrackballCamera);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Event bindings
virtual void OnEnter();
virtual void OnLeave();
virtual void OnMouseMove();
virtual void OnLeftButtonUp();
virtual void OnMiddleButtonUp();
virtual void OnRightButtonUp();
virtual void OnLeftButtonDown();
virtual void OnMiddleButtonDown();
virtual void OnRightButtonDown();
virtual void OnChar();
virtual void RubberBandZoom();
virtual void Pan();
virtual void Dolly();
// Public for render callback.
void RedrawRectangle();
// See cxx for description of why we need this method.
void StartState(int newstate);
// Used for updating the terrain.
vtkGeoCamera* GetGeoCamera();
// Description:
// This can be used to set the camera to the standard view of the earth.
void ResetCamera();
//! Called when the sub widgets have an interaction
void WidgetInteraction(vtkObject *caller);
// Description:
// Set/Get the Interactor wrapper being controlled by this object.
// (Satisfy superclass API.)
virtual void SetInteractor(vtkRenderWindowInteractor *interactor);
int ViewportToWorld(double x, double y,
double &wx, double &wy, double &wz);
void WorldToLongLat(double wx, double wy, double wz,
double &lon, double &lat);
void ViewportToLongLat(double x, double y,
double &lon, double &lat);
int GetRayIntersection(double origin[3],
double direction[3],
double intersection[3]);
// Description:
// Override to make the renderer use this camera subclass
virtual void SetCurrentRenderer(vtkRenderer*);
// Description:
// Whether to lock the heading a particular value during pan.
vtkGetMacro(LockHeading, bool);
vtkSetMacro(LockHeading, bool);
vtkBooleanMacro(LockHeading, bool);
// Description:
// Called after camera properties are modified
void ResetCameraClippingRange();
protected:
vtkGeoInteractorStyle();
~vtkGeoInteractorStyle();
// To avoid a warning.
// We should really inherit directy from vtkInteractorStyle
virtual void Dolly(double);
void OnTimer();
// Used to get a constant speed regardless of frame rate.
double LastTime;
// Rubberband zoom has a verification stage.
int RubberBandExtent[4];
int RubberBandExtentEnabled;
int RenderCallbackTag;
void EnableRubberBandRedraw();
void DisableRubberBandRedraw();
bool InRubberBandRectangle(int x, int y);
void DrawRectangle();
void KeepCameraAboveGround(vtkCamera* camera);
void UpdateLights();
void GetPanCenter(double &px, double &py);
int StartPosition[2];
int EndPosition[2];
int DraggingRubberBandBoxState;
double MotionFactor;
vtkUnsignedCharArray *PixelArray;
int PixelDims[2];
bool LockHeading;
//BTX
vtkSmartPointer<vtkGeoCamera> GeoCamera;
// widget handling members
vtkSmartPointer<vtkCompassWidget> CompassWidget;
vtkSmartPointer<vtkCommand> EventCommand;
//ETX
private:
vtkGeoInteractorStyle(const vtkGeoInteractorStyle&); // Not implemented.
void operator=(const vtkGeoInteractorStyle&); // Not implemented.
};
#endif
|