# Remove/Deprecate certain array types

**URL:** https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267
**Category:** Development
**Created:** [February 3, 2026, 3:38pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267 "2026-02-03T15:38:34Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![spyridon97](https://discourse.vtk.org/user_avatar/discourse.vtk.org/spyridon97/32/7069_2.png) [@spyridon97](https://discourse.vtk.org/u/spyridon97)
#### Post date: [February 3, 2026, 3:38pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/1 "2026-02-03T15:38:34Z")

</div>

Upon working a lot on VTK arrays, i am trying to understand whether we need certain array types.

The arrays in question are

1. (read/write) vtkScaledSOADataArrayTemplate (0 VTK filter usages),
2. (read only) vtkCompositeArray (5 VTK filter usages),
3. (read only) vtkIndexedArray (6 VTK filter usages),
4. (read only) vtkStdFunctionArray (0 VTK filter usages)
5. (read only) vtkAngularPeriodicDataArray (1 VTK filter usages)

I know these arrays may be cool, but do we really need them? And does their existence justify the added complexity in VTK?

The complexity being, they need to be considered

1. When dispatching, otherwise they always fall back to vtkDataArray and be slow.
2. When exposing them in python as numpy array because the from\_buffer is not really working on non AOS arrays
3. When building their instantiations for all value types
4. When maintaining the VTK code base after the funding that added them runs out.

If you have any hard feelings about any of them and/or you absolutely need them, please speak up otherwise these might be deprecated.

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [February 3, 2026, 3:42pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/2 "2026-02-03T15:42:47Z")

</div>

+1

can you clarify what the (in/out) and (in only) mean?

---

<div class="post-metadata">

### Author: ![spyridon97](https://discourse.vtk.org/user_avatar/discourse.vtk.org/spyridon97/32/7069_2.png) [@spyridon97](https://discourse.vtk.org/u/spyridon97)
#### Post date: [February 3, 2026, 3:44pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/3 "2026-02-03T15:44:18Z")

</div>

Done.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [February 4, 2026, 8:52am UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/4 "2026-02-04T08:52:17Z")

</div>

> [@spyridon97](#):
>
> vtkCompositeArray/vtkIndexedArray

Very useful but fairly recent addition, I expect usage to rise.

> vtkAngularPeriodicDataArray

Old implementation but still very useful for the one specific filter that uses it. Whatever you do, this filter should keep working without allocating memory. The details of the underlying array doesnt matter, the filter do.

> vtkStdFunctionArray

It looks like this one was not adopted as I expected it to be, I’ll check in internal code if it is used.

---

<div class="post-metadata">

### Author: ![seanm](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/a88e4f/32.png) [@seanm](https://discourse.vtk.org/u/seanm)
#### Post date: [February 5, 2026, 10:34pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/5 "2026-02-05T22:34:46Z")

</div>

FWIW, I don’t use any of those array types.

---

<div class="post-metadata">

### Author: ![spyridon97](https://discourse.vtk.org/user_avatar/discourse.vtk.org/spyridon97/32/7069_2.png) [@spyridon97](https://discourse.vtk.org/u/spyridon97)
#### Post date: [February 11, 2026, 10:05pm UTC](https://discourse.vtk.org/t/remove-deprecate-certain-array-types/16267/6 "2026-02-11T22:05:31Z")

</div>

vtkScaledSOADataArrayTemplate, vtkStdFunctionArray, vtk(Angular)PeriodicDataArray, vtkVoidArray will be deprecated
