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 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631
|
/*=========================================================================
Program: Visualization Toolkit
Module: TestScalarBarWidget.cxx
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.
=========================================================================*/
#include "vtkSmartPointer.h"
#include "vtkMultiBlockDataSet.h"
#include "vtkMultiBlockPLOT3DReader.h"
#include "vtkScalarBarWidget.h"
#include "vtkStructuredGridGeometryFilter.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkProperty2D.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkInteractorEventRecorder.h"
#include "vtkScalarBarRepresentation.h"
#include "vtkScalarBarActor.h"
#include "vtkStructuredGrid.h"
#include "vtkTextProperty.h"
#include "vtkCommand.h"
#include "vtkLookupTable.h"
#include "vtkBandedPolyDataContourFilter.h"
#include "vtkPointData.h"
#include "vtkDataArray.h"
#include "vtkColorSeries.h"
#include "vtkTestUtilities.h"
char TISBeventLog[] =
"# StreamVersion 1\n"
"CharEvent 153 168 0 0 105 1 i\n"
"KeyReleaseEvent 153 168 0 0 105 1 i\n"
"MouseMoveEvent 153 167 0 0 0 0 i\n"
"MouseMoveEvent 154 166 0 0 0 0 i\n"
"MouseMoveEvent 156 165 0 0 0 0 i\n"
"MouseMoveEvent 159 163 0 0 0 0 i\n"
"MouseMoveEvent 163 162 0 0 0 0 i\n"
"MouseMoveEvent 167 161 0 0 0 0 i\n"
"MouseMoveEvent 170 161 0 0 0 0 i\n"
"MouseMoveEvent 172 161 0 0 0 0 i\n"
"MouseMoveEvent 173 161 0 0 0 0 i\n"
"MouseMoveEvent 176 161 0 0 0 0 i\n"
"MouseMoveEvent 179 161 0 0 0 0 i\n"
"MouseMoveEvent 181 161 0 0 0 0 i\n"
"MouseMoveEvent 185 160 0 0 0 0 i\n"
"MouseMoveEvent 188 159 0 0 0 0 i\n"
"MouseMoveEvent 191 159 0 0 0 0 i\n"
"MouseMoveEvent 195 158 0 0 0 0 i\n"
"MouseMoveEvent 198 157 0 0 0 0 i\n"
"MouseMoveEvent 201 157 0 0 0 0 i\n"
"MouseMoveEvent 203 157 0 0 0 0 i\n"
"MouseMoveEvent 205 157 0 0 0 0 i\n"
"MouseMoveEvent 208 156 0 0 0 0 i\n"
"MouseMoveEvent 212 156 0 0 0 0 i\n"
"MouseMoveEvent 217 155 0 0 0 0 i\n"
"MouseMoveEvent 220 155 0 0 0 0 i\n"
"MouseMoveEvent 222 155 0 0 0 0 i\n"
"MouseMoveEvent 224 154 0 0 0 0 i\n"
"MouseMoveEvent 227 154 0 0 0 0 i\n"
"MouseMoveEvent 230 154 0 0 0 0 i\n"
"MouseMoveEvent 234 153 0 0 0 0 i\n"
"MouseMoveEvent 237 153 0 0 0 0 i\n"
"MouseMoveEvent 239 153 0 0 0 0 i\n"
"MouseMoveEvent 240 153 0 0 0 0 i\n"
"MouseMoveEvent 242 153 0 0 0 0 i\n"
"MouseMoveEvent 243 153 0 0 0 0 i\n"
"MouseMoveEvent 245 153 0 0 0 0 i\n"
"MouseMoveEvent 246 153 0 0 0 0 i\n"
"MouseMoveEvent 247 152 0 0 0 0 i\n"
"MouseMoveEvent 248 152 0 0 0 0 i\n"
"MouseMoveEvent 249 152 0 0 0 0 i\n"
"MouseMoveEvent 250 152 0 0 0 0 i\n"
"MouseMoveEvent 251 152 0 0 0 0 i\n"
"MouseMoveEvent 252 152 0 0 0 0 i\n"
"MouseMoveEvent 253 152 0 0 0 0 i\n"
"MouseMoveEvent 253 151 0 0 0 0 i\n"
"MouseMoveEvent 254 151 0 0 0 0 i\n"
"LeftButtonPressEvent 254 151 0 0 0 0 i\n"
"MouseMoveEvent 253 150 0 0 0 0 i\n"
"MouseMoveEvent 251 148 0 0 0 0 i\n"
"MouseMoveEvent 248 145 0 0 0 0 i\n"
"MouseMoveEvent 243 141 0 0 0 0 i\n"
"MouseMoveEvent 240 137 0 0 0 0 i\n"
"MouseMoveEvent 236 133 0 0 0 0 i\n"
"MouseMoveEvent 234 130 0 0 0 0 i\n"
"MouseMoveEvent 232 128 0 0 0 0 i\n"
"MouseMoveEvent 229 125 0 0 0 0 i\n"
"MouseMoveEvent 226 122 0 0 0 0 i\n"
"MouseMoveEvent 222 118 0 0 0 0 i\n"
"MouseMoveEvent 219 115 0 0 0 0 i\n"
"MouseMoveEvent 217 112 0 0 0 0 i\n"
"MouseMoveEvent 215 110 0 0 0 0 i\n"
"MouseMoveEvent 212 107 0 0 0 0 i\n"
"MouseMoveEvent 210 103 0 0 0 0 i\n"
"MouseMoveEvent 207 100 0 0 0 0 i\n"
"MouseMoveEvent 203 96 0 0 0 0 i\n"
"MouseMoveEvent 199 94 0 0 0 0 i\n"
"MouseMoveEvent 196 91 0 0 0 0 i\n"
"MouseMoveEvent 193 88 0 0 0 0 i\n"
"MouseMoveEvent 191 86 0 0 0 0 i\n"
"MouseMoveEvent 188 83 0 0 0 0 i\n"
"MouseMoveEvent 186 80 0 0 0 0 i\n"
"MouseMoveEvent 182 78 0 0 0 0 i\n"
"MouseMoveEvent 179 75 0 0 0 0 i\n"
"MouseMoveEvent 175 73 0 0 0 0 i\n"
"MouseMoveEvent 172 70 0 0 0 0 i\n"
"MouseMoveEvent 169 68 0 0 0 0 i\n"
"MouseMoveEvent 167 65 0 0 0 0 i\n"
"MouseMoveEvent 164 63 0 0 0 0 i\n"
"MouseMoveEvent 162 60 0 0 0 0 i\n"
"MouseMoveEvent 160 58 0 0 0 0 i\n"
"MouseMoveEvent 157 56 0 0 0 0 i\n"
"MouseMoveEvent 155 55 0 0 0 0 i\n"
"MouseMoveEvent 153 53 0 0 0 0 i\n"
"MouseMoveEvent 151 51 0 0 0 0 i\n"
"MouseMoveEvent 149 49 0 0 0 0 i\n"
"MouseMoveEvent 148 47 0 0 0 0 i\n"
"MouseMoveEvent 147 46 0 0 0 0 i\n"
"MouseMoveEvent 145 44 0 0 0 0 i\n"
"MouseMoveEvent 143 41 0 0 0 0 i\n"
"MouseMoveEvent 142 40 0 0 0 0 i\n"
"MouseMoveEvent 141 40 0 0 0 0 i\n"
"MouseMoveEvent 140 39 0 0 0 0 i\n"
"MouseMoveEvent 139 37 0 0 0 0 i\n"
"MouseMoveEvent 138 36 0 0 0 0 i\n"
"MouseMoveEvent 138 35 0 0 0 0 i\n"
"MouseMoveEvent 137 35 0 0 0 0 i\n"
"MouseMoveEvent 136 34 0 0 0 0 i\n"
"MouseMoveEvent 135 32 0 0 0 0 i\n"
"MouseMoveEvent 134 32 0 0 0 0 i\n"
"MouseMoveEvent 134 33 0 0 0 0 i\n"
"MouseMoveEvent 132 34 0 0 0 0 i\n"
"MouseMoveEvent 131 37 0 0 0 0 i\n"
"MouseMoveEvent 129 40 0 0 0 0 i\n"
"MouseMoveEvent 127 44 0 0 0 0 i\n"
"MouseMoveEvent 126 49 0 0 0 0 i\n"
"MouseMoveEvent 123 53 0 0 0 0 i\n"
"MouseMoveEvent 121 56 0 0 0 0 i\n"
"MouseMoveEvent 118 60 0 0 0 0 i\n"
"MouseMoveEvent 115 63 0 0 0 0 i\n"
"MouseMoveEvent 112 66 0 0 0 0 i\n"
"MouseMoveEvent 110 68 0 0 0 0 i\n"
"MouseMoveEvent 108 71 0 0 0 0 i\n"
"MouseMoveEvent 105 73 0 0 0 0 i\n"
"MouseMoveEvent 102 75 0 0 0 0 i\n"
"MouseMoveEvent 99 78 0 0 0 0 i\n"
"MouseMoveEvent 96 80 0 0 0 0 i\n"
"MouseMoveEvent 93 83 0 0 0 0 i\n"
"MouseMoveEvent 91 85 0 0 0 0 i\n"
"MouseMoveEvent 88 87 0 0 0 0 i\n"
"MouseMoveEvent 85 90 0 0 0 0 i\n"
"MouseMoveEvent 82 93 0 0 0 0 i\n"
"MouseMoveEvent 79 95 0 0 0 0 i\n"
"MouseMoveEvent 76 96 0 0 0 0 i\n"
"MouseMoveEvent 73 97 0 0 0 0 i\n"
"MouseMoveEvent 70 99 0 0 0 0 i\n"
"MouseMoveEvent 67 101 0 0 0 0 i\n"
"MouseMoveEvent 64 102 0 0 0 0 i\n"
"MouseMoveEvent 62 104 0 0 0 0 i\n"
"MouseMoveEvent 58 105 0 0 0 0 i\n"
"MouseMoveEvent 54 105 0 0 0 0 i\n"
"MouseMoveEvent 51 106 0 0 0 0 i\n"
"MouseMoveEvent 47 107 0 0 0 0 i\n"
"MouseMoveEvent 45 109 0 0 0 0 i\n"
"MouseMoveEvent 44 110 0 0 0 0 i\n"
"MouseMoveEvent 43 112 0 0 0 0 i\n"
"MouseMoveEvent 41 113 0 0 0 0 i\n"
"MouseMoveEvent 40 115 0 0 0 0 i\n"
"MouseMoveEvent 39 117 0 0 0 0 i\n"
"MouseMoveEvent 38 119 0 0 0 0 i\n"
"MouseMoveEvent 38 120 0 0 0 0 i\n"
"MouseMoveEvent 38 123 0 0 0 0 i\n"
"MouseMoveEvent 38 125 0 0 0 0 i\n"
"MouseMoveEvent 38 128 0 0 0 0 i\n"
"MouseMoveEvent 38 129 0 0 0 0 i\n"
"MouseMoveEvent 37 131 0 0 0 0 i\n"
"MouseMoveEvent 36 132 0 0 0 0 i\n"
"MouseMoveEvent 35 133 0 0 0 0 i\n"
"MouseMoveEvent 34 134 0 0 0 0 i\n"
"MouseMoveEvent 33 134 0 0 0 0 i\n"
"MouseMoveEvent 31 134 0 0 0 0 i\n"
"MouseMoveEvent 30 134 0 0 0 0 i\n"
"MouseMoveEvent 29 134 0 0 0 0 i\n"
"MouseMoveEvent 28 135 0 0 0 0 i\n"
"MouseMoveEvent 26 136 0 0 0 0 i\n"
"MouseMoveEvent 24 137 0 0 0 0 i\n"
"MouseMoveEvent 23 140 0 0 0 0 i\n"
"MouseMoveEvent 22 141 0 0 0 0 i\n"
"MouseMoveEvent 21 142 0 0 0 0 i\n"
"MouseMoveEvent 21 143 0 0 0 0 i\n"
"MouseMoveEvent 21 144 0 0 0 0 i\n"
"MouseMoveEvent 20 145 0 0 0 0 i\n"
"MouseMoveEvent 19 146 0 0 0 0 i\n"
"MouseMoveEvent 19 148 0 0 0 0 i\n"
"MouseMoveEvent 19 149 0 0 0 0 i\n"
"MouseMoveEvent 19 150 0 0 0 0 i\n"
"MouseMoveEvent 19 151 0 0 0 0 i\n"
"MouseMoveEvent 19 152 0 0 0 0 i\n"
"MouseMoveEvent 19 153 0 0 0 0 i\n"
"MouseMoveEvent 18 154 0 0 0 0 i\n"
"MouseMoveEvent 18 155 0 0 0 0 i\n"
"MouseMoveEvent 18 156 0 0 0 0 i\n"
"MouseMoveEvent 18 157 0 0 0 0 i\n"
"MouseMoveEvent 18 158 0 0 0 0 i\n"
"MouseMoveEvent 18 159 0 0 0 0 i\n"
"MouseMoveEvent 19 160 0 0 0 0 i\n"
"MouseMoveEvent 19 161 0 0 0 0 i\n"
"MouseMoveEvent 19 162 0 0 0 0 i\n"
"MouseMoveEvent 19 163 0 0 0 0 i\n"
"MouseMoveEvent 24 165 0 0 0 0 i\n"
"MouseMoveEvent 40 168 0 0 0 0 i\n"
"MouseMoveEvent 58 170 0 0 0 0 i\n"
"MouseMoveEvent 62 171 0 0 0 0 i\n"
"MouseMoveEvent 76 174 0 0 0 0 i\n"
"MouseMoveEvent 80 176 0 0 0 0 i\n"
"MouseMoveEvent 84 178 0 0 0 0 i\n"
"MouseMoveEvent 88 179 0 0 0 0 i\n"
"MouseMoveEvent 90 181 0 0 0 0 i\n"
"MouseMoveEvent 92 182 0 0 0 0 i\n"
"MouseMoveEvent 95 183 0 0 0 0 i\n"
"MouseMoveEvent 100 186 0 0 0 0 i\n"
"MouseMoveEvent 103 188 0 0 0 0 i\n"
"MouseMoveEvent 106 190 0 0 0 0 i\n"
"MouseMoveEvent 109 192 0 0 0 0 i\n"
"MouseMoveEvent 112 194 0 0 0 0 i\n"
"MouseMoveEvent 114 196 0 0 0 0 i\n"
"MouseMoveEvent 118 199 0 0 0 0 i\n"
"MouseMoveEvent 122 202 0 0 0 0 i\n"
"MouseMoveEvent 125 206 0 0 0 0 i\n"
"MouseMoveEvent 127 208 0 0 0 0 i\n"
"MouseMoveEvent 128 210 0 0 0 0 i\n"
"MouseMoveEvent 129 212 0 0 0 0 i\n"
"MouseMoveEvent 131 214 0 0 0 0 i\n"
"MouseMoveEvent 133 217 0 0 0 0 i\n"
"MouseMoveEvent 134 219 0 0 0 0 i\n"
"MouseMoveEvent 135 221 0 0 0 0 i\n"
"MouseMoveEvent 136 223 0 0 0 0 i\n"
"MouseMoveEvent 137 225 0 0 0 0 i\n"
"MouseMoveEvent 137 227 0 0 0 0 i\n"
"MouseMoveEvent 137 230 0 0 0 0 i\n"
"MouseMoveEvent 137 231 0 0 0 0 i\n"
"MouseMoveEvent 138 233 0 0 0 0 i\n"
"MouseMoveEvent 138 234 0 0 0 0 i\n"
"MouseMoveEvent 138 235 0 0 0 0 i\n"
"MouseMoveEvent 138 236 0 0 0 0 i\n"
"MouseMoveEvent 138 238 0 0 0 0 i\n"
"MouseMoveEvent 138 239 0 0 0 0 i\n"
"MouseMoveEvent 138 241 0 0 0 0 i\n"
"MouseMoveEvent 138 243 0 0 0 0 i\n"
"MouseMoveEvent 139 245 0 0 0 0 i\n"
"MouseMoveEvent 138 247 0 0 0 0 i\n"
"MouseMoveEvent 138 248 0 0 0 0 i\n"
"MouseMoveEvent 138 249 0 0 0 0 i\n"
"MouseMoveEvent 138 250 0 0 0 0 i\n"
"MouseMoveEvent 137 252 0 0 0 0 i\n"
"MouseMoveEvent 136 254 0 0 0 0 i\n"
"MouseMoveEvent 136 255 0 0 0 0 i\n"
"MouseMoveEvent 135 256 0 0 0 0 i\n"
"MouseMoveEvent 135 257 0 0 0 0 i\n"
"MouseMoveEvent 135 258 0 0 0 0 i\n"
"MouseMoveEvent 135 259 0 0 0 0 i\n"
"MouseMoveEvent 135 260 0 0 0 0 i\n"
"MouseMoveEvent 136 262 0 0 0 0 i\n"
"MouseMoveEvent 136 263 0 0 0 0 i\n"
"MouseMoveEvent 136 264 0 0 0 0 i\n"
"MouseMoveEvent 136 265 0 0 0 0 i\n"
"MouseMoveEvent 137 266 0 0 0 0 i\n"
"MouseMoveEvent 138 267 0 0 0 0 i\n"
"MouseMoveEvent 139 267 0 0 0 0 i\n"
"MouseMoveEvent 140 268 0 0 0 0 i\n"
"MouseMoveEvent 140 269 0 0 0 0 i\n"
"LeftButtonReleaseEvent 140 269 0 0 0 0 i\n"
"MouseMoveEvent 140 269 0 0 0 0 i\n"
"MouseMoveEvent 139 269 0 0 0 0 i\n"
"MouseMoveEvent 136 268 0 0 0 0 i\n"
"MouseMoveEvent 131 268 0 0 0 0 i\n"
"MouseMoveEvent 127 267 0 0 0 0 i\n"
"MouseMoveEvent 113 266 0 0 0 0 i\n"
"MouseMoveEvent 97 263 0 0 0 0 i\n"
"MouseMoveEvent 79 260 0 0 0 0 i\n"
"MouseMoveEvent 65 258 0 0 0 0 i\n"
"MouseMoveEvent 63 258 0 0 0 0 i\n"
"MouseMoveEvent 60 257 0 0 0 0 i\n"
"MouseMoveEvent 58 257 0 0 0 0 i\n"
"MouseMoveEvent 56 256 0 0 0 0 i\n"
"MouseMoveEvent 53 255 0 0 0 0 i\n"
"MouseMoveEvent 49 254 0 0 0 0 i\n"
"MouseMoveEvent 45 252 0 0 0 0 i\n"
"MouseMoveEvent 41 251 0 0 0 0 i\n"
"MouseMoveEvent 38 250 0 0 0 0 i\n"
"MouseMoveEvent 36 250 0 0 0 0 i\n"
"MouseMoveEvent 34 250 0 0 0 0 i\n"
"MouseMoveEvent 33 249 0 0 0 0 i\n"
"MouseMoveEvent 31 249 0 0 0 0 i\n"
"MouseMoveEvent 30 249 0 0 0 0 i\n"
"MouseMoveEvent 30 248 0 0 0 0 i\n"
"MouseMoveEvent 29 248 0 0 0 0 i\n"
"MouseMoveEvent 28 248 0 0 0 0 i\n"
"MouseMoveEvent 27 248 0 0 0 0 i\n"
"MouseMoveEvent 27 249 0 0 0 0 i\n"
"MouseMoveEvent 28 250 0 0 0 0 i\n"
"MouseMoveEvent 29 250 0 0 0 0 i\n"
"MouseMoveEvent 30 250 0 0 0 0 i\n"
"MouseMoveEvent 30 251 0 0 0 0 i\n"
"MouseMoveEvent 30 252 0 0 0 0 i\n"
"MouseMoveEvent 31 252 0 0 0 0 i\n"
"MouseMoveEvent 32 252 0 0 0 0 i\n"
"MouseMoveEvent 33 253 0 0 0 0 i\n"
"MouseMoveEvent 34 253 0 0 0 0 i\n"
"MouseMoveEvent 35 253 0 0 0 0 i\n"
"MouseMoveEvent 36 253 0 0 0 0 i\n"
"MouseMoveEvent 37 253 0 0 0 0 i\n"
"MouseMoveEvent 38 253 0 0 0 0 i\n"
"LeftButtonPressEvent 38 253 0 0 0 0 i\n"
"MouseMoveEvent 41 254 0 0 0 0 i\n"
"MouseMoveEvent 55 255 0 0 0 0 i\n"
"MouseMoveEvent 75 257 0 0 0 0 i\n"
"MouseMoveEvent 91 259 0 0 0 0 i\n"
"MouseMoveEvent 96 260 0 0 0 0 i\n"
"MouseMoveEvent 97 260 0 0 0 0 i\n"
"MouseMoveEvent 98 260 0 0 0 0 i\n"
"MouseMoveEvent 99 260 0 0 0 0 i\n"
"MouseMoveEvent 101 260 0 0 0 0 i\n"
"MouseMoveEvent 102 260 0 0 0 0 i\n"
"MouseMoveEvent 104 260 0 0 0 0 i\n"
"MouseMoveEvent 107 260 0 0 0 0 i\n"
"MouseMoveEvent 111 260 0 0 0 0 i\n"
"MouseMoveEvent 114 261 0 0 0 0 i\n"
"MouseMoveEvent 116 261 0 0 0 0 i\n"
"MouseMoveEvent 118 260 0 0 0 0 i\n"
"MouseMoveEvent 120 259 0 0 0 0 i\n"
"MouseMoveEvent 122 259 0 0 0 0 i\n"
"MouseMoveEvent 124 259 0 0 0 0 i\n"
"MouseMoveEvent 126 259 0 0 0 0 i\n"
"MouseMoveEvent 127 259 0 0 0 0 i\n"
"MouseMoveEvent 128 258 0 0 0 0 i\n"
"MouseMoveEvent 130 258 0 0 0 0 i\n"
"MouseMoveEvent 132 258 0 0 0 0 i\n"
"MouseMoveEvent 133 258 0 0 0 0 i\n"
"MouseMoveEvent 134 258 0 0 0 0 i\n"
"MouseMoveEvent 135 258 0 0 0 0 i\n"
"MouseMoveEvent 136 258 0 0 0 0 i\n"
"MouseMoveEvent 137 258 0 0 0 0 i\n"
"MouseMoveEvent 138 258 0 0 0 0 i\n"
"MouseMoveEvent 139 258 0 0 0 0 i\n"
"LeftButtonReleaseEvent 139 258 0 0 0 0 i\n"
"MouseMoveEvent 139 258 0 0 0 0 i\n"
"MouseMoveEvent 138 258 0 0 0 0 i\n"
"MouseMoveEvent 136 256 0 0 0 0 i\n"
"MouseMoveEvent 135 255 0 0 0 0 i\n"
"MouseMoveEvent 134 255 0 0 0 0 i\n"
"MouseMoveEvent 134 253 0 0 0 0 i\n"
"MouseMoveEvent 133 253 0 0 0 0 i\n"
"MouseMoveEvent 132 252 0 0 0 0 i\n"
"MouseMoveEvent 130 251 0 0 0 0 i\n"
"MouseMoveEvent 128 250 0 0 0 0 i\n"
"MouseMoveEvent 126 249 0 0 0 0 i\n"
"MouseMoveEvent 124 249 0 0 0 0 i\n"
"MouseMoveEvent 124 248 0 0 0 0 i\n"
"MouseMoveEvent 123 248 0 0 0 0 i\n"
"MouseMoveEvent 122 247 0 0 0 0 i\n"
"MouseMoveEvent 121 246 0 0 0 0 i\n"
"MouseMoveEvent 121 245 0 0 0 0 i\n"
"MouseMoveEvent 120 244 0 0 0 0 i\n"
"KeyPressEvent 120 244 0 0 105 1 i\n"
;
class vtkScalarKeyboardCommand : public vtkCommand
{
public:
static vtkScalarKeyboardCommand* New()
{
return new vtkScalarKeyboardCommand;
}
virtual void Execute( vtkObject *caller, unsigned long vtkNotUsed(eventId), void* vtkNotUsed(callData) )
{
vtkRenderWindowInteractor* ri = vtkRenderWindowInteractor::SafeDownCast( caller );
if ( this->Lookup && this->RenderWindow && ri )
{
if ( ri->GetKeySym()[0] == 'u' )
{
this->Lookup->SetIndexedLookup( ! this->Lookup->GetIndexedLookup() );
cout << "Index mode " << ( this->Lookup->GetIndexedLookup() ? "ON" : "OFF" ) << "\n";
}
else if ( ri->GetKeySym()[0] == 'd' )
{
this->ScalarBar->SetDrawBackground( ! this->ScalarBar->GetDrawBackground() );
cout << "Background " << ( this->ScalarBar->GetDrawBackground() ? "ON" : "OFF" ) << "\n";
}
else if ( ri->GetKeySym()[0] == 'k' )
{
this->ScalarBar->SetTextPosition(
this->ScalarBar->GetTextPosition() == vtkScalarBarActor::PrecedeScalarBar ?
vtkScalarBarActor::SucceedScalarBar :
vtkScalarBarActor::PrecedeScalarBar
);
cout
<< "Text position "
<< ( this->ScalarBar->GetTextPosition() == vtkScalarBarActor::PrecedeScalarBar ? "PRECEDE" : "SUCCEED" )
<< "\n";
}
else if ( ri->GetKeySym()[0] == 'h' )
{
vtkIdType idx = this->Lookup->GetAnnotatedValueIndex( 4.00 );
if ( idx >= 0 )
{
vtkStdString prev = this->Lookup->GetAnnotation( idx );
this->Lookup->SetAnnotation( 4.00, prev.empty() ? "No" : "" );
}
}
else if ( ri->GetKeySym()[0] == 't' )
{
this->ScalarBar->SetDrawAnnotations(!this->ScalarBar->GetDrawAnnotations());
cout
<< "Draw annotation "
<< ( this->ScalarBar->GetDrawAnnotations() ? "ON" : "OFF" )
<< "\n";
}
else if ( ri->GetKeySym()[0] == 'n' )
{
this->ScalarBar->SetDrawNanAnnotation(!this->ScalarBar->GetDrawNanAnnotation());
cout
<< "Draw NaN annotation "
<< ( this->ScalarBar->GetDrawNanAnnotation() ? "ON" : "OFF" )
<< "\n";
}
else if ( ri->GetKeySym()[0] == 'l' )
{
this->ScalarBar->SetFixedAnnotationLeaderLineColor(!this->ScalarBar->GetFixedAnnotationLeaderLineColor());
cout
<< "Use fixed leader line color for annotations "
<< ( this->ScalarBar->GetFixedAnnotationLeaderLineColor() ? "YES" : "NO" )
<< "\n";
}
cout.flush();
this->RenderWindow->Render();
}
}
vtkLookupTable* Lookup;
vtkRenderWindow* RenderWindow;
vtkScalarBarActor* ScalarBar;
};
int TestIndexedLookupScalarBar( int argc, char *argv[] )
{
char* fname =
vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/combxyz.bin");
char* fname2 =
vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/combq.bin");
// Start by loading some data.
vtkSmartPointer<vtkMultiBlockPLOT3DReader> pl3d =
vtkSmartPointer<vtkMultiBlockPLOT3DReader>::New();
pl3d->SetXYZFileName(fname);
pl3d->SetQFileName(fname2);
pl3d->SetScalarFunctionNumber(100);
pl3d->SetVectorFunctionNumber(202);
pl3d->Update();
vtkDataSet* pl3d_block0 = vtkDataSet::SafeDownCast(pl3d->GetOutput()->GetBlock(0));
delete [] fname;
delete [] fname2;
// An outline is shown for context.
vtkSmartPointer<vtkStructuredGridGeometryFilter> outline =
vtkSmartPointer<vtkStructuredGridGeometryFilter>::New();
outline->SetInputData(pl3d_block0);
outline->SetExtent(0,100,0,100,9,9);
vtkSmartPointer<vtkBandedPolyDataContourFilter> bands = vtkSmartPointer<vtkBandedPolyDataContourFilter>::New();
bands->SetInputConnection( outline->GetOutputPort() );
bands->SetNumberOfContours( 4 );
bands->SetScalarModeToIndex();
bands->SetValue( 0, 0.205 );
bands->SetValue( 1, 0.212 );
bands->SetValue( 2, 0.220 );
bands->SetValue( 3, 0.235 );
bands->ClippingOn();
bands->Update();
vtkSmartPointer<vtkPolyDataMapper> outlineMapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
outlineMapper->SetInputConnection(bands->GetOutputPort());
outlineMapper->SetScalarModeToUseCellData();
outlineMapper->SelectColorArray( "Scalars" );
outlineMapper->UseLookupTableScalarRangeOn();
vtkSmartPointer<vtkActor> outlineActor =
vtkSmartPointer<vtkActor>::New();
outlineActor->SetMapper(outlineMapper);
// Create the RenderWindow, Renderer and both Actors
//
vtkSmartPointer<vtkRenderer> ren1 =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renWin =
vtkSmartPointer<vtkRenderWindow>::New();
renWin->AddRenderer(ren1);
vtkSmartPointer<vtkRenderWindowInteractor> iren =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
iren->SetRenderWindow(renWin);
vtkSmartPointer<vtkScalarBarWidget> scalarWidget =
vtkSmartPointer<vtkScalarBarWidget>::New();
scalarWidget->SetInteractor(iren);
scalarWidget->GetScalarBarActor()->SetTitle("Temperature");
scalarWidget->GetScalarBarActor()->SetNumberOfLabels(5);
scalarWidget->GetScalarBarActor()->SetTextPositionToSucceedScalarBar();
scalarWidget->GetScalarBarActor()->DrawNanAnnotationOn();
scalarWidget->GetScalarBarActor()->GetBackgroundProperty()->SetColor(0.5, 0.5, 0.5);
//scalarWidget->GetScalarBarActor()->DrawNanAnnotationOff();
scalarWidget->GetScalarBarActor()->SetLookupTable(outlineMapper->GetLookupTable());
vtkSmartPointer<vtkLookupTable> lutBC = vtkSmartPointer<vtkLookupTable>::New();
vtkSmartPointer<vtkScalarBarWidget> scalarWidgetB =
vtkSmartPointer<vtkScalarBarWidget>::New();
scalarWidgetB->SetInteractor(iren);
scalarWidgetB->GetScalarBarActor()->SetTitle("$\\rho [kg/m^3]$");
scalarWidgetB->GetScalarBarActor()->SetLookupTable( lutBC );
scalarWidgetB->GetScalarBarActor()->SetOrientationToHorizontal();
scalarWidgetB->GetScalarBarActor()->SetTextPositionToPrecedeScalarBar();
vtkScalarBarRepresentation* srep = vtkScalarBarRepresentation::SafeDownCast( scalarWidgetB->GetRepresentation() );
srep->SetPosition( 0.053495, 0.053796 );
srep->SetPosition2( 0.331773, 0.106455 );
scalarWidgetB->ProcessEventsOff();
scalarWidgetB->EnabledOn();
vtkSmartPointer<vtkScalarBarWidget> scalarWidgetC =
vtkSmartPointer<vtkScalarBarWidget>::New();
scalarWidgetC->SetInteractor(iren);
scalarWidgetC->GetScalarBarActor()->SetTitle("Destiny, $\\sigma$");
scalarWidgetC->GetScalarBarActor()->SetLookupTable( lutBC );
scalarWidgetC->GetScalarBarActor()->SetOrientationToVertical();
scalarWidgetC->GetScalarBarActor()->FixedAnnotationLeaderLineColorOn();
scalarWidgetC->GetScalarBarActor()->GetLabelTextProperty()->SetColor(.8, .8, .8);
scalarWidgetC->GetScalarBarActor()->SetTextPositionToSucceedScalarBar();
srep = vtkScalarBarRepresentation::SafeDownCast( scalarWidgetC->GetRepresentation() );
srep->SetPosition( 0.861806, 0.0615385 );
srep->SetPosition2( 0.1399, 0.405351 );
scalarWidgetC->ProcessEventsOff();
scalarWidgetC->EnabledOn();
ren1->AddActor(outlineActor);
// Add the actors to the renderer, set the background and size
//
ren1->SetBackground(0.1, 0.2, 0.4);
renWin->SetSize(300, 300);
// record events
vtkSmartPointer<vtkInteractorEventRecorder> recorder =
vtkSmartPointer<vtkInteractorEventRecorder>::New();
recorder->SetInteractor(iren);
// recorder->SetFileName("c:/record.log");
// recorder->Record();
recorder->ReadFromInputStringOn();
recorder->SetInputString(TISBeventLog);
vtkSmartPointer<vtkScalarKeyboardCommand> cb = vtkSmartPointer<vtkScalarKeyboardCommand>::New();
vtkSmartPointer<vtkColorSeries> pal = vtkSmartPointer<vtkColorSeries>::New();
pal->SetColorSchemeByName( "Brewer Sequential Blue-Green (5)" );
cb->Lookup = vtkLookupTable::SafeDownCast( scalarWidget->GetScalarBarActor()->GetLookupTable() );
cb->ScalarBar = scalarWidget->GetScalarBarActor();
scalarWidget->GetScalarBarActor()->SetMaximumNumberOfColors( 5 * 5 );
//cb->ScalarBar->SetAnnotationLeaderPadding( 8. );
pal->BuildLookupTable( cb->Lookup );
//cb->Lookup->IndexedLookupOff();
cb->Lookup->SetAnnotation( 5.00, "Just Wow" );
cb->Lookup->SetAnnotation( 4.00, "Super-Special" );
cb->Lookup->SetAnnotation( 3.00, "Amazingly Special" );
cb->Lookup->SetAnnotation( 1.00, "Special" );
cb->Lookup->SetAnnotation( 0.00, "Special $\\cap$ This $= \\emptyset$" );
cb->Lookup->SetRange( 0., 4. );
cb->RenderWindow = renWin;
// Now make a second set of annotations with an even number of entries (10).
// This tests another branch of the annotation label positioning code.
pal->SetColorSchemeByName( "Brewer Diverging Purple-Orange (10)" );
pal->BuildLookupTable( lutBC );
lutBC->SetAnnotation( 5.00, "A" );
lutBC->SetAnnotation( 4.00, "B" );
lutBC->SetAnnotation( 3.00, "C" );
lutBC->SetAnnotation( 2.00, "D" );
lutBC->SetAnnotation( 1.00, "E" );
lutBC->SetAnnotation( 0.00, "F" );
lutBC->SetAnnotation( 6.00, "G" );
lutBC->SetAnnotation( 7.00, "H" );
lutBC->SetAnnotation( 8.00, "I" );
lutBC->SetAnnotation( 9.00, "J" );
// render the image
iren->Initialize();
renWin->Render();
//scalarWidget->EnabledOn(); // foo
iren->AddObserver( vtkCommand::KeyPressEvent, cb );
recorder->Play();
//recorder->EnabledOn();
// Remove the observers so we can go interactive. Without this the "-I"
// testing option fails.
recorder->Off();
iren->Start();
recorder->Off();
#if 0 // Use this to get positions for statically-placed scalar bars that test an even number of annotations.
srep = vtkScalarBarRepresentation::SafeDownCast( scalarWidget->GetRepresentation() );
double* foo;
foo = srep->GetPosition();
cout << foo[0] << ", " << foo[1] << "\n";
foo = srep->GetPosition2();
cout << foo[0] << ", " << foo[1] << "\n";
#endif
return EXIT_SUCCESS;
}
|