1. 10 Mar, 2015 1 commit
  2. 11 Nov, 2014 1 commit
  3. 04 Nov, 2014 2 commits
    • Andrew Bauer's avatar
      Renaming CurrentTime to CurrentTimeValue due to windows mangling issues. · 1eaa8298
      Andrew Bauer authored
      Having a method named GetCurrentTime() has a test failure for
      vtkFiltersFlowPaths-HeaderTest with the error being
      Windows Mangling Violation. Renaming the function name and variable
      to get past that test failure.
      
      Change-Id: I909a600c0ab41c310e83dc916176a73324d43b30
      1eaa8298
    • Andrew Bauer's avatar
      Fixing flow paths correct injection time and ability to add extra arrays. · ca1f2ef8
      Andrew Bauer authored
      The injection time was getting incremented once when it shouldn't
      have been and didn't give any information on the actual time
      step that particles were injected at (instead it was just a counter
      telling how many times before particles were injected). Also, there
      wasn't any good mechanism to figure out the actual simulation time
      for ParticlePaths so I added in functionality in the base class to
      add in extra arrays specific to a concrete flow path algorithm. This
      was then used to add in Simulation Time for particle paths.
      
      Change-Id: Idaaff28439ff2b4c966ec02b871243c1e04e24b3
      ca1f2ef8
  4. 21 May, 2014 2 commits
    • Berk Geveci's avatar
      Fixed compiler warnings. · a4c8e855
      Berk Geveci authored
      Change-Id: I80d4dbda38c7a6d83d6ba3fadeb81cce1154a1b1
      a4c8e855
    • Berk Geveci's avatar
      Refactored how pieces and extents are handled. · 1a0b4e9d
      Berk Geveci authored
      Refactoring the way VTK goes between piece and structured
      extents. Before, extent translators were used when the pipeline
      moved from structured to unstructured data converting piece
      request to extent request. This caused many problems with filters
      that altered extents, mainly a lot of redundant IO due to
      repartitioning of different extents. This became extremely
      cumbersome to manage when running distributed. The new behavior
      pushes the extent translation all to way to the readers and
      only when readers are able to read a subset. This works much
      better. The only downside is that filters need to be able to
      handle data extents different than update extents. Most filters
      can do this but many imaging filters cannot. Those that are
      needed in parallel will have to be updated.
      
      As part of this work, I also removed MAXIMUM_NUMBER_OF_PIECES
      and added CAN_HANDLE_PIECE_REQUEST. MAXIMUM_NUMBER_OF_PIECES had
      reduced to being a boolean. 1 for serial sources, -1 for parallel
      ...
      1a0b4e9d
  5. 06 Feb, 2014 1 commit
    • Berk Geveci's avatar
      Filter was modifying self in request. Fixed. · dca4464c
      Berk Geveci authored
      Filters are not allowed to call functions that call their MTime
      to update during any request passes. vtkParticleTracerBase was
      calling a Set method that did that. Fixed.
      
      Change-Id: I2381c8400eff3d6a081df796ca5726fc89d75a96
      dca4464c
  6. 03 Feb, 2014 1 commit
  7. 15 Jan, 2014 1 commit
    • Berk Geveci's avatar
      Removed priority based streaming and fast path. · 575ebda2
      Berk Geveci authored
      Removed priority based streaming and fast path codes in
      preparation for future refactoring. These were polluting core
      classes despite having a small user base. In the future, they
      may be refactored into the appropriate subclasses and "plugins".
      
      Change-Id: I54562546688c6de468b0068e9b6c65e49c5ec269
      575ebda2
  8. 06 Jan, 2014 1 commit
  9. 05 Jan, 2014 2 commits
  10. 30 Dec, 2013 1 commit
  11. 20 Dec, 2013 1 commit
    • Andrew Bauer's avatar
      Changes to allow for multiblocks and seeds to change over time steps. · f3ef1790
      Andrew Bauer authored
      By default this class assumed that multiblock dataset inputs
      and seeds would not change over time. This is a bad assumption.
      Also, there were variables to turn this behavior off but the
      setter methods were never created. Now, the more general behaviour
      is to assume that multiblock data sets and seeds may change over
      time and to provide the setter methods to change to the more
      efficient calculations based on static information.
      
      Change-Id: Ib4cf5ef818f314708d1aac5e2247a66b59fe7654
      f3ef1790
  12. 01 Sep, 2013 1 commit
  13. 07 Mar, 2013 1 commit
    • Andrew Bauer's avatar
      Adding in warning if the input vtkPointData structures is different. · eab902ac
      Andrew Bauer authored
      These filters use vtkDataSetAttributes to interpolate input
      point data to the output polydata so we need to make sure
      that the point data structures match on all processes and
      data sets. If they don't, the filters now return an error
      and fail.
      
      Change-Id: I639964871d8cf9fdd398e821560050bedd937143
      eab902ac
  14. 25 Oct, 2012 1 commit
    • Yuanxin Liu's avatar
      Fix parallel streakline filter bugs · 0e1ed9ee
      Yuanxin Liu authored
      vtkParticleTracerBase::PreviousOutputPointData needs to shallow copy
      OutputPointData instead of pointer-copy. This is fixed. It is also
      renamed to something better: ParticlePointData, with comments added.
      
      The "<" operator for StreakParticle needs to return false for
      equality. Otherwise, stl sort will crap out with memory corruption.
      
      Fixed a spurious warning
      
      Change-Id: I2e2c6aa1defab135fc6f9b5767ed7f03ba1bcc92
      0e1ed9ee
  15. 28 Aug, 2012 1 commit
  16. 27 Aug, 2012 1 commit
    • Yuanxin Liu's avatar
      particle tracing: fix test failures · de9a241b
      Yuanxin Liu authored
      - Guard against the boundary condition where the previous termination
        time is the last step in the time sequence.  Also add a test to make
        sure this works.
      
       - Fix a problem where iterator an empty stl list is decremented,
        which seems to happen on windows.
      
      Change-Id: I31821a421bf5b9e37dc581777c02f77661d1fae5
      de9a241b
  17. 24 Aug, 2012 2 commits
    • Yuanxin Liu's avatar
      vtkParticleTracerBase:: Improve functionality for coprocessing · 1a13b77f
      Yuanxin Liu authored
      1. Add a flag to disable this->ResetCache()
      2. Remove an unnecessary condition when advancing this->CurrentTimeStep.
         This condition causes extra time requests in a coprocessing work flow
      3. More graceful handling of the situation when there is only one time step
      4. Fixes a few warnings and stylistic issues.
      
      Change-Id: Id562c302a5e5503296a8787dc329607a9389eb18
      1a13b77f
    • 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
  18. 13 Aug, 2012 1 commit
    • Yuanxin Liu's avatar
      Fix bug in streakline filter introduced by f329b260 · 6774210d
      Yuanxin Liu authored
      Previous change to streakline filter is not correct when vtkParticleTracerBase::HasCache
      is true. This is now fixed. In addition, to simplify the code, particle
      (re)injection is done after advection.
      
      Change-Id: I2c2077c386a0c7d7a5edf75eecf4e8367cdc5aac
      6774210d
  19. 24 Jul, 2012 1 commit
    • Yuanxin Liu's avatar
      Add seed points to streak lines · 6d773a3d
      Yuanxin Liu authored
      Previous implementation of streak lines do not include seed points.
      These seed points are now included by injecting them at the last
      step of the particle tracing loop.
      
      Change-Id: Ie00c0bc8c70b01a5b9ba67d676ca686fd0d6df16
      6d773a3d
  20. 08 Jun, 2012 1 commit
  21. 01 Jun, 2012 2 commits
    • Yuanxin Liu's avatar
      rename modules: Tracers->FlowPaths, ParallelTracers->ParallelFlowPaths · 53dd546d
      Yuanxin Liu authored
      Change-Id: I05be37c549fded4eb62c49baf835a2ec8b9700c6
      53dd546d
    • Yuanxin Liu's avatar
      new particle tracers built on top of modified vtkTemporalStreamTracer · 5465f1a1
      Yuanxin Liu authored
      The current vtkTemporalStreamTracer is modified to become vtkPStreamTracerBase.
      The current vtkPTemporalStreamTracer is modified to become vtkPPStreamTracerBase.
      
      The main difference is that, before, the vtkTemporalStreamTracer always takes one step forward and
      the state of the filter is affected by previous runs. Now, vtkPStreamTracerBase takes
      all the time steps form the starting and termination time. It also checks for modification time
      of the input and parameters so that if the user increases the termination time, it does not
      rerun the previous steps.
      
      For each base class, three new filters are created to perform particle tracing tasks:
      - vtkParticleTracer/vtkPParticleTracer  This will output positions of the seeds after moving.
      - vtkStreaklineFilter/vtkPStreaklineFilter. This will output streak lines,
      - vtkParticlePathFilter/vtkPParticlePathFilter. This will output path lines.
      
      Change-Id: I81acd8a083d3ef060d58e77a20271d6e51df1680
      5465f1a1