1. 04 Dec, 2015 1 commit
  2. 02 Dec, 2015 1 commit
  3. 01 Dec, 2015 5 commits
  4. 30 Nov, 2015 1 commit
    • Kenneth Moreland's avatar
      Fix initialization order of fields in MakeStreamLines class · a598f03f
      Kenneth Moreland authored
      When a C++ object is constructed, the fields (ivars) of that object are
      initialized in the order they are declared in the structure regardless
      of the order of initializers listed in the constructor. Thus, it is good
      C++ convention to list the initializers of the constructor in the same
      order they are declared in the class so that there is no confusion about
      the order of initialization (which can matter if there are any
      dependencies). To help enforce this convention, some compilers warn if
      the order does not match. This commit fixes that issue.
      
      This commit also removes trailing whitespace at the end of some lines in
      StreamLineUniformGrid.h. My editor does this automatically because
      trailing whitespace bugs some programmers.
      a598f03f
  5. 25 Nov, 2015 1 commit
  6. 24 Nov, 2015 1 commit
  7. 23 Nov, 2015 5 commits
  8. 12 Nov, 2015 4 commits
  9. 11 Nov, 2015 2 commits
  10. 10 Nov, 2015 4 commits
  11. 09 Nov, 2015 2 commits
  12. 08 Nov, 2015 1 commit
  13. 07 Nov, 2015 6 commits
    • Kenneth Moreland's avatar
      Fix conversion warnings. · 8ef0a4ee
      Kenneth Moreland authored
      Recent changes to algorithm implementations caused CellDerivative to be
      called in a way such that it gave conversion warnings on some compilers.
      Fix that.
      8ef0a4ee
    • Kenneth Moreland's avatar
      Fix double reference compile error. · 342a57ef
      Kenneth Moreland authored
      342a57ef
    • Kenneth Moreland's avatar
      Make new tetrahedralize functors work on CUDA · 9409a541
      Kenneth Moreland authored
      The previous implementation was declaring static arrays in methods,
      which cannot be used on a CUDA device. Instead, make static tables that
      can be passed to the device with array handles (much like clip tables
      do).
      9409a541
    • Kenneth Moreland's avatar
      Fix conversion warnings when using double precision. · 0d394db0
      Kenneth Moreland authored
      There were some conversion warnings issued when the default float was set
      to 64-bit. Fixed these (on clang).
      0d394db0
    • Kenneth Moreland's avatar
      Add ability to multiply any Vec by vtkm::Float64. · bf032435
      Kenneth Moreland authored
      This has been requested on the mailing list to make it easier to
      interpolate integer vectors.
      
      There are a couple of downsides to this addition. First, it implicitly
      casts doubles back to whatever the vector type is, which can cause a
      loss of precision. Second, it makes it more likely to get overload
      errors when multiplying with Vec. In particular, the operator to cast
      Vec of size 1 to the component class had to be removed.
      bf032435
    • Kenneth Moreland's avatar
      Change tetrahedralize filters to use new Scatter mechanism · d44860c3
      Kenneth Moreland authored
      The tetrahedralize algorithms have been changed to use the Scatter
      classes to build indices rather than build them on their own.
      
      To implement this efficiently with structured grids, a new ScatterUniform
      class was made. I also added a new execution argument tag that allows
      you to get the thread indices object from within the worklet.
      d44860c3
  14. 06 Nov, 2015 6 commits
    • Kenneth Moreland's avatar
      Save triangle counts from isosurface classify as IdComponent. · 740adc70
      Kenneth Moreland authored
      When compiling with 64-bit ids (which is the default), this can save
      quite a bit of time.
      740adc70
    • Kenneth Moreland's avatar
      When iteratively computing output map in count scatter, compute visit · 8ab2938b
      Kenneth Moreland authored
      It is the case that there are two ways to create the output to input map in
      a count scatter. The first is to use a parallel find for every output index.
      The second, which is used when there are lots of output, is to iterate over
      the input and write out the reverse map. In this case, it is trivial to also
      write out the visit indices, so do that instead of a bunch more searches.
      8ab2938b
    • Kenneth Moreland's avatar
      Share from indices vector. · 45abbb5c
      Kenneth Moreland authored
      Previously, each VecFromPortalPermute (the type that held the from field
      values) held its own copy of the indices. For point to cell on
      structured grids, this was a lot of repeated data values, which has the
      potential to fill up cache and registers. Instead, just use pointer
      references.
      45abbb5c
    • Kenneth Moreland's avatar
      Fix issue with const types in Thrust array management · f7789f0e
      Kenneth Moreland authored
      Previously, there was a declaration ConstArrayPortalFromThrust<const T>
      in ArrayManagerExecutionThrustDevice. This proved problematic because
      values read from the array in the worklet were typed as const T rather
      than simply T. Any Vec or Matrix built from that type would then fail
      because they are not meant to work with a const value (which means they
      have to be set on construction and never changed.
      
      Instead, declare ConstArrayPortalFromThrust<T> and internally set all
      the Thrust pointers to have type const T. Also declare other thrust
      pointers used as method parameters to have const T rather than T. This
      should work as conversion from T to const T should be fine, but not the
      other way around.
      f7789f0e
    • Kenneth Moreland's avatar
      Fix issue with indexing into triangle table offset · b7fdbb72
      Kenneth Moreland authored
      Each triangle in the isosurface table has three index entries. Thus,
      each visit index must increment by 3.
      b7fdbb72
    • Kenneth Moreland's avatar
      Fix spacing in Isosurface test code. · 58aa46df
      Kenneth Moreland authored
      The original isosurface code was not treating the origin and spacing of
      the point coordinates correctly. Instead, it was ignoring the origin and
      spacing and instead scaling all point coordinates to be in the unit cube
      in world space (except there was also an off-by-one error in that). This
      change recompensates by adjusting the origin and spacing to make the
      correct position where the geometry was previously errantly placed.
      58aa46df