1#!/usr/bin/env python 2import vtk 3import vtk.test.Testing 4from vtk.util.misc import vtkGetDataRoot 5VTK_DATA_ROOT = vtkGetDataRoot() 6 7# This script exercises vtkInteractorStyleUser. It creates some 8# simple bindings for the mouse bottons and scroll wheel. 9 10# Helper math stuff 11import math 12def magnitude(v): 13 return math.sqrt(sum(v[i]*v[i] for i in range(0,3))) 14def dot(u, v): 15 return sum(u[i]*v[i] for i in range(0,3)) 16def normalize(v): 17 vmag = magnitude(v) 18 return [ v[i]/vmag for i in range(0,3) ] 19 20# Variables local to this module 21left = 0 22middle = 0 23right = 0 24 25oldPickD = [] 26newPickD = [] 27oldPickW = [0,0,0,0] 28newPickW = [0,0,0,0] 29fpD = [0,0,0] 30motionD = [0,0] 31motionW = [0,0,0] 32cam = "" 33 34# The binding actions are defined below 35# This general method computes some common information from mouse 36# motion and button presses. 37def getMotion(iRen,ren): 38 global oldPickD, newPickD, oldPickW, newPickW, fpD, fpW, posW 39 global motionD, motionW, cam 40 style = iRen.GetInteractorStyle() 41 oldPickD = iRen.GetLastEventPosition() 42 newPickD = iRen.GetEventPosition() 43 motionD[0] = newPickD[0] - oldPickD[0]; 44 motionD[1] = newPickD[1] - oldPickD[1]; 45 cam = ren.GetActiveCamera() 46 fpW = cam.GetFocalPoint() 47 posW = cam.GetPosition() 48 style.ComputeWorldToDisplay(ren, fpW[0], fpW[1], fpW[2], fpD) 49 focalDepth = fpD[2] 50 style.ComputeDisplayToWorld(ren,oldPickD[0],oldPickD[1],focalDepth,oldPickW) 51 style.ComputeDisplayToWorld(ren,newPickD[0],newPickD[1],focalDepth,newPickW) 52 motionW[0] = oldPickW[0] - newPickW[0] 53 motionW[1] = oldPickW[1] - newPickW[1] 54 motionW[2] = oldPickW[2] - newPickW[2] 55 56# Left mouse button is pan 57def mouseLeftMove(iRen,ren): 58 getMotion(iRen,ren) 59 cam.SetFocalPoint(fpW[0]+motionW[0],fpW[1]+motionW[1],fpW[2]+motionW[2]) 60 cam.SetPosition(posW[0]+motionW[0],posW[1]+motionW[1],posW[2]+motionW[2]) 61 iRen.Render() 62 63# Mouse middle button up/down is elevation, and left and right is azimuth 64def mouseMiddleMove(iRen,ren): 65 getMotion(iRen,ren) 66 if abs(motionD[0]) > abs(motionD[1]): 67 cam.Azimuth(-2.0*motionD[0]) 68 else: 69 vup = cam.GetViewUp() 70 normalize(vup) 71 dop = cam.GetDirectionOfProjection(); 72 normalize(dop) 73 theta = math.degrees( math.acos(-dot(vup,dop)) ) 74 cam.Elevation(-motionD[1]) 75 iRen.Render() 76 77# Right mouse button is rotate (left/right movement) and zoom in/out (up/down 78# movement) 79def mouseRightMove(iRen,ren): 80 getMotion(iRen,ren) 81 if abs(motionD[0]) > abs(motionD[1]): 82 cam.Azimuth(-2.0*motionD[0]) 83 else: 84 cam.Zoom(1 + motionD[1]/100.0) 85 iRen.Render() 86 87# Mouse scroll wheel is zoom in/out 88def mouseWheelForward(iRen,ren): 89 cam = ren.GetActiveCamera() 90 cam.Zoom(1.1) 91 iRen.Render() 92def mouseWheelBackward(iRen,ren): 93 cam = ren.GetActiveCamera() 94 cam.Zoom(0.9) 95 iRen.Render() 96 97# The events to be played back 98Recording = \ 99 "# StreamVersion 1\n\ 100 EnterEvent 299 92 0 0 0 0 0\n\ 101 MouseMoveEvent 299 92 0 0 0 0 0\n\ 102 MouseMoveEvent 296 98 0 0 0 0 0\n\ 103 MouseMoveEvent 293 104 0 0 0 0 0\n\ 104 MouseMoveEvent 290 108 0 0 0 0 0\n\ 105 MouseMoveEvent 287 112 0 0 0 0 0\n\ 106 MouseMoveEvent 285 116 0 0 0 0 0\n\ 107 MouseMoveEvent 282 120 0 0 0 0 0\n\ 108 MouseMoveEvent 281 122 0 0 0 0 0\n\ 109 MouseMoveEvent 279 124 0 0 0 0 0\n\ 110 MouseMoveEvent 277 126 0 0 0 0 0\n\ 111 MouseMoveEvent 276 127 0 0 0 0 0\n\ 112 MouseMoveEvent 275 128 0 0 0 0 0\n\ 113 MouseMoveEvent 273 129 0 0 0 0 0\n\ 114 MouseMoveEvent 272 130 0 0 0 0 0\n\ 115 MouseMoveEvent 271 131 0 0 0 0 0\n\ 116 MouseMoveEvent 269 132 0 0 0 0 0\n\ 117 LeftButtonPressEvent 269 132 0 0 0 0 0\n\ 118 MouseMoveEvent 268 132 0 0 0 0 0\n\ 119 MouseMoveEvent 267 132 0 0 0 0 0\n\ 120 MouseMoveEvent 267 132 0 0 0 0 0\n\ 121 MouseMoveEvent 265 132 0 0 0 0 0\n\ 122 MouseMoveEvent 263 132 0 0 0 0 0\n\ 123 MouseMoveEvent 260 132 0 0 0 0 0\n\ 124 MouseMoveEvent 258 132 0 0 0 0 0\n\ 125 MouseMoveEvent 255 133 0 0 0 0 0\n\ 126 MouseMoveEvent 250 134 0 0 0 0 0\n\ 127 MouseMoveEvent 246 135 0 0 0 0 0\n\ 128 MouseMoveEvent 245 136 0 0 0 0 0\n\ 129 MouseMoveEvent 243 136 0 0 0 0 0\n\ 130 MouseMoveEvent 242 136 0 0 0 0 0\n\ 131 MouseMoveEvent 241 136 0 0 0 0 0\n\ 132 MouseMoveEvent 240 136 0 0 0 0 0\n\ 133 MouseMoveEvent 239 136 0 0 0 0 0\n\ 134 MouseMoveEvent 238 136 0 0 0 0 0\n\ 135 MouseMoveEvent 237 136 0 0 0 0 0\n\ 136 MouseMoveEvent 235 136 0 0 0 0 0\n\ 137 MouseMoveEvent 231 136 0 0 0 0 0\n\ 138 MouseMoveEvent 230 136 0 0 0 0 0\n\ 139 MouseMoveEvent 227 136 0 0 0 0 0\n\ 140 MouseMoveEvent 224 136 0 0 0 0 0\n\ 141 MouseMoveEvent 219 136 0 0 0 0 0\n\ 142 MouseMoveEvent 215 136 0 0 0 0 0\n\ 143 MouseMoveEvent 211 136 0 0 0 0 0\n\ 144 MouseMoveEvent 208 136 0 0 0 0 0\n\ 145 MouseMoveEvent 205 136 0 0 0 0 0\n\ 146 MouseMoveEvent 203 136 0 0 0 0 0\n\ 147 MouseMoveEvent 201 136 0 0 0 0 0\n\ 148 MouseMoveEvent 199 136 0 0 0 0 0\n\ 149 MouseMoveEvent 197 136 0 0 0 0 0\n\ 150 MouseMoveEvent 194 136 0 0 0 0 0\n\ 151 MouseMoveEvent 191 136 0 0 0 0 0\n\ 152 MouseMoveEvent 189 136 0 0 0 0 0\n\ 153 MouseMoveEvent 187 136 0 0 0 0 0\n\ 154 MouseMoveEvent 185 136 0 0 0 0 0\n\ 155 MouseMoveEvent 181 136 0 0 0 0 0\n\ 156 MouseMoveEvent 178 136 0 0 0 0 0\n\ 157 MouseMoveEvent 175 136 0 0 0 0 0\n\ 158 MouseMoveEvent 172 136 0 0 0 0 0\n\ 159 MouseMoveEvent 168 136 0 0 0 0 0\n\ 160 MouseMoveEvent 163 136 0 0 0 0 0\n\ 161 MouseMoveEvent 159 136 0 0 0 0 0\n\ 162 MouseMoveEvent 157 136 0 0 0 0 0\n\ 163 MouseMoveEvent 155 136 0 0 0 0 0\n\ 164 MouseMoveEvent 154 136 0 0 0 0 0\n\ 165 MouseMoveEvent 153 136 0 0 0 0 0\n\ 166 MouseMoveEvent 152 136 0 0 0 0 0\n\ 167 MouseMoveEvent 151 136 0 0 0 0 0\n\ 168 MouseMoveEvent 151 136 0 0 0 0 0\n\ 169 MouseMoveEvent 153 135 0 0 0 0 0\n\ 170 MouseMoveEvent 157 135 0 0 0 0 0\n\ 171 MouseMoveEvent 163 133 0 0 0 0 0\n\ 172 MouseMoveEvent 173 133 0 0 0 0 0\n\ 173 MouseMoveEvent 180 133 0 0 0 0 0\n\ 174 MouseMoveEvent 187 132 0 0 0 0 0\n\ 175 MouseMoveEvent 197 132 0 0 0 0 0\n\ 176 MouseMoveEvent 206 132 0 0 0 0 0\n\ 177 MouseMoveEvent 212 131 0 0 0 0 0\n\ 178 MouseMoveEvent 216 131 0 0 0 0 0\n\ 179 MouseMoveEvent 218 131 0 0 0 0 0\n\ 180 MouseMoveEvent 221 131 0 0 0 0 0\n\ 181 MouseMoveEvent 221 131 0 0 0 0 0\n\ 182 MouseMoveEvent 222 131 0 0 0 0 0\n\ 183 MouseMoveEvent 223 131 0 0 0 0 0\n\ 184 MouseMoveEvent 225 130 0 0 0 0 0\n\ 185 MouseMoveEvent 225 130 0 0 0 0 0\n\ 186 MouseMoveEvent 227 130 0 0 0 0 0\n\ 187 MouseMoveEvent 227 130 0 0 0 0 0\n\ 188 MouseMoveEvent 229 130 0 0 0 0 0\n\ 189 MouseMoveEvent 231 130 0 0 0 0 0\n\ 190 MouseMoveEvent 233 130 0 0 0 0 0\n\ 191 MouseMoveEvent 234 130 0 0 0 0 0\n\ 192 MouseMoveEvent 235 130 0 0 0 0 0\n\ 193 MouseMoveEvent 237 130 0 0 0 0 0\n\ 194 MouseMoveEvent 238 130 0 0 0 0 0\n\ 195 MouseMoveEvent 239 130 0 0 0 0 0\n\ 196 MouseMoveEvent 239 130 0 0 0 0 0\n\ 197 MouseMoveEvent 239 130 0 0 0 0 0\n\ 198 MouseMoveEvent 238 130 0 0 0 0 0\n\ 199 MouseMoveEvent 237 130 0 0 0 0 0\n\ 200 MouseMoveEvent 235 130 0 0 0 0 0\n\ 201 MouseMoveEvent 234 130 0 0 0 0 0\n\ 202 MouseMoveEvent 233 130 0 0 0 0 0\n\ 203 LeftButtonReleaseEvent 233 130 0 0 0 0 0\n\ 204 MouseMoveEvent 233 130 0 0 0 0 0\n\ 205 MouseMoveEvent 231 129 0 0 0 0 0\n\ 206 MouseMoveEvent 228 128 0 0 0 0 0\n\ 207 MouseMoveEvent 227 126 0 0 0 0 0\n\ 208 MouseMoveEvent 226 126 0 0 0 0 0\n\ 209 MouseMoveEvent 224 125 0 0 0 0 0\n\ 210 MouseMoveEvent 219 124 0 0 0 0 0\n\ 211 MouseMoveEvent 217 124 0 0 0 0 0\n\ 212 MouseMoveEvent 216 123 0 0 0 0 0\n\ 213 MouseMoveEvent 215 122 0 0 0 0 0\n\ 214 MouseMoveEvent 213 122 0 0 0 0 0\n\ 215 MouseMoveEvent 212 122 0 0 0 0 0\n\ 216 MouseMoveEvent 209 121 0 0 0 0 0\n\ 217 MouseMoveEvent 208 120 0 0 0 0 0\n\ 218 MouseMoveEvent 207 120 0 0 0 0 0\n\ 219 MouseMoveEvent 205 118 0 0 0 0 0\n\ 220 MouseMoveEvent 204 117 0 0 0 0 0\n\ 221 MouseMoveEvent 204 118 0 0 0 0 0\n\ 222 MouseMoveEvent 204 122 0 0 0 0 0\n\ 223 MouseMoveEvent 204 125 0 0 0 0 0\n\ 224 MouseMoveEvent 204 129 0 0 0 0 0\n\ 225 MouseMoveEvent 204 133 0 0 0 0 0\n\ 226 MouseMoveEvent 204 136 0 0 0 0 0\n\ 227 MouseMoveEvent 204 140 0 0 0 0 0\n\ 228 MouseMoveEvent 204 142 0 0 0 0 0\n\ 229 MouseMoveEvent 204 145 0 0 0 0 0\n\ 230 MouseMoveEvent 204 147 0 0 0 0 0\n\ 231 MouseMoveEvent 204 149 0 0 0 0 0\n\ 232 MouseMoveEvent 204 152 0 0 0 0 0\n\ 233 MouseMoveEvent 205 154 0 0 0 0 0\n\ 234 MouseMoveEvent 205 156 0 0 0 0 0\n\ 235 MouseMoveEvent 205 158 0 0 0 0 0\n\ 236 MouseMoveEvent 206 160 0 0 0 0 0\n\ 237 MouseMoveEvent 206 162 0 0 0 0 0\n\ 238 MouseMoveEvent 207 163 0 0 0 0 0\n\ 239 MouseMoveEvent 207 166 0 0 0 0 0\n\ 240 MouseMoveEvent 207 168 0 0 0 0 0\n\ 241 MouseMoveEvent 207 169 0 0 0 0 0\n\ 242 MouseMoveEvent 208 169 0 0 0 0 0\n\ 243 MouseMoveEvent 208 170 0 0 0 0 0\n\ 244 MouseMoveEvent 208 172 0 0 0 0 0\n\ 245 MiddleButtonPressEvent 208 172 0 0 0 0 0\n\ 246 MouseMoveEvent 209 172 0 0 0 0 0\n\ 247 MouseMoveEvent 209 173 0 0 0 0 0\n\ 248 MouseMoveEvent 209 174 0 0 0 0 0\n\ 249 MouseMoveEvent 209 174 0 0 0 0 0\n\ 250 MouseMoveEvent 209 176 0 0 0 0 0\n\ 251 MouseMoveEvent 209 177 0 0 0 0 0\n\ 252 MouseMoveEvent 209 178 0 0 0 0 0\n\ 253 MouseMoveEvent 209 179 0 0 0 0 0\n\ 254 MouseMoveEvent 209 180 0 0 0 0 0\n\ 255 MouseMoveEvent 210 182 0 0 0 0 0\n\ 256 MouseMoveEvent 211 184 0 0 0 0 0\n\ 257 MouseMoveEvent 211 186 0 0 0 0 0\n\ 258 MouseMoveEvent 212 188 0 0 0 0 0\n\ 259 MouseMoveEvent 212 190 0 0 0 0 0\n\ 260 MouseMoveEvent 213 192 0 0 0 0 0\n\ 261 MouseMoveEvent 214 196 0 0 0 0 0\n\ 262 MouseMoveEvent 214 198 0 0 0 0 0\n\ 263 MouseMoveEvent 215 201 0 0 0 0 0\n\ 264 MouseMoveEvent 215 204 0 0 0 0 0\n\ 265 MouseMoveEvent 216 206 0 0 0 0 0\n\ 266 MouseMoveEvent 217 209 0 0 0 0 0\n\ 267 MouseMoveEvent 217 212 0 0 0 0 0\n\ 268 MouseMoveEvent 218 213 0 0 0 0 0\n\ 269 MouseMoveEvent 218 214 0 0 0 0 0\n\ 270 MouseMoveEvent 218 216 0 0 0 0 0\n\ 271 MouseMoveEvent 218 217 0 0 0 0 0\n\ 272 MouseMoveEvent 218 218 0 0 0 0 0\n\ 273 MouseMoveEvent 218 218 0 0 0 0 0\n\ 274 MouseMoveEvent 218 219 0 0 0 0 0\n\ 275 MouseMoveEvent 218 218 0 0 0 0 0\n\ 276 MouseMoveEvent 218 215 0 0 0 0 0\n\ 277 MouseMoveEvent 218 212 0 0 0 0 0\n\ 278 MouseMoveEvent 218 210 0 0 0 0 0\n\ 279 MouseMoveEvent 218 206 0 0 0 0 0\n\ 280 MouseMoveEvent 218 203 0 0 0 0 0\n\ 281 MouseMoveEvent 218 200 0 0 0 0 0\n\ 282 MouseMoveEvent 218 197 0 0 0 0 0\n\ 283 MouseMoveEvent 218 194 0 0 0 0 0\n\ 284 MouseMoveEvent 218 192 0 0 0 0 0\n\ 285 MouseMoveEvent 218 189 0 0 0 0 0\n\ 286 MouseMoveEvent 218 186 0 0 0 0 0\n\ 287 MouseMoveEvent 218 183 0 0 0 0 0\n\ 288 MouseMoveEvent 218 182 0 0 0 0 0\n\ 289 MouseMoveEvent 218 179 0 0 0 0 0\n\ 290 MouseMoveEvent 218 178 0 0 0 0 0\n\ 291 MouseMoveEvent 218 176 0 0 0 0 0\n\ 292 MouseMoveEvent 218 175 0 0 0 0 0\n\ 293 MouseMoveEvent 218 174 0 0 0 0 0\n\ 294 MouseMoveEvent 218 172 0 0 0 0 0\n\ 295 MouseMoveEvent 218 171 0 0 0 0 0\n\ 296 MouseMoveEvent 218 169 0 0 0 0 0\n\ 297 MouseMoveEvent 218 168 0 0 0 0 0\n\ 298 MouseMoveEvent 218 167 0 0 0 0 0\n\ 299 MouseMoveEvent 218 166 0 0 0 0 0\n\ 300 MouseMoveEvent 218 166 0 0 0 0 0\n\ 301 MouseMoveEvent 218 164 0 0 0 0 0\n\ 302 MouseMoveEvent 218 163 0 0 0 0 0\n\ 303 MouseMoveEvent 218 162 0 0 0 0 0\n\ 304 MouseMoveEvent 218 161 0 0 0 0 0\n\ 305 MouseMoveEvent 218 160 0 0 0 0 0\n\ 306 MouseMoveEvent 218 159 0 0 0 0 0\n\ 307 MouseMoveEvent 218 158 0 0 0 0 0\n\ 308 MouseMoveEvent 218 157 0 0 0 0 0\n\ 309 MouseMoveEvent 218 156 0 0 0 0 0\n\ 310 MouseMoveEvent 218 156 0 0 0 0 0\n\ 311 MiddleButtonReleaseEvent 218 156 0 0 0 0 0\n\ 312 MouseMoveEvent 218 156 0 0 0 0 0\n\ 313 MouseMoveEvent 217 156 0 0 0 0 0\n\ 314 MouseMoveEvent 214 156 0 0 0 0 0\n\ 315 MouseMoveEvent 210 156 0 0 0 0 0\n\ 316 MouseMoveEvent 204 156 0 0 0 0 0\n\ 317 MouseMoveEvent 197 158 0 0 0 0 0\n\ 318 MouseMoveEvent 193 158 0 0 0 0 0\n\ 319 MouseMoveEvent 183 161 0 0 0 0 0\n\ 320 MouseMoveEvent 173 163 0 0 0 0 0\n\ 321 MiddleButtonPressEvent 173 163 0 0 0 0 0\n\ 322 MouseMoveEvent 165 164 0 0 0 0 0\n\ 323 MouseMoveEvent 155 166 0 0 0 0 0\n\ 324 MouseMoveEvent 147 167 0 0 0 0 0\n\ 325 MouseMoveEvent 137 169 0 0 0 0 0\n\ 326 MouseMoveEvent 131 171 0 0 0 0 0\n\ 327 MouseMoveEvent 124 172 0 0 0 0 0\n\ 328 MouseMoveEvent 121 173 0 0 0 0 0\n\ 329 MouseMoveEvent 119 173 0 0 0 0 0\n\ 330 MouseMoveEvent 118 173 0 0 0 0 0\n\ 331 MouseMoveEvent 117 174 0 0 0 0 0\n\ 332 MouseMoveEvent 116 174 0 0 0 0 0\n\ 333 MouseMoveEvent 115 174 0 0 0 0 0\n\ 334 MouseMoveEvent 113 174 0 0 0 0 0\n\ 335 MouseMoveEvent 110 174 0 0 0 0 0\n\ 336 MouseMoveEvent 108 174 0 0 0 0 0\n\ 337 MouseMoveEvent 106 174 0 0 0 0 0\n\ 338 MouseMoveEvent 105 174 0 0 0 0 0\n\ 339 MouseMoveEvent 103 174 0 0 0 0 0\n\ 340 MouseMoveEvent 103 174 0 0 0 0 0\n\ 341 MouseMoveEvent 101 175 0 0 0 0 0\n\ 342 MouseMoveEvent 101 175 0 0 0 0 0\n\ 343 MouseMoveEvent 100 175 0 0 0 0 0\n\ 344 MouseMoveEvent 101 175 0 0 0 0 0\n\ 345 MouseMoveEvent 104 175 0 0 0 0 0\n\ 346 MouseMoveEvent 107 175 0 0 0 0 0\n\ 347 MouseMoveEvent 112 175 0 0 0 0 0\n\ 348 MouseMoveEvent 118 175 0 0 0 0 0\n\ 349 MouseMoveEvent 122 175 0 0 0 0 0\n\ 350 MouseMoveEvent 128 175 0 0 0 0 0\n\ 351 MouseMoveEvent 132 175 0 0 0 0 0\n\ 352 MouseMoveEvent 136 175 0 0 0 0 0\n\ 353 MouseMoveEvent 142 175 0 0 0 0 0\n\ 354 MouseMoveEvent 145 175 0 0 0 0 0\n\ 355 MouseMoveEvent 148 175 0 0 0 0 0\n\ 356 MouseMoveEvent 151 175 0 0 0 0 0\n\ 357 MouseMoveEvent 153 175 0 0 0 0 0\n\ 358 MouseMoveEvent 154 175 0 0 0 0 0\n\ 359 MouseMoveEvent 155 175 0 0 0 0 0\n\ 360 MouseMoveEvent 155 174 0 0 0 0 0\n\ 361 MouseMoveEvent 156 174 0 0 0 0 0\n\ 362 MouseMoveEvent 157 174 0 0 0 0 0\n\ 363 MouseMoveEvent 157 174 0 0 0 0 0\n\ 364 MouseMoveEvent 158 174 0 0 0 0 0\n\ 365 MouseMoveEvent 159 174 0 0 0 0 0\n\ 366 MouseMoveEvent 159 174 0 0 0 0 0\n\ 367 MouseMoveEvent 161 174 0 0 0 0 0\n\ 368 MouseMoveEvent 164 174 0 0 0 0 0\n\ 369 MouseMoveEvent 166 174 0 0 0 0 0\n\ 370 MouseMoveEvent 169 174 0 0 0 0 0\n\ 371 MouseMoveEvent 172 174 0 0 0 0 0\n\ 372 MouseMoveEvent 174 174 0 0 0 0 0\n\ 373 MouseMoveEvent 177 174 0 0 0 0 0\n\ 374 MouseMoveEvent 178 174 0 0 0 0 0\n\ 375 MouseMoveEvent 179 174 0 0 0 0 0\n\ 376 MouseMoveEvent 181 174 0 0 0 0 0\n\ 377 MouseMoveEvent 181 174 0 0 0 0 0\n\ 378 MouseMoveEvent 182 174 0 0 0 0 0\n\ 379 MouseMoveEvent 183 175 0 0 0 0 0\n\ 380 MouseMoveEvent 183 175 0 0 0 0 0\n\ 381 MouseMoveEvent 184 175 0 0 0 0 0\n\ 382 MouseMoveEvent 185 175 0 0 0 0 0\n\ 383 MiddleButtonReleaseEvent 185 175 0 0 0 0 0\n\ 384 MouseMoveEvent 185 175 0 0 0 0 0\n\ 385 RightButtonPressEvent 185 175 0 0 0 0 0\n\ 386 MouseMoveEvent 185 176 0 0 0 0 0\n\ 387 MouseMoveEvent 185 178 0 0 0 0 0\n\ 388 MouseMoveEvent 183 181 0 0 0 0 0\n\ 389 MouseMoveEvent 183 183 0 0 0 0 0\n\ 390 MouseMoveEvent 183 185 0 0 0 0 0\n\ 391 MouseMoveEvent 182 188 0 0 0 0 0\n\ 392 MouseMoveEvent 182 189 0 0 0 0 0\n\ 393 MouseMoveEvent 182 191 0 0 0 0 0\n\ 394 MouseMoveEvent 182 193 0 0 0 0 0\n\ 395 MouseMoveEvent 182 194 0 0 0 0 0\n\ 396 MouseMoveEvent 182 195 0 0 0 0 0\n\ 397 MouseMoveEvent 182 196 0 0 0 0 0\n\ 398 MouseMoveEvent 182 198 0 0 0 0 0\n\ 399 MouseMoveEvent 182 199 0 0 0 0 0\n\ 400 MouseMoveEvent 182 200 0 0 0 0 0\n\ 401 MouseMoveEvent 182 201 0 0 0 0 0\n\ 402 MouseMoveEvent 182 202 0 0 0 0 0\n\ 403 MouseMoveEvent 182 203 0 0 0 0 0\n\ 404 MouseMoveEvent 182 204 0 0 0 0 0\n\ 405 MouseMoveEvent 182 204 0 0 0 0 0\n\ 406 MouseMoveEvent 182 206 0 0 0 0 0\n\ 407 MouseMoveEvent 182 206 0 0 0 0 0\n\ 408 MouseMoveEvent 182 207 0 0 0 0 0\n\ 409 MouseMoveEvent 182 208 0 0 0 0 0\n\ 410 MouseMoveEvent 182 210 0 0 0 0 0\n\ 411 MouseMoveEvent 182 212 0 0 0 0 0\n\ 412 MouseMoveEvent 182 213 0 0 0 0 0\n\ 413 MouseMoveEvent 182 215 0 0 0 0 0\n\ 414 MouseMoveEvent 182 216 0 0 0 0 0\n\ 415 MouseMoveEvent 182 218 0 0 0 0 0\n\ 416 MouseMoveEvent 182 221 0 0 0 0 0\n\ 417 MouseMoveEvent 183 224 0 0 0 0 0\n\ 418 MouseMoveEvent 184 226 0 0 0 0 0\n\ 419 MouseMoveEvent 184 228 0 0 0 0 0\n\ 420 MouseMoveEvent 185 230 0 0 0 0 0\n\ 421 MouseMoveEvent 185 232 0 0 0 0 0\n\ 422 MouseMoveEvent 185 233 0 0 0 0 0\n\ 423 MouseMoveEvent 185 234 0 0 0 0 0\n\ 424 MouseMoveEvent 185 237 0 0 0 0 0\n\ 425 MouseMoveEvent 186 238 0 0 0 0 0\n\ 426 MouseMoveEvent 187 240 0 0 0 0 0\n\ 427 MouseMoveEvent 187 241 0 0 0 0 0\n\ 428 MouseMoveEvent 187 242 0 0 0 0 0\n\ 429 MouseMoveEvent 187 244 0 0 0 0 0\n\ 430 MouseMoveEvent 188 245 0 0 0 0 0\n\ 431 MouseMoveEvent 188 246 0 0 0 0 0\n\ 432 MouseMoveEvent 188 247 0 0 0 0 0\n\ 433 MouseMoveEvent 189 248 0 0 0 0 0\n\ 434 MouseMoveEvent 189 249 0 0 0 0 0\n\ 435 MouseMoveEvent 189 250 0 0 0 0 0\n\ 436 MouseMoveEvent 189 250 0 0 0 0 0\n\ 437 MouseMoveEvent 189 251 0 0 0 0 0\n\ 438 MouseMoveEvent 190 252 0 0 0 0 0\n\ 439 MouseMoveEvent 190 252 0 0 0 0 0\n\ 440 MouseMoveEvent 190 254 0 0 0 0 0\n\ 441 MouseMoveEvent 191 255 0 0 0 0 0\n\ 442 MouseMoveEvent 191 256 0 0 0 0 0\n\ 443 MouseMoveEvent 192 258 0 0 0 0 0\n\ 444 MouseMoveEvent 192 259 0 0 0 0 0\n\ 445 MouseMoveEvent 193 261 0 0 0 0 0\n\ 446 MouseMoveEvent 193 264 0 0 0 0 0\n\ 447 MouseMoveEvent 193 265 0 0 0 0 0\n\ 448 MouseMoveEvent 194 267 0 0 0 0 0\n\ 449 MouseMoveEvent 194 269 0 0 0 0 0\n\ 450 MouseMoveEvent 194 270 0 0 0 0 0\n\ 451 MouseMoveEvent 195 273 0 0 0 0 0\n\ 452 MouseMoveEvent 196 275 0 0 0 0 0\n\ 453 MouseMoveEvent 196 276 0 0 0 0 0\n\ 454 MouseMoveEvent 197 278 0 0 0 0 0\n\ 455 MouseMoveEvent 197 279 0 0 0 0 0\n\ 456 MouseMoveEvent 197 280 0 0 0 0 0\n\ 457 MouseMoveEvent 197 280 0 0 0 0 0\n\ 458 MouseMoveEvent 197 282 0 0 0 0 0\n\ 459 MouseMoveEvent 197 282 0 0 0 0 0\n\ 460 MouseMoveEvent 197 284 0 0 0 0 0\n\ 461 MouseMoveEvent 197 284 0 0 0 0 0\n\ 462 MouseMoveEvent 197 286 0 0 0 0 0\n\ 463 MouseMoveEvent 197 287 0 0 0 0 0\n\ 464 MouseMoveEvent 198 288 0 0 0 0 0\n\ 465 MouseMoveEvent 198 288 0 0 0 0 0\n\ 466 MouseMoveEvent 198 289 0 0 0 0 0\n\ 467 MouseMoveEvent 198 288 0 0 0 0 0\n\ 468 MouseMoveEvent 198 287 0 0 0 0 0\n\ 469 MouseMoveEvent 198 286 0 0 0 0 0\n\ 470 MouseMoveEvent 197 283 0 0 0 0 0\n\ 471 MouseMoveEvent 197 280 0 0 0 0 0\n\ 472 MouseMoveEvent 196 278 0 0 0 0 0\n\ 473 MouseMoveEvent 195 276 0 0 0 0 0\n\ 474 MouseMoveEvent 193 272 0 0 0 0 0\n\ 475 MouseMoveEvent 193 269 0 0 0 0 0\n\ 476 MouseMoveEvent 193 266 0 0 0 0 0\n\ 477 MouseMoveEvent 192 262 0 0 0 0 0\n\ 478 MouseMoveEvent 191 258 0 0 0 0 0\n\ 479 MouseMoveEvent 191 256 0 0 0 0 0\n\ 480 MouseMoveEvent 190 253 0 0 0 0 0\n\ 481 MouseMoveEvent 189 251 0 0 0 0 0\n\ 482 MouseMoveEvent 189 249 0 0 0 0 0\n\ 483 MouseMoveEvent 189 248 0 0 0 0 0\n\ 484 MouseMoveEvent 189 246 0 0 0 0 0\n\ 485 MouseMoveEvent 189 246 0 0 0 0 0\n\ 486 MouseMoveEvent 189 244 0 0 0 0 0\n\ 487 MouseMoveEvent 189 244 0 0 0 0 0\n\ 488 MouseMoveEvent 189 243 0 0 0 0 0\n\ 489 MouseMoveEvent 189 242 0 0 0 0 0\n\ 490 MouseMoveEvent 189 242 0 0 0 0 0\n\ 491 MouseMoveEvent 188 241 0 0 0 0 0\n\ 492 MouseMoveEvent 188 240 0 0 0 0 0\n\ 493 MouseMoveEvent 188 238 0 0 0 0 0\n\ 494 MouseMoveEvent 188 237 0 0 0 0 0\n\ 495 MouseMoveEvent 188 236 0 0 0 0 0\n\ 496 MouseMoveEvent 188 235 0 0 0 0 0\n\ 497 MouseMoveEvent 187 234 0 0 0 0 0\n\ 498 MouseMoveEvent 187 233 0 0 0 0 0\n\ 499 MouseMoveEvent 187 231 0 0 0 0 0\n\ 500 MouseMoveEvent 187 230 0 0 0 0 0\n\ 501 MouseMoveEvent 187 228 0 0 0 0 0\n\ 502 MouseMoveEvent 187 227 0 0 0 0 0\n\ 503 MouseMoveEvent 187 226 0 0 0 0 0\n\ 504 MouseMoveEvent 186 225 0 0 0 0 0\n\ 505 MouseMoveEvent 185 224 0 0 0 0 0\n\ 506 MouseMoveEvent 185 222 0 0 0 0 0\n\ 507 MouseMoveEvent 185 221 0 0 0 0 0\n\ 508 MouseMoveEvent 185 220 0 0 0 0 0\n\ 509 MouseMoveEvent 185 218 0 0 0 0 0\n\ 510 MouseMoveEvent 185 217 0 0 0 0 0\n\ 511 MouseMoveEvent 185 216 0 0 0 0 0\n\ 512 MouseMoveEvent 184 215 0 0 0 0 0\n\ 513 MouseMoveEvent 184 214 0 0 0 0 0\n\ 514 MouseMoveEvent 184 212 0 0 0 0 0\n\ 515 MouseMoveEvent 184 212 0 0 0 0 0\n\ 516 MouseMoveEvent 184 210 0 0 0 0 0\n\ 517 MouseMoveEvent 184 209 0 0 0 0 0\n\ 518 MouseMoveEvent 183 208 0 0 0 0 0\n\ 519 MouseMoveEvent 183 208 0 0 0 0 0\n\ 520 MouseMoveEvent 183 207 0 0 0 0 0\n\ 521 MouseMoveEvent 183 206 0 0 0 0 0\n\ 522 MouseMoveEvent 183 204 0 0 0 0 0\n\ 523 MouseMoveEvent 183 204 0 0 0 0 0\n\ 524 MouseMoveEvent 183 202 0 0 0 0 0\n\ 525 MouseMoveEvent 183 202 0 0 0 0 0\n\ 526 MouseMoveEvent 183 200 0 0 0 0 0\n\ 527 MouseMoveEvent 183 198 0 0 0 0 0\n\ 528 MouseMoveEvent 183 198 0 0 0 0 0\n\ 529 MouseMoveEvent 183 196 0 0 0 0 0\n\ 530 MouseMoveEvent 183 195 0 0 0 0 0\n\ 531 MouseMoveEvent 183 193 0 0 0 0 0\n\ 532 MouseMoveEvent 183 192 0 0 0 0 0\n\ 533 MouseMoveEvent 183 192 0 0 0 0 0\n\ 534 MouseMoveEvent 183 190 0 0 0 0 0\n\ 535 MouseMoveEvent 183 189 0 0 0 0 0\n\ 536 MouseMoveEvent 183 188 0 0 0 0 0\n\ 537 MouseMoveEvent 183 188 0 0 0 0 0\n\ 538 MouseMoveEvent 182 186 0 0 0 0 0\n\ 539 MouseMoveEvent 182 185 0 0 0 0 0\n\ 540 MouseMoveEvent 182 184 0 0 0 0 0\n\ 541 MouseMoveEvent 182 183 0 0 0 0 0\n\ 542 MouseMoveEvent 182 182 0 0 0 0 0\n\ 543 MouseMoveEvent 181 182 0 0 0 0 0\n\ 544 MouseMoveEvent 181 181 0 0 0 0 0\n\ 545 MouseMoveEvent 181 180 0 0 0 0 0\n\ 546 MouseMoveEvent 181 180 0 0 0 0 0\n\ 547 MouseMoveEvent 181 179 0 0 0 0 0\n\ 548 MouseMoveEvent 181 178 0 0 0 0 0\n\ 549 MouseMoveEvent 181 178 0 0 0 0 0\n\ 550 MouseMoveEvent 181 176 0 0 0 0 0\n\ 551 MouseMoveEvent 181 175 0 0 0 0 0\n\ 552 MouseMoveEvent 181 174 0 0 0 0 0\n\ 553 MouseMoveEvent 181 172 0 0 0 0 0\n\ 554 MouseMoveEvent 181 172 0 0 0 0 0\n\ 555 MouseMoveEvent 181 170 0 0 0 0 0\n\ 556 MouseMoveEvent 181 170 0 0 0 0 0\n\ 557 MouseMoveEvent 181 168 0 0 0 0 0\n\ 558 MouseMoveEvent 181 168 0 0 0 0 0\n\ 559 MouseMoveEvent 181 167 0 0 0 0 0\n\ 560 MouseMoveEvent 181 166 0 0 0 0 0\n\ 561 MouseMoveEvent 181 165 0 0 0 0 0\n\ 562 MouseMoveEvent 181 164 0 0 0 0 0\n\ 563 MouseMoveEvent 181 163 0 0 0 0 0\n\ 564 MouseMoveEvent 181 162 0 0 0 0 0\n\ 565 MouseMoveEvent 181 160 0 0 0 0 0\n\ 566 MouseMoveEvent 181 159 0 0 0 0 0\n\ 567 MouseMoveEvent 181 158 0 0 0 0 0\n\ 568 MouseMoveEvent 181 158 0 0 0 0 0\n\ 569 MouseMoveEvent 180 157 0 0 0 0 0\n\ 570 MouseMoveEvent 180 156 0 0 0 0 0\n\ 571 MouseMoveEvent 180 156 0 0 0 0 0\n\ 572 MouseMoveEvent 180 155 0 0 0 0 0\n\ 573 MouseMoveEvent 180 154 0 0 0 0 0\n\ 574 MouseMoveEvent 179 154 0 0 0 0 0\n\ 575 MouseMoveEvent 177 154 0 0 0 0 0\n\ 576 MouseMoveEvent 173 154 0 0 0 0 0\n\ 577 MouseMoveEvent 169 154 0 0 0 0 0\n\ 578 MouseMoveEvent 166 154 0 0 0 0 0\n\ 579 MouseMoveEvent 163 154 0 0 0 0 0\n\ 580 MouseMoveEvent 159 154 0 0 0 0 0\n\ 581 MouseMoveEvent 155 154 0 0 0 0 0\n\ 582 MouseMoveEvent 152 154 0 0 0 0 0\n\ 583 MouseMoveEvent 148 154 0 0 0 0 0\n\ 584 MouseMoveEvent 145 155 0 0 0 0 0\n\ 585 MouseMoveEvent 141 155 0 0 0 0 0\n\ 586 MouseMoveEvent 137 156 0 0 0 0 0\n\ 587 MouseMoveEvent 135 156 0 0 0 0 0\n\ 588 MouseMoveEvent 132 156 0 0 0 0 0\n\ 589 MouseMoveEvent 130 156 0 0 0 0 0\n\ 590 MouseMoveEvent 129 156 0 0 0 0 0\n\ 591 MouseMoveEvent 128 156 0 0 0 0 0\n\ 592 MouseMoveEvent 127 156 0 0 0 0 0\n\ 593 MouseMoveEvent 126 156 0 0 0 0 0\n\ 594 MouseMoveEvent 125 156 0 0 0 0 0\n\ 595 MouseMoveEvent 123 157 0 0 0 0 0\n\ 596 MouseMoveEvent 123 157 0 0 0 0 0\n\ 597 MouseMoveEvent 121 157 0 0 0 0 0\n\ 598 MouseMoveEvent 121 157 0 0 0 0 0\n\ 599 MouseMoveEvent 119 158 0 0 0 0 0\n\ 600 MouseMoveEvent 119 158 0 0 0 0 0\n\ 601 MouseMoveEvent 118 158 0 0 0 0 0\n\ 602 MouseMoveEvent 117 158 0 0 0 0 0\n\ 603 MouseMoveEvent 117 158 0 0 0 0 0\n\ 604 MouseMoveEvent 116 158 0 0 0 0 0\n\ 605 MouseMoveEvent 115 158 0 0 0 0 0\n\ 606 MouseMoveEvent 114 158 0 0 0 0 0\n\ 607 MouseMoveEvent 113 158 0 0 0 0 0\n\ 608 MouseMoveEvent 111 158 0 0 0 0 0\n\ 609 MouseMoveEvent 110 158 0 0 0 0 0\n\ 610 MouseMoveEvent 109 158 0 0 0 0 0\n\ 611 MouseMoveEvent 107 158 0 0 0 0 0\n\ 612 MouseMoveEvent 106 158 0 0 0 0 0\n\ 613 MouseMoveEvent 105 158 0 0 0 0 0\n\ 614 MouseMoveEvent 103 158 0 0 0 0 0\n\ 615 MouseMoveEvent 103 158 0 0 0 0 0\n\ 616 MouseMoveEvent 102 158 0 0 0 0 0\n\ 617 MouseMoveEvent 101 158 0 0 0 0 0\n\ 618 MouseMoveEvent 101 158 0 0 0 0 0\n\ 619 MouseMoveEvent 100 158 0 0 0 0 0\n\ 620 MouseMoveEvent 99 158 0 0 0 0 0\n\ 621 MouseMoveEvent 99 158 0 0 0 0 0\n\ 622 MouseMoveEvent 98 158 0 0 0 0 0\n\ 623 MouseMoveEvent 97 158 0 0 0 0 0\n\ 624 MouseMoveEvent 97 158 0 0 0 0 0\n\ 625 MouseMoveEvent 97 159 0 0 0 0 0\n\ 626 MouseMoveEvent 97 160 0 0 0 0 0\n\ 627 MouseMoveEvent 96 161 0 0 0 0 0\n\ 628 MouseMoveEvent 96 162 0 0 0 0 0\n\ 629 MouseMoveEvent 96 163 0 0 0 0 0\n\ 630 MouseMoveEvent 96 164 0 0 0 0 0\n\ 631 MouseMoveEvent 96 165 0 0 0 0 0\n\ 632 MouseMoveEvent 96 166 0 0 0 0 0\n\ 633 MouseMoveEvent 96 167 0 0 0 0 0\n\ 634 MouseMoveEvent 96 168 0 0 0 0 0\n\ 635 MouseMoveEvent 96 168 0 0 0 0 0\n\ 636 MouseMoveEvent 96 170 0 0 0 0 0\n\ 637 MouseMoveEvent 96 170 0 0 0 0 0\n\ 638 MouseMoveEvent 96 171 0 0 0 0 0\n\ 639 MouseMoveEvent 97 171 0 0 0 0 0\n\ 640 MouseMoveEvent 97 172 0 0 0 0 0\n\ 641 MouseMoveEvent 97 172 0 0 0 0 0\n\ 642 MouseMoveEvent 98 173 0 0 0 0 0\n\ 643 MouseMoveEvent 99 174 0 0 0 0 0\n\ 644 MouseMoveEvent 99 174 0 0 0 0 0\n\ 645 MouseMoveEvent 99 175 0 0 0 0 0\n\ 646 MouseMoveEvent 100 176 0 0 0 0 0\n\ 647 MouseMoveEvent 100 176 0 0 0 0 0\n\ 648 MouseMoveEvent 101 177 0 0 0 0 0\n\ 649 MouseMoveEvent 101 178 0 0 0 0 0\n\ 650 MouseMoveEvent 103 179 0 0 0 0 0\n\ 651 MouseMoveEvent 103 180 0 0 0 0 0\n\ 652 MouseMoveEvent 103 180 0 0 0 0 0\n\ 653 MouseMoveEvent 104 181 0 0 0 0 0\n\ 654 MouseMoveEvent 105 182 0 0 0 0 0\n\ 655 MouseMoveEvent 105 183 0 0 0 0 0\n\ 656 MouseMoveEvent 105 184 0 0 0 0 0\n\ 657 MouseMoveEvent 106 185 0 0 0 0 0\n\ 658 MouseMoveEvent 107 186 0 0 0 0 0\n\ 659 MouseMoveEvent 107 187 0 0 0 0 0\n\ 660 MouseMoveEvent 108 188 0 0 0 0 0\n\ 661 MouseMoveEvent 108 188 0 0 0 0 0\n\ 662 MouseMoveEvent 108 189 0 0 0 0 0\n\ 663 MouseMoveEvent 108 190 0 0 0 0 0\n\ 664 MouseMoveEvent 109 190 0 0 0 0 0\n\ 665 MouseMoveEvent 109 190 0 0 0 0 0\n\ 666 MouseMoveEvent 110 192 0 0 0 0 0\n\ 667 MouseMoveEvent 110 192 0 0 0 0 0\n\ 668 MouseMoveEvent 111 194 0 0 0 0 0\n\ 669 MouseMoveEvent 111 195 0 0 0 0 0\n\ 670 MouseMoveEvent 111 196 0 0 0 0 0\n\ 671 MouseMoveEvent 112 198 0 0 0 0 0\n\ 672 MouseMoveEvent 112 198 0 0 0 0 0\n\ 673 MouseMoveEvent 113 199 0 0 0 0 0\n\ 674 MouseMoveEvent 113 200 0 0 0 0 0\n\ 675 MouseMoveEvent 113 201 0 0 0 0 0\n\ 676 MouseMoveEvent 113 202 0 0 0 0 0\n\ 677 MouseMoveEvent 113 202 0 0 0 0 0\n\ 678 MouseMoveEvent 114 203 0 0 0 0 0\n\ 679 MouseMoveEvent 114 204 0 0 0 0 0\n\ 680 MouseMoveEvent 114 204 0 0 0 0 0\n\ 681 MouseMoveEvent 114 205 0 0 0 0 0\n\ 682 MouseMoveEvent 114 206 0 0 0 0 0\n\ 683 MouseMoveEvent 114 206 0 0 0 0 0\n\ 684 MouseMoveEvent 114 207 0 0 0 0 0\n\ 685 MouseMoveEvent 114 208 0 0 0 0 0\n\ 686 MouseMoveEvent 114 210 0 0 0 0 0\n\ 687 RightButtonReleaseEvent 114 210 0 0 0 0 0\n\ 688" 689 690# Now define a script to build a pipeline 691# Start by loading some data. 692# 693dem = vtk.vtkDEMReader() 694dem.SetFileName(VTK_DATA_ROOT + "/Data/SainteHelens.dem") 695dem.Update() 696 697Scale = 2 698lut = vtk.vtkLookupTable() 699lut.SetHueRange(0.6, 0) 700lut.SetSaturationRange(1.0, 0) 701lut.SetValueRange(0.5, 1.0) 702lo = Scale * dem.GetElevationBounds()[0] 703hi = Scale * dem.GetElevationBounds()[1] 704 705shrink = vtk.vtkImageShrink3D() 706shrink.SetShrinkFactors(4, 4, 1) 707shrink.SetInputConnection(dem.GetOutputPort()) 708shrink.AveragingOn() 709 710geom = vtk.vtkImageDataGeometryFilter() 711geom.SetInputConnection(shrink.GetOutputPort()) 712geom.ReleaseDataFlagOn() 713 714warp = vtk.vtkWarpScalar() 715warp.SetInputConnection(geom.GetOutputPort()) 716warp.SetNormal(0, 0, 1) 717warp.UseNormalOn() 718warp.SetScaleFactor(Scale) 719warp.ReleaseDataFlagOn() 720 721elevation = vtk.vtkElevationFilter() 722elevation.SetInputConnection(warp.GetOutputPort()) 723elevation.SetLowPoint(0, 0, lo) 724elevation.SetHighPoint(0, 0, hi) 725elevation.SetScalarRange(lo, hi) 726elevation.ReleaseDataFlagOn() 727 728normals = vtk.vtkPolyDataNormals() 729normals.SetInputConnection(elevation.GetOutputPort()) 730normals.SetFeatureAngle(60) 731normals.ConsistencyOff() 732normals.SplittingOff() 733normals.ReleaseDataFlagOn() 734normals.Update() 735 736demMapper = vtk.vtkPolyDataMapper() 737demMapper.SetInputConnection(normals.GetOutputPort()) 738demMapper.SetScalarRange(lo, hi) 739demMapper.SetLookupTable(lut) 740 741demActor = vtk.vtkActor() 742demActor.SetMapper(demMapper) 743 744# Create the RenderWindow, Renderer and both Actors 745# 746ren = vtk.vtkRenderer() 747renWin = vtk.vtkRenderWindow() 748renWin.SetMultiSamples(0) 749renWin.AddRenderer(ren) 750iRen = vtk.vtkRenderWindowInteractor() 751iRen.SetRenderWindow(renWin) 752iRen.LightFollowCameraOff() 753 754recorder = vtk.vtkInteractorEventRecorder() 755recorder.SetInteractor(iRen) 756#recorder.SetFileName("c:/d/VTK/record.log") 757#recorder.Record() 758recorder.ReadFromInputStringOn() 759recorder.SetInputString(Recording) 760 761# Add the actors to the renderer, set the background and size 762# 763ren.AddActor(demActor) 764ren.SetBackground(1, 1, 1) 765renWin.SetSize(300, 300) 766ren.SetBackground(0.1, 0.2, 0.4) 767 768cam1 = ren.GetActiveCamera() 769cam1.SetViewUp(0, 0, 1) 770cam1.SetFocalPoint(dem.GetOutput().GetCenter()) 771cam1.SetPosition(1, 0, 0) 772ren.ResetCamera() 773cam1.Elevation(25) 774cam1.Azimuth(125) 775cam1.Zoom(1.25) 776 777# This is where the bindings are set up 778 779# The callback stubs are defined here. The callback takes two arguments. 780# The first being the object that generates the event and the second argument 781# the event name (which is a string). 782 783def leftDown(widget, event_string): 784 global left 785 left = 1 786def leftUp(widget, event_string): 787 global left 788 left = 0 789 790def middleDown(widget, event_string): 791 global middle 792 middle = 1 793def middleUp(widget, event_string): 794 global middle 795 middle = 0 796 797def rightDown(widget, event_string): 798 global right 799 right = 1 800def rightUp(widget, event_string): 801 global right 802 right = 0 803 804def wheelForward(widget, event_string): 805 mouseWheelForward(iRen,ren) 806def wheelBackward(widget, event_string): 807 mouseWheelBackward(iRen,ren) 808 809def mouseMove(widget, event_string): 810 global left, middle, right 811 if left == 1: 812 mouseLeftMove(iRen,ren) 813 if middle == 1: 814 mouseMiddleMove(iRen,ren) 815 if right == 1: 816 mouseRightMove(iRen,ren) 817 if ( (left == 0) and (middle == 0) and (right == 0) ) : 818 pass 819 820# This is where the interaction style is defined 821style = vtk.vtkInteractorStyleUser() 822iRen.SetInteractorStyle(style) 823 824style.AddObserver("LeftButtonPressEvent", leftDown) 825style.AddObserver("LeftButtonReleaseEvent", leftUp) 826style.AddObserver("MiddleButtonPressEvent", middleDown) 827style.AddObserver("MiddleButtonReleaseEvent", middleUp) 828style.AddObserver("RightButtonPressEvent", rightDown) 829style.AddObserver("RightButtonReleaseEvent", rightUp) 830style.AddObserver("MouseWheelForwardEvent", wheelForward) 831style.AddObserver("MouseWheelBackwardEvent", wheelBackward) 832style.AddObserver("MouseMoveEvent", mouseMove) 833 834iRen.Initialize() 835renWin.Render() 836 837# render the image 838renWin.Render() 839recorder.Play() 840 841#iRen.Start() 842