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
      2b09d845
    • 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
        virtuals
      * 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
        vtkTextActor.
      * Implement new virtuals from vtkTextActor that render MathText if
        possible, otherwise render fallback text.
      
      Change-Id: Ibb7aa51ec46e7778b9535dd62a00d7ef9395cd8c
      f5269a91
    • 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
      ee51878e
  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
      22e64084
    • David C. Lonie's avatar
      Silence some compiler warnings in GL2PS code. · fd8b9c8c
      David C. Lonie authored
      Change-Id: I10abbad8781b612cda4b1219d467049bd3d942fa
      fd8b9c8c
    • 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
      3f5709af
  4. 24 Aug, 2012 2 commits
    • David Thompson's avatar
      Don't downcast; vtkScalarsToColors has annotations. · 9fe86ac4
      David Thompson authored
      Change-Id: I923f9708c70f8f817c4b1f77592c6cf8a0e8e6d2
      9fe86ac4
    • 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
        vtkAMRUtilities::DistributeProcessInformation
      
      - 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
      efficient.
      - 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
      8fc6cf25
  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
      e8a6627d
  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
      83053671
    • 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
      de162c7b
    • 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
      60a7a980
    • 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
      a0645379
    • 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
      039e2574
    • 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
      d4c03f44
    • 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
      c4255f1e
    • 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
      e7f4e894
    • 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
      43560e39
  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
      f92fc0fe
  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
      3d3267d5
  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
      9cc9984b
    • Dave DeMarle's avatar
      silence more comp warnings · 97fc131d
      Dave DeMarle authored
      Change-Id: Id748d1770f6695f6564070c6466aeaf9804ed3a0
      97fc131d
    • 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
      f6269ced
  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
      e5bcade5
    • 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
      a9a87512
  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
      80e1c8aa
    • 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
      c4f5f3aa
    • 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
      a6393ad6