vtk-m/vtkm/cont
Kenneth Moreland 9b992dcdde Add GetNumberOfComponentsFlat method to ArrayHandle
Getting the number of components (or the number of flattened components)
from an `ArrayHandle` is usually trivial. However, if the `ArrayHandle` is
special in that the number of components is specified at runtime, then it
becomes much more difficult to determine.

Getting the number of components is most important when extracting
component arrays (or reconstructions using component arrays) with
`UnknownArrayHandle`. Previously, `UnknownArrayHandle` used a hack to get
the number of components, which mostly worked but broke down when wrapping
a runtime array inside another array such as `ArrayHandleView`.

To prevent this issue, the ability to get the number of components has been
added to `ArrayHandle` proper. All `Storage` objects for `ArrayHandle`s now
need a method named `GetNumberOfComponentsFlat`. The implementation of this
method is usually trivial. The `ArrayHandle` template now also provides a
`GetNumberOfComponentsFlat` method that gets this information from the
`Storage`. This provides an easy access point for the `UnknownArrayHandle`
to pull this information.
2023-10-03 10:31:38 -04:00
..
arg Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
cuda diy,mpi: Enable GPU AWARE MPI buffers 2023-05-30 12:13:03 -04:00
internal Advanced Compute Range 2023-07-04 11:54:56 -04:00
kokkos diy,mpi: Enable GPU AWARE MPI buffers 2023-05-30 12:13:03 -04:00
openmp cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
serial Remove deprecated virtual methods 2022-10-28 10:56:52 -06:00
tbb cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
testing Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
testlib Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Algorithm.h Deprecate ArrayHandle::GetDeviceAdapterId 2021-07-28 12:51:51 -06:00
ArrayCopy.cxx Add ArrayCopy specialization for Counting and Permutation array 2022-01-24 12:17:23 -07:00
ArrayCopy.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
ArrayCopyDevice.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ArrayExtractComponent.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
ArrayGetValues.cxx Better fallback for ArrayGetValue 2022-01-03 10:08:39 -07:00
ArrayGetValues.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
ArrayHandle.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ArrayHandle.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleBasic.cxx Make new style of ArrayHandle the expected style 2021-01-12 07:17:53 -07:00
ArrayHandleBasic.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleBitField.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleCartesianProduct.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleCast.h Fix range warning in ArrayHandleCast 2022-02-01 11:42:16 -07:00
ArrayHandleCompositeVector.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleConcatenate.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleConstant.h Support component extraction from ArrayHandleConstant better 2023-08-18 09:44:19 -04:00
ArrayHandleCounting.h Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayHandleDecorator.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleDiscard.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleExtractComponent.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleGroupVec.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleGroupVecVariable.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleImplicit.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleIndex.cxx Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayHandleIndex.h Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayHandleMultiplexer.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleOffsetsToNumComponents.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandlePermutation.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleRandomStandardNormal.h use make_ArrayHandleZip 2020-06-25 09:51:06 -06:00
ArrayHandleRandomUniformBits.h remove inline initialization of seed 2020-06-17 12:47:54 -06:00
ArrayHandleRandomUniformReal.h the random source is still 64 bits 2020-06-17 12:58:03 -06:00
ArrayHandleRecombineVec.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleReverse.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleRuntimeVec.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleSOA.cxx Support ArrayHandleSOA only for Vec value types 2021-01-06 13:20:58 -07:00
ArrayHandleSOA.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleStride.cxx Make new style of ArrayHandle the expected style 2021-01-12 07:17:53 -07:00
ArrayHandleStride.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleSwizzle.h Simplify ArrayHandleSwizzle 2020-11-25 09:28:49 -07:00
ArrayHandleTransform.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleUniformPointCoordinates.cxx Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayHandleUniformPointCoordinates.h Support component extraction from ArrayHandleConstant better 2023-08-18 09:44:19 -04:00
ArrayHandleView.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleXGCCoordinates.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayHandleZip.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
ArrayPortal.h Fixup custom portal iterator logic. 2019-12-17 15:39:51 -05:00
ArrayPortalToIterators.h Add porting layer for future std features 2020-03-16 17:12:16 -06:00
ArrayRangeCompute.cxx Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayRangeCompute.h Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayRangeComputeTemplate.h Advanced Compute Range 2023-07-04 11:54:56 -04:00
ArrayRangeComputeTemplateInstantiationsIncludes.h Advanced Compute Range 2023-07-04 11:54:56 -04:00
AssignerPartitionedDataSet.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
AssignerPartitionedDataSet.h Fix doxygen groups 2022-09-09 10:37:31 +08:00
AtomicArray.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
BitField.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
BitField.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
BoundsCompute.cxx
BoundsCompute.h
BoundsGlobalCompute.cxx Use new ways to get array portal in control environment 2020-02-26 13:10:46 -07:00
BoundsGlobalCompute.h
CastAndCall.h Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
CellLocatorBoundingIntervalHierarchy.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
CellLocatorBoundingIntervalHierarchy.h Define LastCell type in cell locator structure 2022-08-05 12:43:50 -06:00
CellLocatorChooser.h Deprecate DynamicCellSet and remove from code 2022-01-04 15:38:18 -07:00
CellLocatorGeneral.cxx Deprecate DynamicCellSet and remove from code 2022-01-04 15:38:18 -07:00
CellLocatorGeneral.h Expose the Variant helper class 2022-11-01 07:52:41 -06:00
CellLocatorPartitioned.cxx Support providing a Token to ReadPortal and WritePortal 2022-11-01 09:29:17 -06:00
CellLocatorPartitioned.h add partitioned cell locator 2022-11-01 11:08:18 +01:00
CellLocatorRectilinearGrid.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
CellLocatorRectilinearGrid.h Define LastCell type in cell locator structure 2022-08-05 12:43:50 -06:00
CellLocatorTwoLevel.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
CellLocatorTwoLevel.h Define LastCell type in cell locator structure 2022-08-05 12:43:50 -06:00
CellLocatorUniformBins.cxx Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellLocatorUniformBins.h Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellLocatorUniformGrid.cxx Deprecate old methods from DynamicCellSet 2022-01-05 08:18:17 -07:00
CellLocatorUniformGrid.h Define LastCell type in cell locator structure 2022-08-05 12:43:50 -06:00
CellSet.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CellSet.h Store UnknownCellSet instead of DynamicCellSet in DataSet 2022-01-03 13:52:30 -07:00
CellSetExplicit.cxx CellSetExplicit: reword warning message 2021-11-01 12:33:41 -04:00
CellSetExplicit.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellSetExplicit.hxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellSetExtrude.cxx Response to code review. 2021-03-12 21:14:50 +00:00
CellSetExtrude.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellSetList.h Enable changing policy used for library compiles 2020-03-19 15:07:07 -06:00
CellSetPermutation.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellSetSingleType.h Suppress deprecation warning for CellSetSingleType::GetCellShape 2021-09-17 09:48:26 -06:00
CellSetStructured.cxx
CellSetStructured.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CMakeLists.txt Advanced Compute Range 2023-07-04 11:54:56 -04:00
ColorTable.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ColorTable.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ColorTableMap.h Compile more sources without device compiler 2022-01-03 08:23:04 -07:00
ColorTablePresets.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ColorTableSamples.h
ConvertNumComponentsToOffsets.cxx Precompile ConvertNumComponentsToOffsets 2021-09-16 14:27:14 -06:00
ConvertNumComponentsToOffsets.h Precompile ConvertNumComponentsToOffsets 2021-09-16 14:27:14 -06:00
CoordinateSystem.cxx Coordinate systems are stored as Fields 2022-11-11 06:17:58 -07:00
CoordinateSystem.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
DataSet.cxx Simplify serialization of DataSet objects 2023-03-03 09:17:44 -07:00
DataSet.h Simplify serialization of DataSet objects 2023-03-03 09:17:44 -07:00
DataSetBuilderCurvilinear.cxx Add helper class to build curvilinear datasets. 2021-06-09 13:50:01 -04:00
DataSetBuilderCurvilinear.h Clarify dimension values for 2d, 1d. fix test 2021-06-09 16:16:34 -04:00
DataSetBuilderExplicit.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
DataSetBuilderExplicit.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
DataSetBuilderRectilinear.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
DataSetBuilderRectilinear.h Fix slow ArrayCopy calls 2022-01-24 14:15:45 -07:00
DataSetBuilderUniform.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
DataSetBuilderUniform.h
DefaultTypes.h.in Add ability to convert fields to known types 2021-08-19 07:10:20 -06:00
DeviceAdapter.h Remove ArrayManagerExecution 2020-12-08 13:18:44 -07:00
DeviceAdapterAlgorithm.h Clarify ScanExtended 2021-09-17 09:09:38 -06:00
DeviceAdapterList.h Add Kokkos backend 2020-08-12 13:55:24 -04:00
DeviceAdapterTag.cxx
DeviceAdapterTag.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
DIYMemoryManagement.cxx diy,mpi: Enable GPU AWARE MPI buffers 2023-05-30 12:13:03 -04:00
DIYMemoryManagement.h diy,mpi: Enable GPU AWARE MPI buffers 2023-05-30 12:13:03 -04:00
EnvironmentTracker.cxx Build diy as a library 2020-06-08 15:57:51 -05:00
EnvironmentTracker.h
Error.h Set what string in Error::SetMessage 2021-03-29 06:04:22 -06:00
ErrorBadAllocation.h
ErrorBadDevice.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
ErrorBadDevice.h
ErrorBadType.cxx
ErrorBadType.h Deprecate VariantArrayHandle 2021-04-07 16:12:38 -06:00
ErrorBadValue.h
ErrorExecution.h
ErrorFilterExecution.h
ErrorInternal.h
ErrorUserAbort.h Add Abort execution feature 2023-02-06 14:29:58 -05:00
ExecutionAndControlObjectBase.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
ExecutionObjectBase.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Field.cxx Change of Field::Association names. 2022-08-29 06:40:42 -04:00
Field.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
FieldRangeCompute.cxx Compile more sources without device compiler 2022-01-03 08:23:04 -07:00
FieldRangeCompute.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
FieldRangeGlobalCompute.cxx Deprecate templated versions of Field::GetRange 2020-11-09 12:28:29 -07:00
FieldRangeGlobalCompute.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Initialize.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Initialize.h update vtkm initialize flags to have 'vtkm' prefix and deprecate old flags 2021-04-29 00:58:50 +00:00
Invoker.h Reverse Invoker, Dispatcher and Worklet dependency 2020-07-21 17:25:43 -06:00
Logging.cxx Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Logging.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
MergePartitionedDataSet.cxx Update use of field association enumerations 2022-03-17 11:02:37 -06:00
MergePartitionedDataSet.h add merge partitioned dataset capability 2021-10-18 15:37:13 -06:00
ParticleArrayCopy.cxx fix cuda compile, export function. 2020-06-19 10:57:30 -04:00
ParticleArrayCopy.h Support for dist-memory pathlines. 2021-02-05 09:40:50 -05:00
ParticleArrayCopy.hxx Hide Particle class members 2022-12-13 13:19:21 -05:00
PartitionedDataSet.cxx Use {} initialization of FieldCollection. 2022-08-29 16:53:17 -04:00
PartitionedDataSet.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
PointLocatorSparseGrid.cxx Fix slow ArrayCopy calls 2022-01-24 14:15:45 -07:00
PointLocatorSparseGrid.h Compile more sources without device compiler 2022-01-03 08:23:04 -07:00
RuntimeDeviceInformation.cxx diy,mpi: Enable GPU AWARE MPI buffers 2023-05-30 12:13:03 -04:00
RuntimeDeviceInformation.h implement return codes and protected virtual parsing of arguments 2021-06-23 17:58:38 +00:00
RuntimeDeviceTracker.cxx Add Abort execution feature 2023-02-06 14:29:58 -05:00
RuntimeDeviceTracker.h Add Abort execution feature 2023-02-06 14:29:58 -05:00
SerializableTypeString.h Add missing types to serialization of UnknownArrayHandle 2021-01-13 09:19:34 -07:00
Serialization.h
Storage.cxx Add standard support for read-only storage 2020-12-10 13:39:28 -07:00
Storage.h Allow ArrayHandle to have a runtime selectable number of buffers 2022-07-11 07:48:25 -06:00
StorageList.h Unify common storage types 2021-05-13 08:18:33 -06:00
Timer.cxx Fix intermittent UnitTestTimer failures with CUDA 2022-07-12 08:52:12 -06:00
Timer.h Fix intermittent UnitTestTimer failures with CUDA 2022-07-12 08:52:12 -06:00
Token.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Token.h Pass Token::Reference by value 2020-06-11 11:51:42 -06:00
TryExecute.cxx Add Abort execution feature 2023-02-06 14:29:58 -05:00
TryExecute.h Add Abort execution feature 2023-02-06 14:29:58 -05:00
UncertainArrayHandle.h Merge topic 'less-brigand' 2022-02-10 20:36:50 -05:00
UncertainCellSet.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
UnknownArrayHandle.cxx Fix new instances of ArrayHandleRuntimeVec in UnknownArrayHandle 2023-05-12 13:11:23 -06:00
UnknownArrayHandle.h Add GetNumberOfComponentsFlat method to ArrayHandle 2023-10-03 10:31:38 -04:00
UnknownCellSet.cxx Fix some copy/paste errors with comments and variable names 2021-12-16 08:20:42 -07:00
UnknownCellSet.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Variant.h Expose the Variant helper class 2022-11-01 07:52:41 -06:00
vtkm.module Add Abort execution feature 2023-02-06 14:29:58 -05:00