1. 15 Sep, 2020 1 commit
  2. 14 Sep, 2020 11 commits
    • Kenneth Moreland's avatar
      Move ColorTable mapping to its own header · 2e918c58
      Kenneth Moreland authored
      We would really like to be able to include `vtkm::cont::ColorTable` in
      such a way that you don't have to compile device code (unless you are
      actually compiling functions for the device). Thus, the `Map` functions
      of `ColorTable` were in a special `ColorTable.hxx` that contains the
      "implementation" for `ColorTable`.
      
      That is confusing to many users. It is more clear to simply have `.h`
      headers that do a specific thing. To achieve these two goals, the `Map`
      functionality of `ColorTable` is separated out into its own header file.
      So you don't need to be using a device compiler just to use `ColorTable`
      (including `ColorTable.h`), but you do need to use a device compiler if
      mapping values to colors (including `ColorTableMap.h`).
      2e918c58
    • Kenneth Moreland's avatar
      Move ColorTable::Sample methods to vtkm_cont · 38bdfec4
      Kenneth Moreland authored
      There is little value to declare them `inline`. Instead, just have them
      compiled once in the `vtkm_cont` library.
      38bdfec4
    • Kenneth Moreland's avatar
      Merge topic 'color-table-no-virtual' · 0457427e
      Kenneth Moreland authored
      6a3ba429 Fix warning about unused function
      c6a4f9b7 Fix warning about return value
      9465d261 Adjust TransferFunction worklet to get color table as ExecObj argument
      11996f13 Remove virtual methods from ColorTable
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: Robert Maynard's avatarRobert Maynard <robert.maynard@kitware.com>
      Merge-request: !2261
      0457427e
    • Kenneth Moreland's avatar
      Fix warning about unused function · 6a3ba429
      Kenneth Moreland authored
      6a3ba429
    • Kenneth Moreland's avatar
      Fix warning about return value · c6a4f9b7
      Kenneth Moreland authored
      c6a4f9b7
    • Kenneth Moreland's avatar
      Adjust TransferFunction worklet to get color table as ExecObj argument · 9465d261
      Kenneth Moreland authored
      Previously, the `TransferFunction` worklet required you to call
      `PrepareForExecution` on the `ColorTable` and give that to the
      constructor. Bad things can happen if the `ColorTable` used in the
      constructor does not match the device the worklet actually gets invoked
      on. Change this to make the `ColorTable` a worklet argument of type
      `ExecObj`. The dispatcher will automatically call
      `ColorTable::PrepareForInput` and guarantee that the devices match.
      9465d261
    • Kenneth Moreland's avatar
      Remove virtual methods from ColorTable · 11996f13
      Kenneth Moreland authored
      Virtual methods are being deprecated, so remove their use from the
      ColorTable classes. Instead of using a virtual method to look up a value
      in the ColorTable, we essentially use a switch statement. This change
      also simplified the code quite a bit.
      
      The execution object used to use pointers to handle the virtual objects.
      That is no longer necessary, so a simple `vtkm::exec::ColorTable` is
      returned for execution objects. (Note that this `ColorTable` contains
      pointers that are specific for the particular device.) This is a non-
      backward compabible change. However, the only place (outside of the
      `ColorTable` implementation itself) was a single worklet for converting
      scalars to colors (`vtkm::worklet::colorconversion::TransferFunction`).
      This is unlikely to affect anyone.
      
      I also "fixed" some names in enum structs. There has been some
      inconsistencies in VTK-m on whether items in an enum struct are
      capitolized or camel case. We seem to moving toward camel case, so
      deprecate some old names.
      11996f13
    • Ben Boeckel's avatar
      Merge topic 'warnings-from-vtk' · c0caf4fa
      Ben Boeckel authored
      482266b4 Particle: explicitly make the copy ctor and assignment op
      1037aa75 AssignerPartitionedDataSet: mark dtor as override
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: Robert Maynard's avatarRobert Maynard <robert.maynard@kitware.com>
      Merge-request: !2259
      c0caf4fa
    • Kenneth Moreland's avatar
      Merge topic 'unknownarray-variable-vec' · 0e6529eb
      Kenneth Moreland authored
      9b62c9ee Enable storing variable-sized Vecs in UnknownArrayHandle
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: Robert Maynard's avatarRobert Maynard <robert.maynard@kitware.com>
      Merge-request: !2260
      0e6529eb
    • Ben Boeckel's avatar
      Particle: explicitly make the copy ctor and assignment op · 482266b4
      Ben Boeckel authored
      They are disabled because we have a custom destructor.
      482266b4
    • Kenneth Moreland's avatar
      Enable storing variable-sized Vecs in UnknownArrayHandle · 9b62c9ee
      Kenneth Moreland authored
      One of the features of `UnknownArrayHandle` is that it allows you to
      query how many `Vec` components each value has without resolve the type
      of the array. The functionality to implement this failed if you tried to
      store an `ArrayHandle` that stored `Vec`-like objects with `Vec` sizes
      that varied from value to value (i.e. an `ArrayHandleGroupVecVariable`).
      
      Storing such an array in `UnknownArrayHandle` might not be the best
      idea, but it should probably work. This change allows you to store such
      an array. If you try to query the number of components, you will get 0.
      9b62c9ee
  3. 10 Sep, 2020 3 commits
  4. 09 Sep, 2020 6 commits
  5. 08 Sep, 2020 3 commits
  6. 05 Sep, 2020 4 commits
    • Kenneth Moreland's avatar
      Add changelog for removing virtual methods · cd08fd49
      Kenneth Moreland authored
      The changelog is not quite accurate because it is claiming that all
      virtual methods are removed when that is not quite the case.
      Hopefully soon the changelog text will be accurate.
      cd08fd49
    • Kenneth Moreland's avatar
      Optionally remove all use of ArrayHandleVirtual · 63ef84ed
      Kenneth Moreland authored
      As we remove more and more virtual methods from VTK-m, I expect several
      users will be interested in completely removing them from the build for
      several reasons.
      
      1. They may be compiling for hardware that does not support virtual
      methods.
      2. They may need to compile for CUDA but need shared libraries.
      3. It should go a bit faster.
      
      To enable this, a CMake option named `VTKm_NO_DEPRECATED_VIRTUAL` is
      added. It defaults to `OFF`. But when it is `ON`, none of the code that
      both uses virtuals and is deprecated will be built.
      
      Currently, only `ArrayHandleVirtual` is deprecated, so the rest of the
      virtual classes will still be built. As we move forward, more will be
      removed until all virtual method functionality is removed.
      63ef84ed
    • Kenneth Moreland's avatar
      Deprecate ArrayHandleVirtual · e11f612a
      Kenneth Moreland authored
      Virtual methods in the execution environment are going away the next
      major release of VTK-m, so deprecate their use in preparation for that.
      e11f612a
    • Kenneth Moreland's avatar
      Merge topic 'replace-variantarrayhandle-impl' · 06579aac
      Kenneth Moreland authored
      38630171 Test UnknownArrayHandle behavior on special arrays
      872da1f8 Suppress unnecessary deprecation warnings on VS
      bb443bbc Replace the implementation of VariantArrayHandle
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: Robert Maynard's avatarRobert Maynard <robert.maynard@kitware.com>
      Merge-request: !2255
      06579aac
  7. 04 Sep, 2020 1 commit
  8. 03 Sep, 2020 2 commits
  9. 02 Sep, 2020 4 commits
    • Kenneth Moreland's avatar
      Suppress unnecessary deprecation warnings on VS · 872da1f8
      Kenneth Moreland authored
      The Visual Studio compiler has an annoying habit where if you use a
      templated class or method with a deprecated class as a template
      parameter, you will get a deprecation warning where that class is used
      in the templated thing. Thus, if you want to suppress the warning, you
      have to supress every instance of the template, not just where the
      template is declared.
      
      This is annoying behavior that is thankfully not replicated in other
      compilers.
      872da1f8
    • Kenneth Moreland's avatar
      Replace the implementation of VariantArrayHandle · bb443bbc
      Kenneth Moreland authored
      The implementation of `VariantArrayHandle` has been changed to be a
      relatively trivial subclass of `UnknownArrayHandle`.
      
      The advantage of this change is twofold. First, it removes
      `VariantArrayHandle`'s dependence on `ArrayHandleVirtual`, which gets us
      much closer to deprecating that class. Second, it ensures that
      `UnknownArrayHandle` is a reasonable replacement for
      `VariantArrayHandle`, so we can move forward with replacing that.
      bb443bbc
    • Kenneth Moreland's avatar
      Merge topic 'vtk-files-no-cells' · 278ab6c5
      Kenneth Moreland authored
      66a4a23e Fix issue of getting pointer from std::vector of size 0
      3f8da6e7 Fix some debugging code that should not have been there
      52cecefb Fix crash when loading poly data with no cells
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Merge-request: !2254
      278ab6c5
    • Kenneth Moreland's avatar
      Fix issue of getting pointer from std::vector of size 0 · 66a4a23e
      Kenneth Moreland authored
      C++11 introduced the `std::vector::data()` method. In addition to being
      more syntatically pleasing, it should correctly handle the condition
      when the `std::vector` is size 0 and therefore has no real pointer.
      (Expressions like `&v[0]` are undefined when the `vector` is empty.)
      66a4a23e
  10. 01 Sep, 2020 5 commits