This project is mirrored from https://gitlab.kitware.com/vtk/vtk-m.git. Pull mirroring updated .
  1. 03 Feb, 2023 3 commits
  2. 02 Feb, 2023 3 commits
  3. 01 Feb, 2023 1 commit
  4. 31 Jan, 2023 3 commits
  5. 30 Jan, 2023 12 commits
  6. 27 Jan, 2023 1 commit
  7. 26 Jan, 2023 3 commits
  8. 25 Jan, 2023 2 commits
  9. 24 Jan, 2023 2 commits
    • Moreland, Ken's avatar
      Update clip filter's field map to work on any field type · 1889447d
      Moreland, Ken authored
      The previous implementation of the map field in the clip filters
      (`ClipWithField` and `ClipWithImplicitFunction`) checked for common field
      types and interpolated those. If the field value type did not match, it
      would either convert the field to floats (which is at odds with what VTK
      does) or fail outright if the `Vec` length is not supported.
      
      The map field function for clip has been changed to support all possible
      types. It does this by using the extract component functionality to get
      data from any type of array.
      1889447d
    • Moreland, Ken's avatar
      Merge topic 'output-vec-like-fix' · 0513eaf5
      Moreland, Ken authored
      eda6dc39
      
       Support using arrays with dynamic Vec-likes as output arrays
      
      Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: default avatarLi-Ta Lo <ollie@lanl.gov>
      Merge-request: !2963
      0513eaf5
  10. 23 Jan, 2023 2 commits
    • Moreland, Ken's avatar
      Support using arrays with dynamic Vec-likes as output arrays · eda6dc39
      Moreland, Ken authored
      When you use an `ArrayHandle` as an output array in a worklet (for example,
      as a `FieldOut`), the fetch operation does not read values from the array
      during the `Load`. Instead, it just constructs a new object. This makes
      sense as an output array is expected to have garbage in it anyway.
      
      This is a problem for some special arrays that contain `Vec`-like objects
      that are sized dynamically. For example, if you use an
      `ArrayHandleGroupVecVariable`, each entry is a dynamically sized `Vec`. The
      array is referenced by creating a special version of `Vec` that holds a
      reference to the array portal and an index. Components are retrieved and
      set by accessing the memory in the array portal. This allows us to have a
      dynamically sized `Vec` in the execution environment without having to
      allocate within the worklet.
      
      The problem comes when we want to use one of these arrays with `Vec`-like
      objects for an output. The typical fetch fails because you cannot construct
      one of these `Vec`-like objects without an array portal to bind it to. In
      these cases, we need the fetch to create the `Vec`-like object by reading
      it from the array. Even though the data will be garbage, you get the
      necessary buffer into the array (and nothing more).
      
      Previously, the problem was fixed by creating partial specializations of
      the `Fetch` for these `ArrayHandle`s. This worked OK as long as you were
      using the array directly. However, the approach failed if the `ArrayHandle`
      was wrapped in another `ArrayHandle` (for example, if an `ArrayHandleView`
      was applied to an `ArrayHandleGroupVecVariable`).
      
      To get around this problem and simplify things, the basic `Fetch` for
      direct output arrays is changed to handle all cases where the values in the
      `ArrayHandle` cannot be directly constructed. A compile-time check of the
      array's value type is checked with `std::is_default_constructible`. If it
      can be constructed, then the array is not accessed. If it cannot be
      constructed, then it grabs a value out of the array.
      eda6dc39
    • Moreland, Ken's avatar
      Merge topic 'resize-extracted-components' · 679a61bb
      Moreland, Ken authored
      23469cab Add ability to resize ArrayHandleRecombineVec
      2061e95e
      
       Add ability to resize ArrayHandleStride
      
      Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: default avatarLi-Ta Lo <ollie@lanl.gov>
      Merge-request: !2964
      679a61bb
  11. 20 Jan, 2023 3 commits
  12. 19 Jan, 2023 2 commits
  13. 18 Jan, 2023 3 commits
    • Moreland, Ken's avatar
      Add ability to resize ArrayHandleRecombineVec · 23469cab
      Moreland, Ken authored
      This feature enables the ability to anonomously create an array (such as
      with `UnknownArrayHandle::NewInstance()`) and then use that as an output
      array.
      23469cab
    • Moreland, Ken's avatar
      Add ability to resize ArrayHandleStride · 2061e95e
      Moreland, Ken authored
      This feature enables the ability to anonomously create an array (such as
      with `UnknownArrayHandle::NewInstance()`) and then use that as an output
      array. Although resizing `ArrayHandleStride` is a little wonky, it
      allows worklets to resize them after creation rather than having to know
      what size to make and allocating the array.
      2061e95e
    • Sujin Philip's avatar
      Fix compile issues when using cuda 12 · 5d048134
      Sujin Philip authored
      CUDA 12 adds a `cub::Swap` function that creates ambiguity with `vtkm::Swap`.
      This happens when a function from the `cub` namespace is called with an object
      of a class defined in the `vtkm` namespace as an argument. If that function
      has an unqualified call to `Swap`, it results in ADL being used, causing the
      templated functions `cub::Swap` and `vtkm::Swap` to conflict.
      5d048134