1. 30 Aug, 2012 1 commit
  2. 28 Aug, 2012 3 commits
    • David C. Lonie's avatar
      Reuse vtkTextActor3D implementation as base for vtkMathTextActor3D. · 2b09d845
      David C. Lonie authored
      Also implement a fallback text mechanism for the math text actor.
      Change-Id: I3c4aac19453883ac65933204e3b2e402134f1c37
    • David C. Lonie's avatar
      Clean up vtkTextActor and reuse more of it in vtkMathTextActor. · f5269a91
      David C. Lonie authored
      vtkTextActor changes:
      * Replace this->vtkActor2D:: with this->Superclass::
      * Abstract image renderering and bounding box calculation to protected
      * Copy Input string during shallow copy.
      * Implement GetBounds()
      * Add Input to PrintSelf output
      vtkMathTextActor changes:
      * Add a FallbackText member that will be rendered by FreeTypeUtilities
        if MathText support is unavailable.
      * Removed a large amount of code that was copied/reimplemented from
      * Implement new virtuals from vtkTextActor that render MathText if
        possible, otherwise render fallback text.
      Change-Id: Ibb7aa51ec46e7778b9535dd62a00d7ef9395cd8c
    • David C. Lonie's avatar
      Add GetBoundingBox and use rotations in MathTextUtils. · ee51878e
      David C. Lonie authored
      This patch adds a GetBoundingBox function to vtkMathTextUtilities
      and applies rotations from the supplied vtkTextProperty.
      The matplotlib MathText interface doesn't have an entry point to
      just get the bounding box, so the image is rendered by python as normal,
      and then the dimensions are returned.
      The MathText library doesn't support rendering rotated text directly,
      so a vtkImageReslice filter is used to rotate the image.
      Change-Id: I65be970af47c7f8de65f6279c922b6b001f62780
  3. 27 Aug, 2012 3 commits
    • David Thompson's avatar
      Fix annotation label placement. · 22e64084
      David Thompson authored
      The previous test did not render the scalar bar with
      an even number of labels and missed a bug in the placement
      for that case; this fixes things and modifies the test
      to include multiple scalar bars with both even and odd
      numbers of labels.
      Change-Id: I09fb46fe7cbd19ec70f12a9969d2455d1453945c
    • David C. Lonie's avatar
      Silence some compiler warnings in GL2PS code. · fd8b9c8c
      David C. Lonie authored
      Change-Id: I10abbad8781b612cda4b1219d467049bd3d942fa
    • David C. Lonie's avatar
      Change function signatures for more consistent style. · 3f5709af
      David C. Lonie authored
      Functions were returning new objects, but were inappropriately named.
      This patch changes these functions to populate input objects, rather than
      creating new ones.
      Change-Id: I9288848094b1480cc4c2a8ce0ef3f01e4bd219e9
  4. 24 Aug, 2012 2 commits
    • David Thompson's avatar
      Don't downcast; vtkScalarsToColors has annotations. · 9fe86ac4
      David Thompson authored
      Change-Id: I923f9708c70f8f817c4b1f77592c6cf8a0e8e6d2
    • Yuanxin Liu's avatar
      AMR classes: major data structure changes · 8fc6cf25
      Yuanxin Liu authored
      The main motivation for the changes is to improve the efficiency
      of AMR data structures by replacing the data set containers and meta
      data representation with new data structures.
      First, the meta data associated with the AMR data is moved from
      vtkInformation to a new class vtkAMRInformation so that they do not
      have to be deep copied. Related changes also include:
      - Before, when the LOAD_REQUESTED_BLOCKS() key is not set, the reader
        would recompute AMR meta data based on the requested blocks.  This
        is no longer done: meta data always represents what is on file.
        The reason is to avoid the sensitive meta data computation that
        depends on connectivitiy of the requested blocks.
      - Processor ranks are no longer stored in the meta data. Filters
        can easily generate them by using
      - There used to be two types of 1D indices used to reference blocks in
        an AMR: vtkOverlappingAMR::GetFlatIndex and
        vtkOverlappingAMR::GetCompositeIndex. Now only the latter is used.
        The "other" 1D index is file type specific so now only the readers
        reference them (vtkAMRInformation::GetAMRBlockSourceIndex())
      - To make it easy to traversal the bounding boxes in the meta data. A
        new key vtkObject::BOUNDING_BOX() has been added that works with
        vtkOverlappingAMRDataIterator. See its use in vtkCompositeCutter for
        an example.
      - In a multiprocess setting, vtkAMRSliceFilter for each process computes
        the complete meta data to avoid communication
      - Many functions in vtkAMRUtilities are removed because they provide
        support for computing meta data from data sets. In the new design,
        meta information is always created before data sets are constructed.
      Second, VtkUniformGridAMR now use a more compact representation of the grid
      blocks than the tree implementation done previously. To facilicate
      this, vtkCompositeDataSet now becomes a fully abstract class and all
      concrete implementation gest pushed to the class vtkDataObjectTree.
      In the new implementation, the non-null blocks are stored in an stl
      vector. So traversing them (using vtkUniformGridAMRDataIterator) is
      - The AMRBox has been reduced to store only the lower and upper
        corners.  Information such as origin and spacing are moved to the
        container class vtkAMRInformation, since they are often common to
        all boxes or boxes on the same level.
      - File reoganization: - AMR File readers are moved from Filters/AMR to
        IO/AMR - AMR algorithms (vtk*AMR*Algorithm) are moved from
        Filters/General to Common/ExecutionModel
      Finally, tkAMRVolumeWrapper is moved from filters to rendering.
      The dependency on vtkAMRResampler and vtkParallelCore makes it
      difficult for it go to Rendering/Volume so a new module
      Rendering/VolumeAMR is created.
      Change-Id: Id73d214e6a5ac4d4a08fde5d979365f46edfa390
  5. 23 Aug, 2012 2 commits
  6. 22 Aug, 2012 1 commit
    • Brian Helba's avatar
      BUG: Fix loop in vtkHardwareSelector::GetPixelInformation · e8a6627d
      Brian Helba authored
      When vtkHardwareSelector::GetPixelInformation was called for the pixel
      {0, 0}, the function would effectively freeze while stuck in a loop.
      The bug was introduced by commit dd4f84d8.
      This commit fixes the bug by reverting the previous commit, and also
      introduces logic to reduce the number of unnecessary recursive calls
      when near the edge of the screen.
      Change-Id: If711026da900e80e0419c79bec0ddf26c8f646cf
  7. 21 Aug, 2012 1 commit
  8. 20 Aug, 2012 9 commits
    • David Thompson's avatar
      Rendering fixes for vtkMathTextActor. · 83053671
      David Thompson authored
      Now `vtkMathTextActor` inherits from `vtkTextActor`
      from the `vtkRenderingFreeType` kit. It uses the `vtkTextActor`
      to render as a fallback when a `vtkMathTextUtilities`
      instance is not available.
      Also, the bounding box is computed properly even before
      a render (by assuming a display resolution in order
      to decide on a texture image size).
      Change-Id: I7f9e41f7714cc4e6e0efb42091dc313e0336fa9d
    • David Thompson's avatar
      Move most annotation stuff to `vtkScalarsToColors`. · de162c7b
      David Thompson authored
      ... which is where it belongs. The only parts remaining
      in `vtkLookupTable` are the changes to `MapValue` and
      `MapScalarsThroughTable2` which are table-specific.
      Change-Id: I47da9d3fb7478d37a560f7019f917952103df9e2
    • David Thompson's avatar
      Leader lines tested. · 60a7a980
      David Thompson authored
      Fixes for empty annotation strings and for both
      TextPosition values (PrecedeScalarBar and SucceedScalarBar).
      Change-Id: I4cff86d1e38c222b8dfa7b2aeb1a2a26afef8842
    • David Thompson's avatar
      Leader lines implemented. · a0645379
      David Thompson authored
      The only untested functionality is how the `TextPosition`
      setting interacts with label and leader placement.
      Change-Id: Ie93e8fe6fb260a990e3da55f03e7c451d8bdb897
    • David Thompson's avatar
      Label horizontal swatches properly. · 039e2574
      David Thompson authored
      Now both horizontal and vertical orientations are annotated
      properly in `IndexedLookup` mode.
      Change-Id: I4d2bcfecdd2b1bc8f72192a7f5706ac7167d4a67
    • David Thompson's avatar
      Better layout of text in vertical case. · d4c03f44
      David Thompson authored
      Now annotation text won't overlap.
      This requires an uncommitted change to vtkMathTextActor
      to properly compute bounding rectangles before the first render.
      Change-Id: I40eb512e4406fb83eae5933264fa72fe6498eda0
    • David Thompson's avatar
      Initial annotation labels. · c4255f1e
      David Thompson authored
      Labels are now allocated and displayed, but
      their positions are only computed for vertical layouts and
      overlap is not prevented. Leader lines are not rendered yet.
      Change-Id: I64ce46cac754dd5dd9b736605c60ec2fe7e79456
    • David Thompson's avatar
      Color swatches for categorical scalar bar. · e7f4e894
      David Thompson authored
      When a `vtkLookupTable` with `IndexedLookup` set to true
      is passed to `vtkScalarBarActor`, the scalar bar is not drawn.
      Instead, a set of distinct color swatches is rendered -- one
      for each annotated value stored in the lookup table.
      The labels stored with each annotation are not yet rendered.
      Change-Id: I3849e5bf99a58ae8884f4061336545781f7b3c65
    • David Thompson's avatar
      Clarify documentation before changes. · 43560e39
      David Thompson authored
      Before we add user-specified annotation, make it clear
      that the pre-existing text annotations were all tick marks.
      Change-Id: I5ec62932e2768255a8149f725561efe39cbf1baf
  9. 17 Aug, 2012 1 commit
    • David Gobbi's avatar
      COMP: Use uintptr_t rather than rely on VTK_SIZEOF_VOID_P. · f92fc0fe
      David Gobbi authored
      Some VTK code was using VTK_SIZEOF_VOID_P to guess which integer
      type was the size of a pointer.  The pointer-sized type uintptr_t
      is a cleaner alternative.  It is part of the C99 standard but is
      already used in VTK elsewhere, so I believe it should be safe to
      use here.
      Change-Id: I9903c6165acd0192ce89b1a374d428a59d29246f
  10. 16 Aug, 2012 5 commits
  11. 15 Aug, 2012 1 commit
    • Jeff Baumes's avatar
      Add vtkGraphMapper to the build · 3d3267d5
      Jeff Baumes authored
      This required removing the unused method ApplyViewTheme()
      in order to avoid a dependency on vtkViewsCore which would have
      defeated the purpose of this being a lighter-weight graph
      rendering class.
      Change-Id: I450d4c15949570d86aaec47547e28bd919a0c208
  12. 14 Aug, 2012 3 commits
    • David Thompson's avatar
      Fix OpenGL shaders for modularization. · 9cc9984b
      David Thompson authored
      Because vtkShaderProgram is in Rendering/Core, it cannot reference the
      subclasses related to OpenGL and Cg. Instead, it should rely on
      the vtkInstantiator class to create subclasses.
      Change-Id: Ib0db69c6256fb22cddd74f64294c192491c9d6bb
    • Dave DeMarle's avatar
      silence more comp warnings · 97fc131d
      Dave DeMarle authored
      Change-Id: Id748d1770f6695f6564070c6466aeaf9804ed3a0
    • Jeff Baumes's avatar
      Add vertex dragging and tooltip to vtkGraphItem · f6269ced
      Jeff Baumes authored
      Updated vtkGraphItem to support vertex dragging, vertex
      tooltips, and a cool-down of the incremental layout so
      it stops after a while. These improvements required the
      following improvements and fixes:
       - The incremental layout now supports a vertex with
         fixed position (the vertex being dragged).
       - Fixed a bug in vtkAbstractContextItem where coordinate
         conversions were not correct if a transform is at the
         root of the scene.
       - Changed the context device to always compute string
         bounds and draw strings 1-1 with screen pixels independent
         of zoom level.
       - Updated the tooltip item to draw at the correct size and
         position independent of scene zoom or translation.
      Change-Id: I0eaa2e1060f13c7faed64235d47c622810ab39c8
  13. 13 Aug, 2012 2 commits
  14. 09 Aug, 2012 2 commits
    • David C. Lonie's avatar
      Capture GL2PS special props in the renderer instead of renderwindow. · e5bcade5
      David C. Lonie authored
      Previously, all props that needed special handling by the GL2PS
      exporter were captured in the RenderWindow, and then renderered in
      each renderer separately. This patch associates each prop with its
      respective renderer so that multiple renderers can be handled correctly.
      Change-Id: I81f365b6a57ce4144f837b64d8b494fd964add7b
    • Brad King's avatar
      Declare a "TCL_NAME" for modules named with digits · a9a87512
      Brad King authored
      Tcl does not support packages with digits in their names.  We map module
      names containing digits to alternative names for Tcl packages.
      Generalize the existing hard-coded mappings to use a per-module declared
      "TCL_NAME" instead.  Add a mapping for vtkIOXdmf2 -> vtkIOXdmfII.
      Change-Id: I2a6d708eadd746191a77b5efdd1a4385dad73810
  15. 08 Aug, 2012 1 commit
  16. 07 Aug, 2012 3 commits
    • Marcus D. Hanwell's avatar
      If vtkContextTransform is non-interactive pass events · 80e1c8aa
      Marcus D. Hanwell authored
      Passing events to the base class if the item is non-interactive, this
      restores pan, zoom and other interactive features in vtkChartXY.
      Change-Id: I7076c0588379360e0e4510867acea10bbd60602d
    • Jeff Baumes's avatar
      Fixing context2d point sprites and graphics item · c4f5f3aa
      Jeff Baumes authored
      The OpenGL 2.0 device needed to load the 1.4 extension for point sprites.
      This was working previously because other rendering code was loading it.
      The QVTKGraphicsItem was not correctly resetting the bound texture to 0.
      Change-Id: I7d187d587116c9d3da4a8b6e23bd66a9fd37c1e2
    • Brad King's avatar
      Do not reference VTK_(SOURCE|BINARY)_DIR from module tests · a6393ad6
      Brad King authored
      The module Testing directories may not refer to VTK_SOURCE_DIR or
      VTK_BINARY_DIR directly since they need to build under the
      Testing/External project outside of VTK.  Since commit 13e19ed9 (Define
      VTK_TEST_OUTPUT_DIR to name Testing/Temporary directory, 2012-04-10) all
      module Testing directories must use VTK_TEST_OUTPUT_DIR to reference
      Testing/Temporary.  Reference the CompareFileMD5.cmake script using a
      relative path within the VTK source tree.
      Change-Id: Ia84e16ff246c5b6b0a05ae1e7e0467a0197e241a