Go to the documentation of this file.
18 #ifndef viskores_cont_CoordinateSystem_h
19 #define viskores_cont_CoordinateSystem_h
51 template <
typename T,
typename Storage>
73 #ifdef VISKORES_USE_DOUBLE_PRECISION
83 using IsInvalid = viskores::cont::internal::IsInvalidArrayHandle<viskores::Vec3f, S>;
92 using IsInvalid = viskores::cont::internal::IsInvalidArrayHandle<Vec3f_nd, S>;
126 this->GetRange(&range[0]);
133 return this->Superclass::GetRange();
140 this->GetRange(ranges);
144 void PrintSummary(std::ostream& out,
bool full =
false)
const override;
148 this->Superclass::ReleaseResourcesExecution();
149 this->GetData().ReleaseResourcesExecution();
153 template <
typename Functor,
typename... Args>
159 template <
typename T>
162 const std::vector<T>& data,
168 template <
typename T>
185 using DynamicTag = viskores::cont::internal::DynamicTransformTagCastAndCall;
200 struct Serialization<
viskores::cont::CoordinateSystem> : Serialization<viskores::cont::Field>
207 #endif //viskores_cont_CoordinateSystem_h
An ArrayHandle of an uncertain value type and storage.
Definition: UncertainArrayHandle.h:47
Association
Identifies what elements of a data set a field is associated with.
Definition: Field.h:46
Represent an axis-aligned 3D bounds in space.
Definition: Bounds.h:37
Definition: CoordinateSystem.h:89
void CastAndCall(const DynamicObject &dynamicObject, Functor &&f, Args &&... args)
A Generic interface to CastAndCall.
Definition: CastAndCall.h:55
viskores::Bounds GetBounds() const
Definition: CoordinateSystem.h:137
Cast the values of an array to the specified type, on demand.
Definition: ArrayHandleCast.h:151
Manages an array-worth of data.
Definition: ArrayHandle.h:313
Manages a coordinate system for a DataSet.
Definition: CoordinateSystem.h:38
viskores::Float64 FloatNonDefault
Definition: CoordinateSystem.h:76
Definition: Particle.h:373
viskores::cont::internal::IsInvalidArrayHandle< viskores::Vec3f, S > IsInvalid
Definition: CoordinateSystem.h:83
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
viskores::ListTransform< viskores::ListRemoveIf< ::viskores::cont::StorageListCommon, StorageToArrayDefault::IsInvalid >, StorageToArrayDefault::Transform > ArraysFloatDefault
Definition: CoordinateSystem.h:101
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
typename detail::ListTransformImpl< List, Transform >::type ListTransform
Constructs a list containing all types in a source list applied to a transform template.
Definition: List.h:617
viskores::ListTransform< viskores::ListRemoveIf< ::viskores::cont::StorageListCommon, StorageToArrayNonDefault::IsInvalid >, StorageToArrayNonDefault::Transform > ArraysFloatNonDefault
Definition: CoordinateSystem.h:104
float Float32
Base type to use for 32-bit floating-point numbers.
Definition: Types.h:165
CoordinateSystem(std::string name, const ArrayHandle< T, Storage > &data)
Definition: CoordinateSystem.h:52
viskores::cont::ArrayHandle< viskores::Range > GetRangeAsArrayHandle() const
Definition: CoordinateSystem.h:131
viskores::cont::UncertainArrayHandle< viskores::TypeListFieldVec3, ::viskores::cont::StorageListCommon > GetData() const
void GetRange(viskores::Range *range) const
Definition: CoordinateSystem.h:120
viskores::cont::ArrayHandleMultiplexerFromList< viskores::ListAppend< ArraysFloatDefault, ArraysFloatNonDefault > > MultiplexerArrayType
Definition: CoordinateSystem.h:109
viskores::cont::internal::IsInvalidArrayHandle< Vec3f_nd, S > IsInvalid
Definition: CoordinateSystem.h:92
Represent a continuous scalar range of values.
Definition: Range.h:39
void ReleaseResourcesExecution() override
Remove the data from the device memory (but preserve the data on the host).
Definition: CoordinateSystem.h:146
viskores::ListApply< List, ArrayHandleMultiplexer > ArrayHandleMultiplexerFromList
Converts aviskores::List to an ArrayHandleMultiplexer
Definition: ArrayHandleMultiplexer.h:472
viskores::Id GetNumberOfPoints() const
Definition: CoordinateSystem.h:66
viskores::Vec< viskores::Range, 3 > GetRange() const
Definition: CoordinateSystem.h:123
typename detail::ListAppendImpl< Lists... >::type ListAppend
Concatinates a set of lists into a single list.
Definition: List.h:289
Definition: CoordinateSystem.h:80
typename detail::ListRemoveIfImpl< List, Predicate >::type ListRemoveIf
Takes an existing List and a predicate template that is applied to each type in the List.
Definition: List.h:700
An ArrayHandle of an unknown value type and storage.
Definition: UnknownArrayHandle.h:451
viskores::cont::CoordinateSystem make_CoordinateSystem(std::string name, const std::vector< T > &data, viskores::CopyFlag copy=viskores::CopyFlag::Off)
Definition: CoordinateSystem.h:160
CopyFlag
Identifier used to specify whether a function should deep copy data.
Definition: Flags.h:25
double Float64
Base type to use for 64-bit floating-point numbers.
Definition: Types.h:169
A Field encapsulates an array on some piece of the mesh, such as the points, a cell set,...
Definition: Field.h:39
viskores::cont::ArrayHandleBasic< T > make_ArrayHandle(const T *array, viskores::Id numberOfValues, viskores::CopyFlag copy)
A convenience function for creating an ArrayHandle from a standard C array.
Definition: ArrayHandleBasic.h:285