VTK-m
2.0
|
Groups connected points that have the same field value. More...
Namespaces | |
cont | |
VTK-m Control Environment. | |
exec | |
VTK-m Execution Environment. | |
filter | |
VTK-m Filters. | |
interop | |
VTK-m OpenGL Interoperability. | |
io | |
VTK-m File input and output classes. | |
random | |
rendering | |
VTK-m Rendering. | |
source | |
VTK-m Input source such as Wavelet. | |
testing | |
Internal testing classes. | |
VTK_M_NAMESPACE | |
worklet | |
VTK-m Worklets. | |
Classes | |
struct | Add |
struct | Bitset |
A bitmap to serve different needs. More... | |
struct | BitwiseAnd |
Binary Predicate that takes two arguments argument x , and y and returns the bitwise operation x&y More... | |
struct | BitwiseOr |
Binary Predicate that takes two arguments argument x , and y and returns the bitwise operation x|y More... | |
struct | BitwiseXor |
Binary Predicate that takes two arguments argument x , and y and returns the bitwise operation x^y More... | |
struct | Bounds |
Represent an axis-aligned 3D bounds in space. More... | |
class | Box |
Implicit function for a box. More... | |
class | CellClassification |
Bit flags used in ghost arrays to identify what type a cell is. More... | |
struct | CellShapeIdToTag |
A traits-like class to get an CellShapeId known at compile time to a tag. More... | |
struct | CellShapeTagGeneric |
A special cell shape tag that holds a cell shape that is not known at compile time. More... | |
struct | CellTopologicalDimensionsTag |
vtkm::CellTraits::TopologyDimensionType is typedef to this with the template parameter set to TOPOLOGICAL_DIMENSIONS . More... | |
struct | CellTraits |
Information about a cell based on its tag. More... | |
struct | CellTraitsTagSizeFixed |
Tag for cell shapes with a fixed number of points. More... | |
struct | CellTraitsTagSizeVariable |
Tag for cell shapes that can have a variable number of points. More... | |
class | ChargedParticle |
class | Cylinder |
Implicit function for a cylinder. More... | |
struct | Divide |
struct | Equal |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x is equal to y . More... | |
class | Frustum |
Implicit function for a frustum. More... | |
class | ImplicitFunctionGeneral |
Implicit function that can switch among known implicit function types. More... | |
class | ImplicitFunctionGradientFunctor |
A helpful functor that calls the gradient method of a given ImplicitFunction . More... | |
class | ImplicitFunctionMultiplexer |
Implicit function that can switch among different types. More... | |
class | ImplicitFunctionValueFunctor |
A helpful functor that calls the value method of a given ImplicitFunction . More... | |
struct | IsZeroInitialized |
Predicate that takes a single argument x , and returns True if it is the identity of the Type T . More... | |
struct | LineSegment |
Represent a finite line segment with a pair of points. More... | |
struct | List |
struct | LogicalAnd |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x and y are True. More... | |
struct | LogicalNot |
Predicate that takes a single argument x , and returns True if and only if x is false . More... | |
struct | LogicalOr |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x or y is True. More... | |
class | Matrix |
Basic Matrix type. More... | |
struct | Maximum |
Binary Predicate that takes two arguments argument x , and y and returns the x if x > y otherwise returns y . More... | |
struct | MinAndMax |
Binary Predicate that takes two arguments argument x , and y and returns a vtkm::Vec<T,2> that represents the minimum and maximum values. More... | |
struct | Minimum |
Binary Predicate that takes two arguments argument x , and y and returns the x if x < y otherwise returns y . More... | |
struct | Multiply |
struct | Negate |
struct | NewtonsMethodResult |
struct | NotEqual |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x is not equal to y . More... | |
struct | NotZeroInitialized |
Predicate that takes a single argument x , and returns True if it isn't the identity of the Type T . More... | |
struct | Pair |
A vtkm::Pair is essentially the same as an STL pair object except that the methods (constructors and operators) are defined to work in both the control and execution environments (whereas std::pair is likely to work only in the control environment). More... | |
class | Particle |
class | ParticleStatus |
class | Plane |
Represent a plane with a base point (origin) and normal vector. More... | |
struct | Product |
Binary Predicate that takes two arguments argument x , and y and returns product (multiplication) of the two values. More... | |
struct | Range |
Represent a continuous scalar range of values. More... | |
struct | RangeId |
Represent a range of vtkm::Id values. More... | |
struct | RangeId2 |
Represent 2D integer range. More... | |
struct | RangeId3 |
Represent 3D integer range. More... | |
struct | Ray |
Represent an infinite or semi-infinite line segment with a point and a direction. More... | |
struct | ReadTheSourceCodeHereForHelpOnThisError |
struct | ReadTheSourceCodeHereForHelpOnThisError< true > |
struct | SortGreater |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x is greater than y . More... | |
struct | SortLess |
Binary Predicate that takes two arguments argument x , and y and returns True if and only if x is less than y . More... | |
class | Sphere |
Represent a sphere of the given Dimension. More... | |
struct | Subtract |
struct | Sum |
Binary Predicate that takes two arguments argument x , and y and returns sum (addition) of the two values. More... | |
struct | TopologyElementTagCell |
A tag used to identify the cell elements in a topology. More... | |
struct | TopologyElementTagEdge |
A tag used to identify the edge elements in a topology. More... | |
struct | TopologyElementTagFace |
A tag used to identify the face elements in a topology. More... | |
struct | TopologyElementTagPoint |
A tag used to identify the point elements in a topology. More... | |
class | Tuple |
VTK-m replacement for std::tuple. More... | |
class | Tuple< T0 > |
class | Tuple< T0, T1 > |
class | Tuple< T0, T1, T2 > |
class | Tuple< T0, T1, T2, T3 > |
class | Tuple< T0, T1, T2, T3, T4 > |
class | Tuple< T0, T1, T2, T3, T4, T5 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 > |
class | Tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, Ts... > |
class | Tuple<> |
struct | tuple_element |
Compatible with std::tuple_element for vtkm::Tuple . More... | |
class | TypeTraits |
The TypeTraits class provides helpful compile-time information about the basic types used in VTKm (and a few others for convenience). More... | |
struct | TypeTraits< const T > |
struct | TypeTraits< vtkm::internal::ArrayPortalValueReference< PortalType > > |
struct | TypeTraits< vtkm::internal::RecombineVec< PortalType > > |
struct | TypeTraits< vtkm::Matrix< T, NumRow, NumCol > > |
struct | TypeTraits< vtkm::Pair< T, U > > |
Traits for Pair types. More... | |
struct | TypeTraits< vtkm::Vec< T, Size > > |
Traits for basic C++ types. More... | |
struct | TypeTraits< vtkm::VecAxisAlignedPointCoordinates< NumDimensions > > |
struct | TypeTraits< vtkm::VecC< T > > |
Traits for VecC types. More... | |
struct | TypeTraits< vtkm::VecCConst< T > > |
Traits for VecCConst types. More... | |
struct | TypeTraits< vtkm::VecFlat< T > > |
struct | TypeTraits< vtkm::VecFromPortal< PortalType > > |
struct | TypeTraits< vtkm::VecFromPortalPermute< IndexVecType, PortalType > > |
struct | TypeTraits< vtkm::VecVariable< T, MaxSize > > |
struct | TypeTraitsIntegerTag |
Tag used to identify types that store integer numbers. More... | |
struct | TypeTraitsMatrixTag |
Tag used to identify 2 dimensional types (matrices). More... | |
struct | TypeTraitsRealTag |
Tag used to identify types that store real (floating-point) numbers. More... | |
struct | TypeTraitsScalarTag |
Tag used to identify 0 dimensional types (scalars). More... | |
struct | TypeTraitsUnknownTag |
Tag used to identify types that aren't Real, Integer, Scalar or Vector. More... | |
struct | TypeTraitsVectorTag |
Tag used to identify 1 dimensional types (vectors). More... | |
class | Vec |
A short fixed-length array. More... | |
class | Vec< T, 0 > |
class | Vec< T, 1 > |
class | Vec< T, 2 > |
class | Vec< T, 3 > |
class | Vec< T, 4 > |
class | VecAxisAlignedPointCoordinates |
An implicit vector for point coordinates in axis aligned cells. More... | |
class | VecC |
A Vec-like representation for short arrays. More... | |
class | VecCConst |
A const version of VecC. More... | |
class | VecFlat |
Treat a Vec or Vec -like object as a flat Vec . More... | |
class | VecFlat< T, false > |
class | VecFlat< T, true > |
class | VecFromPortal |
A short variable-length array from a window in an ArrayPortal. More... | |
class | VecFromPortalPermute |
A short vector from an ArrayPortal and a vector of indices. More... | |
class | VecFromPortalPermute< IndexVecType, const PortalType * > |
struct | VecTraits |
The VecTraits class gives several static members that define how to use a given type as a vector. More... | |
struct | VecTraits< const T > |
struct | VecTraits< vtkm::Bounds > |
struct | VecTraits< vtkm::internal::ArrayPortalValueReference< PortalType > > |
struct | VecTraits< vtkm::internal::RecombineVec< PortalType > > |
struct | VecTraits< vtkm::Matrix< T, NumRow, NumCol > > |
A matrix has vector traits to implement component-wise operations. More... | |
struct | VecTraits< vtkm::Pair< T, U > > |
VecTraits for Pair types. More... | |
struct | VecTraits< vtkm::Range > |
struct | VecTraits< vtkm::Vec< T, Size > > |
struct | VecTraits< vtkm::VecAxisAlignedPointCoordinates< NumDimensions > > |
struct | VecTraits< vtkm::VecC< T > > |
struct | VecTraits< vtkm::VecCConst< T > > |
struct | VecTraits< vtkm::VecFlat< T > > |
struct | VecTraits< vtkm::VecFromPortal< PortalType > > |
struct | VecTraits< vtkm::VecFromPortalPermute< IndexVecType, PortalType > > |
struct | VecTraits< vtkm::VecVariable< T, MaxSize > > |
struct | VecTraitsTagMultipleComponents |
A tag for vectors that are "true" vectors (i.e. More... | |
struct | VecTraitsTagSingleComponent |
A tag for vectors that are really just scalars (i.e. More... | |
struct | VecTraitsTagSizeStatic |
A tag for vectors where the number of components are known at compile time. More... | |
struct | VecTraitsTagSizeVariable |
A tag for vectors where the number of components are not determined until run time. More... | |
class | VecVariable |
A short variable-length array with maximum length. More... | |
Typedefs | |
using | AtomicTypePreferred = vtkm::UInt32 |
The preferred type to use for atomic operations. More... | |
using | AtomicTypesSupported = vtkm::List< vtkm::UInt32, vtkm::UInt64 > |
A list of types that can be used with atomic operations. More... | |
using | BufferSizeType = vtkm::Int64 |
template<typename CoordType , int Dim = 3> | |
using | Line = Ray< CoordType, Dim, true > |
Lines are two-sided rays: More... | |
template<typename CoordType > | |
using | Ray2 = Ray< CoordType, 2 > |
template<typename CoordType > | |
using | Ray3 = Ray< CoordType, 3 > |
template<typename CoordType > | |
using | Line2 = Line< CoordType, 2 > |
template<typename CoordType > | |
using | Line3 = Line< CoordType, 3 > |
template<typename CoordType > | |
using | LineSegment2 = LineSegment< CoordType, 2 > |
template<typename CoordType > | |
using | LineSegment3 = LineSegment< CoordType, 3 > |
template<typename T > | |
using | Circle = Sphere< T, 2 > |
Circle is an alias for a 2-Dimensional sphere. More... | |
template<typename T > | |
using | Sphere2 = Sphere< T, 2 > |
template<typename T > | |
using | Sphere3 = Sphere< T, 3 > |
using | Ray2d = Ray2< vtkm::FloatDefault > |
using | Ray3d = Ray3< vtkm::FloatDefault > |
using | Line2d = Line2< vtkm::FloatDefault > |
using | Line3d = Line3< vtkm::FloatDefault > |
using | LineSegment2d = LineSegment2< vtkm::FloatDefault > |
using | LineSegment3d = LineSegment3< vtkm::FloatDefault > |
using | Plane3d = Plane< vtkm::FloatDefault > |
using | Circle2d = Circle< vtkm::FloatDefault > |
using | Sphere2d = Sphere2< vtkm::FloatDefault > |
using | Sphere3d = Sphere3< vtkm::FloatDefault > |
using | HashType = vtkm::UInt32 |
using | ListEmpty = vtkm::List<> |
A special tag for an empty list. More... | |
using | ListUniversal = vtkm::List< detail::UniversalTypeTag > |
A special tag for a list that represents holding all potential values. More... | |
template<typename List > | |
using | ListSize = typename detail::ListSizeImpl< List >::type |
Becomes an std::integral_constant containing the number of types in a list. More... | |
template<typename List , template< typename... > class Target> | |
using | ListApply = typename detail::ListApplyImpl< List, Target >::type |
Applies the list of types to a template. More... | |
template<typename... Lists> | |
using | ListAppend = typename detail::ListAppendImpl< Lists... >::type |
Concatinates a set of lists into a single list. More... | |
template<typename T , vtkm::IdComponent N> | |
using | ListFill = typename detail::ListFillImpl< T, N >::type |
Returns a list filled with N copies of type T. More... | |
template<typename List , vtkm::IdComponent Index> | |
using | ListAt = typename detail::ListAtImpl< List, Index >::type |
Finds the type at the given index. More... | |
template<typename List , typename T > | |
using | ListIndexOf = typename detail::ListIndexOfImpl< List, T >::type |
Finds the index of a given type. More... | |
template<typename List , typename T > | |
using | ListHas = typename detail::ListHasImpl< List, T >::type |
Checks to see if the given T is in the list pointed to by List . More... | |
template<typename List , template< typename > class Transform> | |
using | ListTransform = typename detail::ListTransformImpl< List, Transform >::type |
Constructs a list containing all types in a source list applied to a transform template. More... | |
template<typename List , template< typename > class Predicate> | |
using | ListRemoveIf = typename detail::ListRemoveIfImpl< List, Predicate >::type |
Takes an existing List and a predicate template that is applied to each type in the List . More... | |
template<typename List1 , typename List2 > | |
using | ListIntersect = typename detail::ListIntersectImpl< List1, List2 >::type |
Constructs a list containing types present in all lists. More... | |
template<typename List1 , typename List2 > | |
using | ListCross = typename detail::ListCrossImpl< List1, List2 >::type |
Generates a list that is the cross product of two input lists. More... | |
template<typename List , template< typename T1, typename T2 > class Operator, typename Initial > | |
using | ListReduce = typename detail::ListReduceImpl< List, Operator, Initial >::type |
Reduces a list to a single type using an operator. More... | |
template<typename List , template< typename > class Predicate = vtkm::internal::meta::Identity> | |
using | ListAll = vtkm::ListReduce< vtkm::ListTransform< List, Predicate >, vtkm::internal::meta::And, std::true_type > |
Determines whether all the types in the list are "true.". More... | |
template<typename List , template< typename > class Predicate = vtkm::internal::meta::Identity> | |
using | ListAny = vtkm::ListReduce< vtkm::ListTransform< List, Predicate >, vtkm::internal::meta::Or, std::false_type > |
Determines whether any of the types in the list are "true.". More... | |
using | TypeListId = vtkm::List< vtkm::Id > |
A list containing the type vtkm::Id. More... | |
using | TypeListId2 = vtkm::List< vtkm::Id2 > |
A list containing the type vtkm::Id2. More... | |
using | TypeListId3 = vtkm::List< vtkm::Id3 > |
A list containing the type vtkm::Id3. More... | |
using | TypeListId4 = vtkm::List< vtkm::Id4 > |
A list containing the type vtkm::Id4. More... | |
using | TypeListIdComponent = vtkm::List< vtkm::IdComponent > |
A list containing the type vtkm::IdComponent. More... | |
using | TypeListIndex = vtkm::List< vtkm::Id, vtkm::Id2, vtkm::Id3 > |
A list containing types used to index arrays. More... | |
using | TypeListFieldScalar = vtkm::List< vtkm::Float32, vtkm::Float64 > |
A list containing types used for scalar fields. More... | |
using | TypeListFieldVec2 = vtkm::List< vtkm::Vec2f_32, vtkm::Vec2f_64 > |
A list containing types for values for fields with two dimensional vectors. More... | |
using | TypeListFieldVec3 = vtkm::List< vtkm::Vec3f_32, vtkm::Vec3f_64 > |
A list containing types for values for fields with three dimensional vectors. More... | |
using | TypeListFieldVec4 = vtkm::List< vtkm::Vec4f_32, vtkm::Vec4f_64 > |
A list containing types for values for fields with four dimensional vectors. More... | |
using | TypeListFloatVec = vtkm::List< vtkm::Vec2f_32, vtkm::Vec2f_64, vtkm::Vec3f_32, vtkm::Vec3f_64, vtkm::Vec4f_32, vtkm::Vec4f_64 > |
A list containing common types for floating-point vectors. More... | |
using | TypeListField = vtkm::List< vtkm::Float32, vtkm::Float64, vtkm::Vec2f_32, vtkm::Vec2f_64, vtkm::Vec3f_32, vtkm::Vec3f_64, vtkm::Vec4f_32, vtkm::Vec4f_64 > |
A list containing common types for values in fields. More... | |
using | TypeListScalarAll = vtkm::List< vtkm::Int8, vtkm::UInt8, vtkm::Int16, vtkm::UInt16, vtkm::Int32, vtkm::UInt32, vtkm::Int64, vtkm::UInt64, vtkm::Float32, vtkm::Float64 > |
A list of all scalars defined in vtkm/Types.h. More... | |
using | TypeListBaseC = vtkm::ListAppend< vtkm::TypeListScalarAll, vtkm::List< bool, char, signed VTKM_UNUSED_INT_TYPE, unsigned VTKM_UNUSED_INT_TYPE > > |
using | TypeListVecCommon = vtkm::List< vtkm::Vec2ui_8, vtkm::Vec2i_32, vtkm::Vec2i_64, vtkm::Vec2f_32, vtkm::Vec2f_64, vtkm::Vec3ui_8, vtkm::Vec3i_32, vtkm::Vec3i_64, vtkm::Vec3f_32, vtkm::Vec3f_64, vtkm::Vec4ui_8, vtkm::Vec4i_32, vtkm::Vec4i_64, vtkm::Vec4f_32, vtkm::Vec4f_64 > |
A list of the most commonly use Vec classes. More... | |
using | TypeListVecAll = vtkm::ListAppend< vtkm::TypeListVecCommon, vtkm::internal::TypeListVecUncommon > |
A list of all vector classes with standard types as components and lengths between 2 and 4. More... | |
using | TypeListAll = vtkm::ListAppend< vtkm::TypeListScalarAll, vtkm::TypeListVecAll > |
A list of all basic types listed in vtkm/Types.h. More... | |
using | TypeListCommon = vtkm::List< vtkm::UInt8, vtkm::Int32, vtkm::Int64, vtkm::Float32, vtkm::Float64, vtkm::Vec3f_32, vtkm::Vec3f_64 > |
A list of the most commonly used types across multiple domains. More... | |
using | Float32 = float |
using | Float64 = double |
using | Int8 = int8_t |
using | UInt8 = uint8_t |
using | Int16 = int16_t |
using | UInt16 = uint16_t |
using | Int32 = int32_t |
using | UInt32 = uint32_t |
using | IdComponent = vtkm::Int32 |
Represents a component ID (index of component in a vector). More... | |
using | WordTypeDefault = vtkm::UInt32 |
The default word size used for atomic bitwise operations. More... | |
using | Id = vtkm::Int32 |
Represents an ID (index into arrays). More... | |
using | FloatDefault = vtkm::Float32 |
The floating point type to use when no other precision is specified. More... | |
using | Id2 = vtkm::Vec< vtkm::Id, 2 > |
Id2 corresponds to a 2-dimensional index. More... | |
using | IdComponent2 = vtkm::Vec< vtkm::IdComponent, 2 > |
IdComponent2 corresponds to an index to a local (small) 2-d array or equivalent. More... | |
using | Vec2f = vtkm::Vec< vtkm::FloatDefault, 2 > |
Vec2f corresponds to a 2-dimensional vector of floating point values. More... | |
using | Vec2f_32 = vtkm::Vec< vtkm::Float32, 2 > |
Vec2f_32 corresponds to a 2-dimensional vector of 32-bit floating point values. More... | |
using | Vec2f_64 = vtkm::Vec< vtkm::Float64, 2 > |
Vec2f_64 corresponds to a 2-dimensional vector of 64-bit floating point values. More... | |
using | Vec2i = vtkm::Vec< vtkm::Id, 2 > |
Vec2i corresponds to a 2-dimensional vector of integer values. More... | |
using | Vec2i_8 = vtkm::Vec< vtkm::Int8, 2 > |
Vec2i_8 corresponds to a 2-dimensional vector of 8-bit integer values. More... | |
using | Vec2i_16 = vtkm::Vec< vtkm::Int16, 2 > |
Vec2i_16 corresponds to a 2-dimensional vector of 16-bit integer values. More... | |
using | Vec2i_32 = vtkm::Vec< vtkm::Int32, 2 > |
Vec2i_32 corresponds to a 2-dimensional vector of 32-bit integer values. More... | |
using | Vec2i_64 = vtkm::Vec< vtkm::Int64, 2 > |
Vec2i_64 corresponds to a 2-dimensional vector of 64-bit integer values. More... | |
using | Vec2ui = vtkm::Vec< vtkm::UInt32, 2 > |
Vec2ui corresponds to a 2-dimensional vector of unsigned integer values. More... | |
using | Vec2ui_8 = vtkm::Vec< vtkm::UInt8, 2 > |
Vec2ui_8 corresponds to a 2-dimensional vector of 8-bit unsigned integer values. More... | |
using | Vec2ui_16 = vtkm::Vec< vtkm::UInt16, 2 > |
Vec2ui_16 corresponds to a 2-dimensional vector of 16-bit unsigned integer values. More... | |
using | Vec2ui_32 = vtkm::Vec< vtkm::UInt32, 2 > |
Vec2ui_32 corresponds to a 2-dimensional vector of 32-bit unsigned integer values. More... | |
using | Vec2ui_64 = vtkm::Vec< vtkm::UInt64, 2 > |
Vec2ui_64 corresponds to a 2-dimensional vector of 64-bit unsigned integer values. More... | |
using | Id3 = vtkm::Vec< vtkm::Id, 3 > |
Id3 corresponds to a 3-dimensional index for 3d arrays. More... | |
using | IdComponent3 = vtkm::Vec< vtkm::IdComponent, 3 > |
IdComponent2 corresponds to an index to a local (small) 3-d array or equivalent. More... | |
using | Vec3f = vtkm::Vec< vtkm::FloatDefault, 3 > |
Vec3f corresponds to a 3-dimensional vector of floating point values. More... | |
using | Vec3f_32 = vtkm::Vec< vtkm::Float32, 3 > |
Vec3f_32 corresponds to a 3-dimensional vector of 32-bit floating point values. More... | |
using | Vec3f_64 = vtkm::Vec< vtkm::Float64, 3 > |
Vec3f_64 corresponds to a 3-dimensional vector of 64-bit floating point values. More... | |
using | Vec3i = vtkm::Vec< vtkm::Id, 3 > |
Vec3i corresponds to a 3-dimensional vector of integer values. More... | |
using | Vec3i_8 = vtkm::Vec< vtkm::Int8, 3 > |
Vec3i_8 corresponds to a 3-dimensional vector of 8-bit integer values. More... | |
using | Vec3i_16 = vtkm::Vec< vtkm::Int16, 3 > |
Vec3i_16 corresponds to a 3-dimensional vector of 16-bit integer values. More... | |
using | Vec3i_32 = vtkm::Vec< vtkm::Int32, 3 > |
Vec3i_32 corresponds to a 3-dimensional vector of 32-bit integer values. More... | |
using | Vec3i_64 = vtkm::Vec< vtkm::Int64, 3 > |
Vec3i_64 corresponds to a 3-dimensional vector of 64-bit integer values. More... | |
using | Vec3ui = vtkm::Vec< vtkm::UInt32, 3 > |
Vec3ui corresponds to a 3-dimensional vector of unsigned integer values. More... | |
using | Vec3ui_8 = vtkm::Vec< vtkm::UInt8, 3 > |
Vec3ui_8 corresponds to a 3-dimensional vector of 8-bit unsigned integer values. More... | |
using | Vec3ui_16 = vtkm::Vec< vtkm::UInt16, 3 > |
Vec3ui_16 corresponds to a 3-dimensional vector of 16-bit unsigned integer values. More... | |
using | Vec3ui_32 = vtkm::Vec< vtkm::UInt32, 3 > |
Vec3ui_32 corresponds to a 3-dimensional vector of 32-bit unsigned integer values. More... | |
using | Vec3ui_64 = vtkm::Vec< vtkm::UInt64, 3 > |
Vec3ui_64 corresponds to a 3-dimensional vector of 64-bit unsigned integer values. More... | |
using | Id4 = vtkm::Vec< vtkm::Id, 4 > |
Id4 corresponds to a 4-dimensional index. More... | |
using | IdComponent4 = vtkm::Vec< vtkm::IdComponent, 4 > |
IdComponent4 corresponds to an index to a local (small) 4-d array or equivalent. More... | |
using | Vec4f = vtkm::Vec< vtkm::FloatDefault, 4 > |
Vec4f corresponds to a 4-dimensional vector of floating point values. More... | |
using | Vec4f_32 = vtkm::Vec< vtkm::Float32, 4 > |
Vec4f_32 corresponds to a 4-dimensional vector of 32-bit floating point values. More... | |
using | Vec4f_64 = vtkm::Vec< vtkm::Float64, 4 > |
Vec4f_64 corresponds to a 4-dimensional vector of 64-bit floating point values. More... | |
using | Vec4i = vtkm::Vec< vtkm::Id, 4 > |
Vec4i corresponds to a 4-dimensional vector of integer values. More... | |
using | Vec4i_8 = vtkm::Vec< vtkm::Int8, 4 > |
Vec4i_8 corresponds to a 4-dimensional vector of 8-bit integer values. More... | |
using | Vec4i_16 = vtkm::Vec< vtkm::Int16, 4 > |
Vec4i_16 corresponds to a 4-dimensional vector of 16-bit integer values. More... | |
using | Vec4i_32 = vtkm::Vec< vtkm::Int32, 4 > |
Vec4i_32 corresponds to a 4-dimensional vector of 32-bit integer values. More... | |
using | Vec4i_64 = vtkm::Vec< vtkm::Int64, 4 > |
Vec4i_64 corresponds to a 4-dimensional vector of 64-bit integer values. More... | |
using | Vec4ui = vtkm::Vec< vtkm::UInt32, 4 > |
Vec4ui corresponds to a 4-dimensional vector of unsigned integer values. More... | |
using | Vec4ui_8 = vtkm::Vec< vtkm::UInt8, 4 > |
Vec4ui_8 corresponds to a 4-dimensional vector of 8-bit unsigned integer values. More... | |
using | Vec4ui_16 = vtkm::Vec< vtkm::UInt16, 4 > |
Vec4ui_16 corresponds to a 4-dimensional vector of 16-bit unsigned integer values. More... | |
using | Vec4ui_32 = vtkm::Vec< vtkm::UInt32, 4 > |
Vec4ui_32 corresponds to a 4-dimensional vector of 32-bit unsigned integer values. More... | |
using | Vec4ui_64 = vtkm::Vec< vtkm::UInt64, 4 > |
Vec4ui_64 corresponds to a 4-dimensional vector of 64-bit unsigned integer values. More... | |
template<typename T > | |
using | HasVecTraits = typename detail::HasVecTraitsImpl< T >::Type |
Determines whether the given type has VecTraits defined. More... | |
Functions | |
template<typename T > | |
VTKM_EXEC_CONT T | AtomicLoad (T *const pointer, vtkm::MemoryOrder order=vtkm::MemoryOrder::Acquire) |
Atomic function to load a value from a shared memory location. More... | |
template<typename T > | |
VTKM_EXEC_CONT T | AtomicNot (T *pointer, vtkm::MemoryOrder order=vtkm::MemoryOrder::SequentiallyConsistent) |
Atomic function to NOT bits to a shared memory location. More... | |
template<typename T > | |
VTKM_EXEC_CONT bool | AtomicCompareExchange (T *shared, T *expected, T desired, vtkm::MemoryOrder order=vtkm::MemoryOrder::SequentiallyConsistent) |
Atomic function that replaces a value given a condition. More... | |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::Bounds &bounds) |
Helper function for printing bounds during testing. More... | |
VTKM_DEFINE_CELL_TAG (Empty, CELL_SHAPE_EMPTY) | |
VTKM_DEFINE_CELL_TAG (Vertex, CELL_SHAPE_VERTEX) | |
VTKM_DEFINE_CELL_TAG (Line, CELL_SHAPE_LINE) | |
VTKM_DEFINE_CELL_TAG (PolyLine, CELL_SHAPE_POLY_LINE) | |
VTKM_DEFINE_CELL_TAG (Triangle, CELL_SHAPE_TRIANGLE) | |
VTKM_DEFINE_CELL_TAG (Polygon, CELL_SHAPE_POLYGON) | |
VTKM_DEFINE_CELL_TAG (Quad, CELL_SHAPE_QUAD) | |
VTKM_DEFINE_CELL_TAG (Tetra, CELL_SHAPE_TETRA) | |
VTKM_DEFINE_CELL_TAG (Hexahedron, CELL_SHAPE_HEXAHEDRON) | |
VTKM_DEFINE_CELL_TAG (Wedge, CELL_SHAPE_WEDGE) | |
VTKM_DEFINE_CELL_TAG (Pyramid, CELL_SHAPE_PYRAMID) | |
VTKM_DEFINE_CELL_TRAITS (Empty, 0, 0) | |
VTKM_DEFINE_CELL_TRAITS (Vertex, 0, 1) | |
VTKM_DEFINE_CELL_TRAITS (Line, 1, 2) | |
VTKM_DEFINE_CELL_TRAITS_VARIABLE (PolyLine, 1) | |
VTKM_DEFINE_CELL_TRAITS (Triangle, 2, 3) | |
VTKM_DEFINE_CELL_TRAITS_VARIABLE (Polygon, 2) | |
VTKM_DEFINE_CELL_TRAITS (Quad, 2, 4) | |
VTKM_DEFINE_CELL_TRAITS (Tetra, 3, 4) | |
VTKM_DEFINE_CELL_TRAITS (Hexahedron, 3, 8) | |
VTKM_DEFINE_CELL_TRAITS (Wedge, 3, 6) | |
VTKM_DEFINE_CELL_TRAITS (Pyramid, 3, 5) | |
const VTKM_EXEC_CONT char * | ErrorString (vtkm::ErrorCode code) noexcept |
template<typename CoordType , bool IsTwoSided> | |
VTKM_EXEC_CONT vtkm::Plane< CoordType > | make_PlaneFromPointAndLine (const vtkm::Vec< CoordType, 3 > &point, const vtkm::Ray< CoordType, 3, IsTwoSided > &ray, CoordType tol2=static_cast< CoordType >(1e-8f)) |
Construct a plane from a point plus one of: a line, a ray, or a line segment. More... | |
template<typename CoordType > | |
VTKM_EXEC_CONT vtkm::Plane< CoordType > | make_PlaneFromPointAndLineSegment (const vtkm::Vec< CoordType, 3 > &point, const vtkm::LineSegment3< CoordType > &segment, CoordType tol2=static_cast< CoordType >(1e-8f)) |
template<typename CoordType > | |
VTKM_EXEC_CONT vtkm::Circle< CoordType > | make_CircleFrom3Points (const typename vtkm::Vec< CoordType, 2 > &p0, const typename vtkm::Vec< CoordType, 2 > &p1, const typename vtkm::Vec< CoordType, 2 > &p2, CoordType tol=static_cast< CoordType >(1e-6f)) |
Construct a circle from 3 points. More... | |
template<typename CoordType > | |
VTKM_EXEC_CONT vtkm::Sphere< CoordType, 3 > | make_SphereFrom4Points (const vtkm::Vec< CoordType, 3 > &a0, const vtkm::Vec< CoordType, 3 > &a1, const vtkm::Vec< CoordType, 3 > &a2, const vtkm::Vec< CoordType, 3 > &a3, CoordType tol=static_cast< CoordType >(1e-6f)) |
Construct a sphere from 4 points. More... | |
template<typename InVecType > | |
VTKM_EXEC_CONT vtkm::HashType | Hash (const InVecType &inVec) |
Returns a 32-bit hash on a group of integer-type values. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT std::enable_if<(std::is_floating_point< T >::value||std::is_signed< T >::value), vtkm::Vec< T, Size > >::type | operator- (vtkm::Vec< T, Size > x) |
template<typename T > | |
VTKM_EXEC_CONT std::enable_if<(std::is_floating_point< T >::value||std::is_signed< T >::value), vtkm::Vec< T, 1 > >::type | operator- (const vtkm::Vec< T, 1 > &x) |
template<typename T > | |
VTKM_EXEC_CONT std::enable_if<(std::is_floating_point< T >::value||std::is_signed< T >::value), vtkm::Vec< T, 2 > >::type | operator- (const vtkm::Vec< T, 2 > &x) |
template<typename T > | |
VTKM_EXEC_CONT std::enable_if<(std::is_floating_point< T >::value||std::is_signed< T >::value), vtkm::Vec< T, 3 > >::type | operator- (const vtkm::Vec< T, 3 > &x) |
template<typename T > | |
VTKM_EXEC_CONT std::enable_if<(std::is_floating_point< T >::value||std::is_signed< T >::value), vtkm::Vec< T, 4 > >::type | operator- (const vtkm::Vec< T, 4 > &x) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator+ (vtkm::Vec< T, Size > a, const vtkm::Vec< T, Size > &b) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator+ (vtkm::Vec< T, Size > a, T scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator+ (vtkm::Vec< T, Size > a, vtkm::Float64 scalar) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator+ (vtkm::Vec< vtkm::Float64, Size > a, vtkm::Float64 scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator+ (T scalar, vtkm::Vec< T, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator+ (vtkm::Float64 scalar, vtkm::Vec< T, Size > a) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator+ (vtkm::Float64 scalar, vtkm::Vec< vtkm::Float64, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator* (vtkm::Vec< T, Size > a, const vtkm::Vec< T, Size > &b) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator* (vtkm::Vec< T, Size > a, T scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator* (vtkm::Vec< T, Size > a, vtkm::Float64 scalar) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator* (vtkm::Vec< vtkm::Float64, Size > a, vtkm::Float64 scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator* (T scalar, vtkm::Vec< T, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator* (vtkm::Float64 scalar, vtkm::Vec< T, Size > a) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator* (vtkm::Float64 scalar, vtkm::Vec< vtkm::Float64, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator- (vtkm::Vec< T, Size > a, const vtkm::Vec< T, Size > &b) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator- (vtkm::Vec< T, Size > a, T scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator- (vtkm::Vec< T, Size > a, vtkm::Float64 scalar) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator- (vtkm::Vec< vtkm::Float64, Size > a, vtkm::Float64 scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator- (T scalar, vtkm::Vec< T, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator- (vtkm::Float64 scalar, vtkm::Vec< T, Size > a) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator- (vtkm::Float64 scalar, vtkm::Vec< vtkm::Float64, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator/ (vtkm::Vec< T, Size > a, const vtkm::Vec< T, Size > &b) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator/ (vtkm::Vec< T, Size > a, T scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator/ (vtkm::Vec< T, Size > a, vtkm::Float64 scalar) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator/ (vtkm::Vec< vtkm::Float64, Size > a, vtkm::Float64 scalar) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator/ (T scalar, vtkm::Vec< T, Size > a) |
template<typename T , IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | operator/ (vtkm::Float64 scalar, vtkm::Vec< T, Size > a) |
template<IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, Size > | operator/ (vtkm::Float64 scalar, vtkm::Vec< vtkm::Float64, Size > a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator+ (const vtkm::Vec< T, 1 > &a, const vtkm::Vec< T, 1 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator+ (const vtkm::Vec< T, 1 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator+ (const vtkm::Vec< T, 1 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator+ (const vtkm::Vec< vtkm::Float64, 1 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator+ (T scalar, const vtkm::Vec< T, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< T, 1 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator+ (const vtkm::Vec< T, 2 > &a, const vtkm::Vec< T, 2 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator+ (const vtkm::Vec< T, 2 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator+ (const vtkm::Vec< T, 2 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator+ (const vtkm::Vec< vtkm::Float64, 2 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator+ (T scalar, const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< T, 2 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator+ (const vtkm::Vec< T, 3 > &a, const vtkm::Vec< T, 3 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator+ (const vtkm::Vec< T, 3 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator+ (const vtkm::Vec< T, 3 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator+ (const vtkm::Vec< vtkm::Float64, 3 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator+ (T scalar, const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< T, 3 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator+ (const vtkm::Vec< T, 4 > &a, const vtkm::Vec< T, 4 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator+ (const vtkm::Vec< T, 4 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator+ (const vtkm::Vec< T, 4 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator+ (const vtkm::Vec< vtkm::Float64, 4 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator+ (T scalar, const vtkm::Vec< T, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< T, 4 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator+ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator* (const vtkm::Vec< T, 1 > &a, const vtkm::Vec< T, 1 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator* (const vtkm::Vec< T, 1 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator* (const vtkm::Vec< T, 1 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator* (const vtkm::Vec< vtkm::Float64, 1 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator* (T scalar, const vtkm::Vec< T, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< T, 1 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator* (const vtkm::Vec< T, 2 > &a, const vtkm::Vec< T, 2 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator* (const vtkm::Vec< T, 2 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator* (const vtkm::Vec< T, 2 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator* (const vtkm::Vec< vtkm::Float64, 2 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator* (T scalar, const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< T, 2 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator* (const vtkm::Vec< T, 3 > &a, const vtkm::Vec< T, 3 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator* (const vtkm::Vec< T, 3 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator* (const vtkm::Vec< T, 3 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator* (const vtkm::Vec< vtkm::Float64, 3 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator* (T scalar, const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< T, 3 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator* (const vtkm::Vec< T, 4 > &a, const vtkm::Vec< T, 4 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator* (const vtkm::Vec< T, 4 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator* (const vtkm::Vec< T, 4 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator* (const vtkm::Vec< vtkm::Float64, 4 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator* (T scalar, const vtkm::Vec< T, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< T, 4 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator* (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator- (const vtkm::Vec< T, 1 > &a, const vtkm::Vec< T, 1 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator- (const vtkm::Vec< T, 1 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator- (const vtkm::Vec< T, 1 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator- (const vtkm::Vec< vtkm::Float64, 1 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator- (T scalar, const vtkm::Vec< T, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< T, 1 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator- (const vtkm::Vec< T, 2 > &a, const vtkm::Vec< T, 2 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator- (const vtkm::Vec< T, 2 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator- (const vtkm::Vec< T, 2 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator- (const vtkm::Vec< vtkm::Float64, 2 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator- (T scalar, const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< T, 2 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator- (const vtkm::Vec< T, 3 > &a, const vtkm::Vec< T, 3 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator- (const vtkm::Vec< T, 3 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator- (const vtkm::Vec< T, 3 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator- (const vtkm::Vec< vtkm::Float64, 3 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator- (T scalar, const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< T, 3 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator- (const vtkm::Vec< T, 4 > &a, const vtkm::Vec< T, 4 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator- (const vtkm::Vec< T, 4 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator- (const vtkm::Vec< T, 4 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator- (const vtkm::Vec< vtkm::Float64, 4 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator- (T scalar, const vtkm::Vec< T, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< T, 4 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator- (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator/ (const vtkm::Vec< T, 1 > &a, const vtkm::Vec< T, 1 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator/ (const vtkm::Vec< T, 1 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator/ (const vtkm::Vec< T, 1 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator/ (const vtkm::Vec< vtkm::Float64, 1 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator/ (T scalar, const vtkm::Vec< T, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 1 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< T, 1 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 1 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 1 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator/ (const vtkm::Vec< T, 2 > &a, const vtkm::Vec< T, 2 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator/ (const vtkm::Vec< T, 2 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator/ (const vtkm::Vec< T, 2 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator/ (const vtkm::Vec< vtkm::Float64, 2 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator/ (T scalar, const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< T, 2 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 2 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator/ (const vtkm::Vec< T, 3 > &a, const vtkm::Vec< T, 3 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator/ (const vtkm::Vec< T, 3 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator/ (const vtkm::Vec< T, 3 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator/ (const vtkm::Vec< vtkm::Float64, 3 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator/ (T scalar, const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< T, 3 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 3 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator/ (const vtkm::Vec< T, 4 > &a, const vtkm::Vec< T, 4 > &b) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator/ (const vtkm::Vec< T, 4 > &a, T scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator/ (const vtkm::Vec< T, 4 > &a, vtkm::Float64 scalar) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator/ (const vtkm::Vec< vtkm::Float64, 4 > &a, vtkm::Float64 scalar) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator/ (T scalar, const vtkm::Vec< T, 4 > &a) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 4 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< T, 4 > &a) |
VTKM_EXEC_CONT vtkm::Vec< vtkm::Float64, 4 > | operator/ (vtkm::Float64 scalar, const vtkm::Vec< vtkm::Float64, 4 > &a) |
VTKM_EXEC_CONT vtkm::Float32 | Sin (vtkm::Float32 x) |
Compute the sine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Sin (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Cos (vtkm::Float32 x) |
Compute the cosine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Cos (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Tan (vtkm::Float32 x) |
Compute the tangent of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Tan (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ASin (vtkm::Float32 x) |
Compute the arc sine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ASin (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ACos (vtkm::Float32 x) |
Compute the arc cosine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ACos (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ATan (vtkm::Float32 x) |
Compute the arc tangent of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ATan (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | SinH (vtkm::Float32 x) |
Compute the hyperbolic sine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | SinH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | CosH (vtkm::Float32 x) |
Compute the hyperbolic cosine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | CosH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | TanH (vtkm::Float32 x) |
Compute the hyperbolic tangent of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | TanH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ASinH (vtkm::Float32 x) |
Compute the hyperbolic arc sine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ASinH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ACosH (vtkm::Float32 x) |
Compute the hyperbolic arc cosine of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ACosH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ATanH (vtkm::Float32 x) |
Compute the hyperbolic arc tangent of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | ATanH (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Sqrt (vtkm::Float32 x) |
Compute the square root of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Sqrt (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Cbrt (vtkm::Float32 x) |
Compute the cube root of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Cbrt (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Exp (vtkm::Float32 x) |
Computes e**x , the base-e exponential of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Exp (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Exp2 (vtkm::Float32 x) |
Computes 2**x , the base-2 exponential of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Exp2 (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | ExpM1 (vtkm::Float32 x) |
Computes (e**x ) - 1, the of base-e exponental of x then minus 1. More... | |
VTKM_EXEC_CONT vtkm::Float64 | ExpM1 (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Log (vtkm::Float32 x) |
Computes the natural logarithm of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Log (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Log2 (vtkm::Float32 x) |
Computes the logarithm base 2 of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Log2 (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Log10 (vtkm::Float32 x) |
Computes the logarithm base 10 of x . More... | |
VTKM_EXEC_CONT vtkm::Float64 | Log10 (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Log1P (vtkm::Float32 x) |
Computes the value of log(1+x) accurately for very small values of x. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Log1P (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Clamp (vtkm::Float32 x, vtkm::Float32 lo, vtkm::Float32 hi) |
Clamp x to the given range. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Clamp (vtkm::Float64 x, vtkm::Float64 lo, vtkm::Float64 hi) |
VTKM_EXEC_CONT vtkm::Float32 | Ceil (vtkm::Float32 x) |
Round x to the smallest integer value not less than x. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Ceil (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Floor (vtkm::Float32 x) |
Round x to the largest integer value not greater than x. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Floor (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Round (vtkm::Float32 x) |
Round x to the nearest integral value. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Round (vtkm::Float64 x) |
VTKM_EXEC_CONT vtkm::Float32 | Frexp (vtkm::Float32 x, vtkm::Int32 *exponent) |
Decompose floating poing value. More... | |
VTKM_EXEC_CONT vtkm::Float64 | Frexp (vtkm::Float64 x, vtkm::Int32 *exponent) |
VTKM_EXEC_CONT vtkm::Float32 | Ldexp (vtkm::Float32 x, vtkm::Int32 exponent) |
VTKM_EXEC_CONT vtkm::Float64 | Ldexp (vtkm::Float64 x, vtkm::Int32 exponent) |
VTKM_EXEC_CONT vtkm::UInt64 | FloatDistance (vtkm::Float64 x, vtkm::Float64 y) |
VTKM_EXEC_CONT vtkm::UInt64 | FloatDistance (vtkm::Float32 x, vtkm::Float32 y) |
template<typename T > | |
VTKM_EXEC_CONT T | DifferenceOfProducts (T a, T b, T c, T d) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 2 > | QuadraticRoots (T a, T b, T c) |
VTKM_EXEC_CONT vtkm::Int32 | FindFirstSetBit (vtkm::UInt32 word) |
Bitwise operations. More... | |
VTKM_EXEC_CONT vtkm::Int32 | FindFirstSetBit (vtkm::UInt64 word) |
Find the first set bit in word, and return its position (1-64). More... | |
VTKM_EXEC_CONT vtkm::Int32 | CountSetBits (vtkm::UInt32 word) |
Count the total number of bits set in word. More... | |
VTKM_EXEC_CONT vtkm::Int32 | CountSetBits (vtkm::UInt64 word) |
Count the total number of bits set in word. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
const VTKM_EXEC_CONT vtkm::Vec< T, NumCol > & | MatrixGetRow (const vtkm::Matrix< T, NumRow, NumCol > &matrix, vtkm::IdComponent rowIndex) |
Returns a tuple containing the given row (indexed from 0) of the given matrix. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT vtkm::Vec< T, NumRow > | MatrixGetColumn (const vtkm::Matrix< T, NumRow, NumCol > &matrix, vtkm::IdComponent columnIndex) |
Returns a tuple containing the given column (indexed from 0) of the given matrix. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT void | MatrixSetRow (vtkm::Matrix< T, NumRow, NumCol > &matrix, vtkm::IdComponent rowIndex, const vtkm::Vec< T, NumCol > &rowValues) |
Convenience function for setting a row of a matrix. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT void | MatrixSetColumn (vtkm::Matrix< T, NumRow, NumCol > &matrix, vtkm::IdComponent columnIndex, const vtkm::Vec< T, NumRow > &columnValues) |
Convenience function for setting a column of a matrix. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol, vtkm::IdComponent NumInternal> | |
VTKM_EXEC_CONT vtkm::Matrix< T, NumRow, NumCol > | MatrixMultiply (const vtkm::Matrix< T, NumRow, NumInternal > &leftFactor, const vtkm::Matrix< T, NumInternal, NumCol > &rightFactor) |
Standard matrix multiplication. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT vtkm::Vec< T, NumRow > | MatrixMultiply (const vtkm::Matrix< T, NumRow, NumCol > &leftFactor, const vtkm::Vec< T, NumCol > &rightFactor) |
Standard matrix-vector multiplication. More... | |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT vtkm::Vec< T, NumCol > | MatrixMultiply (const vtkm::Vec< T, NumRow > &leftFactor, const vtkm::Matrix< T, NumRow, NumCol > &rightFactor) |
Standard vector-matrix multiplication. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Matrix< T, Size, Size > | MatrixIdentity () |
Returns the identity matrix. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT void | MatrixIdentity (vtkm::Matrix< T, Size, Size > &matrix) |
Fills the given matrix with the identity matrix. More... | |
template<typename T , vtkm::IdComponent NumRows, vtkm::IdComponent NumCols> | |
VTKM_EXEC_CONT vtkm::Matrix< T, NumCols, NumRows > | MatrixTranspose (const vtkm::Matrix< T, NumRows, NumCols > &matrix) |
Returns the transpose of the given matrix. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Vec< T, Size > | SolveLinearSystem (const vtkm::Matrix< T, Size, Size > &A, const vtkm::Vec< T, Size > &b, bool &valid) |
Solve the linear system Ax = b for x. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT vtkm::Matrix< T, Size, Size > | MatrixInverse (const vtkm::Matrix< T, Size, Size > &A, bool &valid) |
Find and return the inverse of the given matrix. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT T | MatrixDeterminant (const vtkm::Matrix< T, Size, Size > &A) |
Compute the determinant of a matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT T | MatrixDeterminant (const vtkm::Matrix< T, 1, 1 > &A) |
template<typename T > | |
VTKM_EXEC_CONT T | MatrixDeterminant (const vtkm::Matrix< T, 2, 2 > &A) |
template<typename T > | |
VTKM_EXEC_CONT T | MatrixDeterminant (const vtkm::Matrix< T, 3, 3 > &A) |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT bool | operator== (const vtkm::Matrix< T, NumRow, NumCol > &a, const vtkm::Matrix< T, NumRow, NumCol > &b) |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_EXEC_CONT bool | operator!= (const vtkm::Matrix< T, NumRow, NumCol > &a, const vtkm::Matrix< T, NumRow, NumCol > &b) |
template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol> | |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::Matrix< T, NumRow, NumCol > &mat) |
Helper function for printing out matricies during testing. More... | |
template<typename ScalarType , vtkm::IdComponent Size, typename JacobianFunctor , typename FunctionFunctor > | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT NewtonsMethodResult< ScalarType, Size > | NewtonsMethod (JacobianFunctor jacobianEvaluator, FunctionFunctor functionEvaluator, vtkm::Vec< ScalarType, Size > desiredFunctionOutput, vtkm::Vec< ScalarType, Size > initialGuess=vtkm::Vec< ScalarType, Size >(ScalarType(0)), ScalarType convergeDifference=ScalarType(1e-3), vtkm::IdComponent maxIterations=10) |
Uses Newton's method (a.k.a. More... | |
template<typename T , typename U > | |
VTKM_EXEC_CONT vtkm::Pair< T, U > | operator+ (const vtkm::Pair< T, U > &a, const vtkm::Pair< T, U > &b) |
Pairwise Add. More... | |
template<typename T1 , typename T2 > | |
VTKM_EXEC_CONT vtkm::Pair< typename std::decay< T1 >::type, typename std::decay< T2 >::type > | make_Pair (T1 &&v1, T2 &&v2) |
VTKM_CONT std::ostream & | operator<< (std::ostream &s, const vtkm::ParticleStatus &status) |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::Range &range) |
Helper function for printing ranges during testing. More... | |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::RangeId3 &range) |
Helper function for printing range during testing. More... | |
template<typename T > | |
VTKM_EXEC_CONT void | Swap (T &a, T &b) |
Performs a swap operation. Safe to call from cuda code. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | Transform3DPoint (const vtkm::Matrix< T, 4, 4 > &matrix, const vtkm::Vec< T, 3 > &point) |
Transform a 3D point by a transformation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | Transform3DPointPerspective (const vtkm::Matrix< T, 4, 4 > &matrix, const vtkm::Vec< T, 3 > &point) |
Transform a 3D point by a transformation matrix with perspective. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< T, 3 > | Transform3DVector (const vtkm::Matrix< T, 4, 4 > &matrix, const vtkm::Vec< T, 3 > &vector) |
Transform a 3D vector by a transformation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DScale (const T &scaleX, const T &scaleY, const T &scaleZ) |
Returns a scale matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DScale (const vtkm::Vec< T, 3 > &scaleVec) |
Returns a scale matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DScale (const T &scale) |
Returns a scale matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DTranslate (const T &x, const T &y, const T &z) |
Returns a translation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DTranslate (const vtkm::Vec< T, 3 > &v) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DRotate (T angleDegrees, const vtkm::Vec< T, 3 > &axisOfRotation) |
Returns a rotation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DRotate (T angleDegrees, T x, T y, T z) |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DRotateX (T angleDegrees) |
Returns a rotation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DRotateY (T angleDegrees) |
Returns a rotation matrix. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Matrix< T, 4, 4 > | Transform3DRotateZ (T angleDegrees) |
Returns a rotation matrix. More... | |
template<typename... Ts> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto | MakeTuple (Ts &&... args) -> vtkm::Tuple< typename std::decay< Ts >::type... > |
Creates a new vtkm::Tuple with the given types. More... | |
template<typename... Ts> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto | make_tuple (Ts &&... args) -> decltype(vtkm::MakeTuple(std::forward< Ts >(args)...)) |
Compatible with std::make_tuple for vtkm::Tuple . More... | |
template<typename T , typename... Ts> | |
constexpr VTKM_EXEC_CONT vtkm::Vec< T, vtkm::IdComponent(sizeof...(Ts)+1)> | make_Vec (T value0, Ts &&... args) |
Initializes and returns a Vec containing all the arguments. More... | |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT T | ReduceSum (const vtkm::Vec< T, Size > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceSum (const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceSum (const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceSum (const vtkm::Vec< T, 4 > &a) |
template<typename T , vtkm::IdComponent Size> | |
VTKM_EXEC_CONT T | ReduceProduct (const vtkm::Vec< T, Size > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceProduct (const vtkm::Vec< T, 2 > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceProduct (const vtkm::Vec< T, 3 > &a) |
template<typename T > | |
VTKM_EXEC_CONT T | ReduceProduct (const vtkm::Vec< T, 4 > &a) |
template<typename T , vtkm::IdComponent Size> | |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::Vec< T, Size > &vec) |
Helper function for printing out vectors during testing. More... | |
template<typename T , typename U > | |
VTKM_EXEC_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::Pair< T, U > &vec) |
Helper function for printing out pairs during testing. More... | |
template<vtkm::IdComponent NumDimensions> | |
VTKM_CONT std::ostream & | operator<< (std::ostream &stream, const vtkm::VecAxisAlignedPointCoordinates< NumDimensions > &vec) |
Helper function for printing out vectors during testing. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::VecFlat< T > | make_VecFlat (const T &vec) |
Converts a Vec -like object to a VecFlat . More... | |
template<typename IndexVecType , typename PortalType > | |
VTKM_EXEC VecFromPortalPermute< IndexVecType, PortalType > | make_VecFromPortalPermute (const IndexVecType *index, const PortalType &portal) |
template<typename IndexVecType , typename PortalType > | |
VTKM_EXEC VecFromPortalPermute< IndexVecType, const PortalType * > | make_VecFromPortalPermute (const IndexVecType *index, const PortalType *const portal) |
template<typename ValueType , typename WeightType > | |
VTKM_EXEC_CONT ValueType | Lerp (const ValueType &value0, const ValueType &value1, const WeightType &weight) |
Returns the linear interpolation of two values based on weight. More... | |
template<typename ValueType , vtkm::IdComponent N, typename WeightType > | |
VTKM_EXEC_CONT vtkm::Vec< ValueType, N > | Lerp (const vtkm::Vec< ValueType, N > &value0, const vtkm::Vec< ValueType, N > &value1, const WeightType &weight) |
template<typename ValueType , vtkm::IdComponent N> | |
VTKM_EXEC_CONT vtkm::Vec< ValueType, N > | Lerp (const vtkm::Vec< ValueType, N > &value0, const vtkm::Vec< ValueType, N > &value1, const vtkm::Vec< ValueType, N > &weight) |
template<typename T > | |
VTKM_EXEC_CONT detail::FloatingPointReturnType< T >::Type | MagnitudeSquared (const T &x) |
Returns the square of the magnitude of a vector. More... | |
template<typename T > | |
VTKM_EXEC_CONT detail::FloatingPointReturnType< T >::Type | Magnitude (const T &x) |
Returns the magnitude of a vector. More... | |
template<typename T > | |
VTKM_EXEC_CONT detail::FloatingPointReturnType< T >::Type | RMagnitude (const T &x) |
Returns the reciprocal magnitude of a vector. More... | |
template<typename T > | |
VTKM_EXEC_CONT T | Normal (const T &x) |
Returns a normalized version of the given vector. More... | |
template<typename T > | |
VTKM_EXEC_CONT void | Normalize (T &x) |
Changes a vector to be normal. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< typename detail::FloatingPointReturnType< T >::Type, 3 > | Cross (const vtkm::Vec< T, 3 > &x, const vtkm::Vec< T, 3 > &y) |
Find the cross product of two vectors. More... | |
template<typename T > | |
VTKM_EXEC_CONT vtkm::Vec< typename detail::FloatingPointReturnType< T >::Type, 3 > | TriangleNormal (const vtkm::Vec< T, 3 > &a, const vtkm::Vec< T, 3 > &b, const vtkm::Vec< T, 3 > &c) |
Find the normal of a triangle. More... | |
template<typename T , int N> | |
VTKM_EXEC_CONT vtkm::Vec< T, N > | Project (const vtkm::Vec< T, N > &v, const vtkm::Vec< T, N > &u) |
Project a vector onto another vector. More... | |
template<typename T , int N> | |
VTKM_EXEC_CONT T | ProjectedDistance (const vtkm::Vec< T, N > &v, const vtkm::Vec< T, N > &u) |
Project a vector onto another vector, returning only the projected distance. More... | |
template<typename T , int N> | |
VTKM_EXEC_CONT int | Orthonormalize (const vtkm::Vec< vtkm::Vec< T, N >, N > &inputs, vtkm::Vec< vtkm::Vec< T, N >, N > &outputs, T tol=static_cast< T >(1e-6)) |
Perform Gram-Schmidt orthonormalization for 3-D vectors. More... | |
Variables | |
template<typename T , vtkm::IdComponent Size> | |
class VTKM_ALWAYS_EXPORT | Vec |
template<typename T > | |
class VTKM_ALWAYS_EXPORT | VecC |
template<typename T > | |
class VTKM_ALWAYS_EXPORT | VecCConst |
template<typename TupleType > | |
using | TupleSize = std::integral_constant< vtkm::IdComponent, TupleType::Size > |
Get the size of a tuple. More... | |
template<typename TupleType > | |
using | tuple_size = std::integral_constant< std::size_t, static_cast< std::size_t >(TupleType::Size)> |
Compatible with std::tuple_size for vtkm::Tuple . More... | |
template<vtkm::IdComponent Index, typename TupleType > | |
using | TupleElement = typename detail::TupleElementImpl< Index, TupleType >::type |
Becomes the type of the given index for the given vtkm::Tuple . More... | |
template<std::size_t Index, typename TupleType > | |
using | tuple_element_t = typename tuple_element< Index, TupleType >::type |
Compatible with std::tuple_element_t for vtkm::Tuple . More... | |
template<vtkm::IdComponent Index, typename... Ts> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto | Get (const vtkm::Tuple< Ts... > &tuple) -> decltype(tuple.template Get< Index >()) |
Retrieve the object from a vtkm::Tuple at the given index. More... | |
template<vtkm::IdComponent Index, typename... Ts> | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto | Get (vtkm::Tuple< Ts... > &tuple) -> decltype(tuple.template Get< Index >()) |
Get the size of a tuple. More... | |
Groups connected points that have the same field value.
Worklet for volume algorithms that require a neighborhood.
VTK-m Toolkit.
Incorporates values of the parent of the current subtree in the subtree for the min and max hypersweeps.
Median algorithm for general image blur.
The ImageConnectivity filter finds groups of points that have the same field value and are connected together through their topology. Any point is considered to be connected to its Moore neighborhood: 8 neighboring points for 2D and 27 neighboring points for 3D. As the name implies, ImageConnectivity only works on data with a structured cell set. You will get an error if you use any other type of cell set. The active field passed to the filter must be associated with the points. The result of the filter is a point field of type vtkm::Id. Each entry in the point field will be a number that identifies to which region it belongs. By default, this output point field is named “component”.
The ImageMedian filter finds the median value for each pixel in an image. Currently the algorithm has the following restrictions.
This means that volumes are basically treated as an image stack along the z axis
Default output field name is 'median'
vtkm is the namespace for the VTK-m Toolkit. It contains other sub namespaces, as well as basic data types and functions callable from all components in VTK-m toolkit.
WorkletCellNeighborhood executes on every point inside a volume providing access to the 3D neighborhood values. The neighborhood is always cubic in nature and is fixed at compile time.
WorkletPointNeighborhood executes on every point inside a volume providing access to the 3D neighborhood values. The neighborhood is always cubic in nature and is fixed at compile time.
using vtkm::AtomicTypePreferred = typedef vtkm::UInt32 |
The preferred type to use for atomic operations.
using vtkm::AtomicTypesSupported = typedef vtkm::List<vtkm::UInt32, vtkm::UInt64> |
A list of types that can be used with atomic operations.
TODO: Adjust based on devices being compiled.
BUG: vtkm::UInt64 is provided in this list even though it is not supported on CUDA before compute capability 3.5.
using vtkm::BufferSizeType = typedef vtkm::Int64 |
using vtkm::Circle = typedef Sphere<T, 2> |
Circle is an alias for a 2-Dimensional sphere.
using vtkm::Circle2d = typedef Circle<vtkm::FloatDefault> |
using vtkm::Float32 = typedef float |
using vtkm::Float64 = typedef double |
using vtkm::FloatDefault = typedef vtkm::Float32 |
The floating point type to use when no other precision is specified.
using vtkm::HashType = typedef vtkm::UInt32 |
using vtkm::HasVecTraits = typedef typename detail::HasVecTraitsImpl<T>::Type |
Determines whether the given type has VecTraits defined.
If the given type T has a valid VecTraits class, then HasVecTraits<T> will be set to std::true_type. Otherwise it will be set to std::false_type. For example, HasVecTraits<vtkm::Id> is the same as std::true_type whereas HasVecTraits<void *> is the same as std::false_type. This is useful to block the definition of methods using VecTraits when VecTraits are not defined.
using vtkm::Id = typedef vtkm::Int32 |
Represents an ID (index into arrays).
Id3 corresponds to a 3-dimensional index for 3d arrays.
Note that the precision of each index may be less than vtkm::Id.
using vtkm::IdComponent = typedef vtkm::Int32 |
Represents a component ID (index of component in a vector).
The number of components, being a value fixed at compile time, is generally assumed to be quite small. However, we are currently using a 32-bit width integer because modern processors tend to access them more efficiently than smaller widths.
using vtkm::IdComponent2 = typedef vtkm::Vec<vtkm::IdComponent, 2> |
IdComponent2 corresponds to an index to a local (small) 2-d array or equivalent.
using vtkm::IdComponent3 = typedef vtkm::Vec<vtkm::IdComponent, 3> |
IdComponent2 corresponds to an index to a local (small) 3-d array or equivalent.
using vtkm::IdComponent4 = typedef vtkm::Vec<vtkm::IdComponent, 4> |
IdComponent4 corresponds to an index to a local (small) 4-d array or equivalent.
using vtkm::Int16 = typedef int16_t |
using vtkm::Int32 = typedef int32_t |
using vtkm::Int8 = typedef int8_t |
using vtkm::Line = typedef Ray<CoordType, Dim, true> |
Lines are two-sided rays:
using vtkm::Line2 = typedef Line<CoordType, 2> |
using vtkm::Line2d = typedef Line2<vtkm::FloatDefault> |
using vtkm::Line3 = typedef Line<CoordType, 3> |
using vtkm::Line3d = typedef Line3<vtkm::FloatDefault> |
using vtkm::LineSegment2 = typedef LineSegment<CoordType, 2> |
using vtkm::LineSegment2d = typedef LineSegment2<vtkm::FloatDefault> |
using vtkm::LineSegment3 = typedef LineSegment<CoordType, 3> |
using vtkm::LineSegment3d = typedef LineSegment3<vtkm::FloatDefault> |
using vtkm::ListAll = typedef vtkm::ListReduce<vtkm::ListTransform<List, Predicate>, vtkm::internal::meta::And, std::true_type> |
Determines whether all the types in the list are "true.".
ListAll
expects a vtkm::List
with types that have a value
that is either true or false (such as std::true_type
and std::false_type
. Resolves to std::true_type
if all the types are true, std::false_type
otherwise. If the list is empty, resolves to std::true_type
.
ListAll
also accepts an optional second argument that is a template that is a predicate applied to each item in the input list before checking for the value
type.
using vtkm::ListAny = typedef vtkm::ListReduce<vtkm::ListTransform<List, Predicate>, vtkm::internal::meta::Or, std::false_type> |
Determines whether any of the types in the list are "true.".
ListAny
expects a vtkm::List
with types that have a value
that is either true or false (such as std::true_type
and std::false_type
. Resolves to std::true_type
if any of the types are true, std::false_type
otherwise. If the list is empty, resolves to std::false_type
.
ListAny
also accepts an optional second argument that is a template that is a predicate applied to each item in the input list before checking for the value
type.
using vtkm::ListAppend = typedef typename detail::ListAppendImpl<Lists...>::type |
Concatinates a set of lists into a single list.
Note that this does not work correctly with vtkm::ListUniversal
.
using vtkm::ListApply = typedef typename detail::ListApplyImpl<List, Target>::type |
Applies the list of types to a template.
Given a ListTag and a templated class, returns the class instantiated with the types represented by the ListTag.
using vtkm::ListAt = typedef typename detail::ListAtImpl<List, Index>::type |
Finds the type at the given index.
This becomes the type of the list at the given index.
using vtkm::ListCross = typedef typename detail::ListCrossImpl<List1, List2>::type |
Generates a list that is the cross product of two input lists.
The resulting list has the form of vtkm::List<vtkm::List<A1,B1>, vtkm::List<A1,B2>,...>
using vtkm::ListEmpty = typedef vtkm::List<> |
A special tag for an empty list.
using vtkm::ListFill = typedef typename detail::ListFillImpl<T, N>::type |
Returns a list filled with N copies of type T.
using vtkm::ListHas = typedef typename detail::ListHasImpl<List, T>::type |
using vtkm::ListIndexOf = typedef typename detail::ListIndexOfImpl<List, T>::type |
Finds the index of a given type.
Becomes a std::integral_constant
for the index of the given type. If the given type is not in the list, the value is set to -1.
using vtkm::ListIntersect = typedef typename detail::ListIntersectImpl<List1, List2>::type |
Constructs a list containing types present in all lists.
using vtkm::ListReduce = typedef typename detail::ListReduceImpl<List, Operator, Initial>::type |
Reduces a list to a single type using an operator.
ListReduce
takes a vtkm::List
, an operator template, and an initial type. ListReduce
first applies the initial type and the first item in the list to the operator and gets that type. That then applies the operator to that result and the next item in the list. This continues until a single value is left.
using vtkm::ListRemoveIf = typedef typename detail::ListRemoveIfImpl<List, Predicate>::type |
Takes an existing List
and a predicate template that is applied to each type in the List
.
Any type in the List
that has a value element equal to true (the equivalent of std::true_type
), that item will be removed from the list. For example the following type
resolves to a List
that is equivalent to vtkm::List<float, double>
because std::is_integral<int>
and std::is_integral<long long>
resolve to std::true_type
whereas std::is_integral<float>
and std::is_integral<double>
resolve to std::false_type
.
using vtkm::ListSize = typedef typename detail::ListSizeImpl<List>::type |
Becomes an std::integral_constant containing the number of types in a list.
using vtkm::ListTransform = typedef typename detail::ListTransformImpl<List, Transform>::type |
Constructs a list containing all types in a source list applied to a transform template.
using vtkm::ListUniversal = typedef vtkm::List<detail::UniversalTypeTag> |
A special tag for a list that represents holding all potential values.
Note: Can not be used with ForEach and some list transforms for obvious reasons.
using vtkm::Plane3d = typedef Plane<vtkm::FloatDefault> |
using vtkm::Ray2 = typedef Ray<CoordType, 2> |
using vtkm::Ray2d = typedef Ray2<vtkm::FloatDefault> |
using vtkm::Ray3 = typedef Ray<CoordType, 3> |
using vtkm::Ray3d = typedef Ray3<vtkm::FloatDefault> |
using vtkm::Sphere2 = typedef Sphere<T, 2> |
using vtkm::Sphere2d = typedef Sphere2<vtkm::FloatDefault> |
using vtkm::Sphere3 = typedef Sphere<T, 3> |
using vtkm::Sphere3d = typedef Sphere3<vtkm::FloatDefault> |
using vtkm::tuple_element_t = typedef typename tuple_element<Index, TupleType>::type |
Compatible with std::tuple_element_t
for vtkm::Tuple
.
using vtkm::tuple_size = typedef std::integral_constant<std::size_t, static_cast<std::size_t>(TupleType::Size)> |
Compatible with std::tuple_size
for vtkm::Tuple
.
using vtkm::TupleElement = typedef typename detail::TupleElementImpl<Index, TupleType>::type |
Becomes the type of the given index for the given vtkm::Tuple
.
using vtkm::TupleSize = typedef std::integral_constant<vtkm::IdComponent, TupleType::Size> |
Get the size of a tuple.
Given a vtkm::Tuple
type, because a std::integral_constant
of the type.
using vtkm::TypeListAll = typedef vtkm::ListAppend<vtkm::TypeListScalarAll, vtkm::TypeListVecAll> |
A list of all basic types listed in vtkm/Types.h.
Does not include all possible VTK-m types like arbitrarily typed and sized Vecs (only up to length 4) or math types like matrices.
using vtkm::TypeListBaseC = typedef vtkm::ListAppend< vtkm::TypeListScalarAll, vtkm::List<bool, char, signed VTKM_UNUSED_INT_TYPE, unsigned VTKM_UNUSED_INT_TYPE> > |
using vtkm::TypeListCommon = typedef vtkm::List<vtkm::UInt8, vtkm::Int32, vtkm::Int64, vtkm::Float32, vtkm::Float64, vtkm::Vec3f_32, vtkm::Vec3f_64> |
A list of the most commonly used types across multiple domains.
Includes integers, floating points, and 3 dimensional vectors of floating points.
using vtkm::TypeListField = typedef vtkm::List<vtkm::Float32, vtkm::Float64, vtkm::Vec2f_32, vtkm::Vec2f_64, vtkm::Vec3f_32, vtkm::Vec3f_64, vtkm::Vec4f_32, vtkm::Vec4f_64> |
A list containing common types for values in fields.
Specifically contains floating point scalars and vectors of size 2, 3, and 4 with floating point components.
using vtkm::TypeListFieldScalar = typedef vtkm::List<vtkm::Float32, vtkm::Float64> |
A list containing types used for scalar fields.
Specifically, contains floating point numbers of different widths (i.e. vtkm::Float32 and vtkm::Float64).
using vtkm::TypeListFieldVec2 = typedef vtkm::List<vtkm::Vec2f_32, vtkm::Vec2f_64> |
A list containing types for values for fields with two dimensional vectors.
using vtkm::TypeListFieldVec3 = typedef vtkm::List<vtkm::Vec3f_32, vtkm::Vec3f_64> |
A list containing types for values for fields with three dimensional vectors.
using vtkm::TypeListFieldVec4 = typedef vtkm::List<vtkm::Vec4f_32, vtkm::Vec4f_64> |
A list containing types for values for fields with four dimensional vectors.
using vtkm::TypeListFloatVec = typedef vtkm::List<vtkm::Vec2f_32, vtkm::Vec2f_64, vtkm::Vec3f_32, vtkm::Vec3f_64, vtkm::Vec4f_32, vtkm::Vec4f_64> |
A list containing common types for floating-point vectors.
Specifically contains floating point vectors of size 2, 3, and 4 with floating point components. Scalars are not included.
using vtkm::TypeListId = typedef vtkm::List<vtkm::Id> |
A list containing the type vtkm::Id.
using vtkm::TypeListId2 = typedef vtkm::List<vtkm::Id2> |
A list containing the type vtkm::Id2.
using vtkm::TypeListId3 = typedef vtkm::List<vtkm::Id3> |
A list containing the type vtkm::Id3.
using vtkm::TypeListId4 = typedef vtkm::List<vtkm::Id4> |
A list containing the type vtkm::Id4.
using vtkm::TypeListIdComponent = typedef vtkm::List<vtkm::IdComponent> |
A list containing the type vtkm::IdComponent.
using vtkm::TypeListIndex = typedef vtkm::List<vtkm::Id, vtkm::Id2, vtkm::Id3> |
using vtkm::TypeListScalarAll = typedef vtkm::List<vtkm::Int8, vtkm::UInt8, vtkm::Int16, vtkm::UInt16, vtkm::Int32, vtkm::UInt32, vtkm::Int64, vtkm::UInt64, vtkm::Float32, vtkm::Float64> |
A list of all scalars defined in vtkm/Types.h.
A scalar is a type that holds a single number. This should containing all true variations of scalars, but there might be some arithmetic C types not included. For example, this list contains signed char
, and unsigned char
, but not char
as one of those types will behave the same as it. Two of the three types behave the same, but be aware that template resolution will treat them differently.
using vtkm::TypeListVecAll = typedef vtkm::ListAppend<vtkm::TypeListVecCommon, vtkm::internal::TypeListVecUncommon> |
A list of all vector classes with standard types as components and lengths between 2 and 4.
A list of the most commonly use Vec classes.
Specifically, these are vectors of size 2, 3, or 4 containing either unsigned bytes, signed integers of 32 or 64 bits, or floating point values of 32 or 64 bits.
using vtkm::UInt16 = typedef uint16_t |
using vtkm::UInt32 = typedef uint32_t |
using vtkm::UInt8 = typedef uint8_t |
using vtkm::Vec2f = typedef vtkm::Vec<vtkm::FloatDefault, 2> |
Vec2f corresponds to a 2-dimensional vector of floating point values.
Each floating point value is of the default precision (i.e. vtkm::FloatDefault). It is typedef for vtkm::Vec<vtkm::FloatDefault, 2>.
using vtkm::Vec2f_32 = typedef vtkm::Vec<vtkm::Float32, 2> |
Vec2f_32 corresponds to a 2-dimensional vector of 32-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float32, 2>.
using vtkm::Vec2f_64 = typedef vtkm::Vec<vtkm::Float64, 2> |
Vec2f_64 corresponds to a 2-dimensional vector of 64-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float64, 2>.
using vtkm::Vec2i = typedef vtkm::Vec<vtkm::Id, 2> |
Vec2i corresponds to a 2-dimensional vector of integer values.
Each integer value is of the default precision (i.e. vtkm::Id).
using vtkm::Vec2i_16 = typedef vtkm::Vec<vtkm::Int16, 2> |
Vec2i_16 corresponds to a 2-dimensional vector of 16-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 2>.
using vtkm::Vec2i_32 = typedef vtkm::Vec<vtkm::Int32, 2> |
Vec2i_32 corresponds to a 2-dimensional vector of 32-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 2>.
using vtkm::Vec2i_64 = typedef vtkm::Vec<vtkm::Int64, 2> |
Vec2i_64 corresponds to a 2-dimensional vector of 64-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int64, 2>.
using vtkm::Vec2i_8 = typedef vtkm::Vec<vtkm::Int8, 2> |
Vec2i_8 corresponds to a 2-dimensional vector of 8-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 2>.
using vtkm::Vec2ui = typedef vtkm::Vec<vtkm::UInt32, 2> |
Vec2ui corresponds to a 2-dimensional vector of unsigned integer values.
Each integer value is of the default precision (following vtkm::Id).
using vtkm::Vec2ui_16 = typedef vtkm::Vec<vtkm::UInt16, 2> |
Vec2ui_16 corresponds to a 2-dimensional vector of 16-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 2>.
using vtkm::Vec2ui_32 = typedef vtkm::Vec<vtkm::UInt32, 2> |
Vec2ui_32 corresponds to a 2-dimensional vector of 32-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 2>.
using vtkm::Vec2ui_64 = typedef vtkm::Vec<vtkm::UInt64, 2> |
Vec2ui_64 corresponds to a 2-dimensional vector of 64-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt64, 2>.
using vtkm::Vec2ui_8 = typedef vtkm::Vec<vtkm::UInt8, 2> |
Vec2ui_8 corresponds to a 2-dimensional vector of 8-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 2>.
using vtkm::Vec3f = typedef vtkm::Vec<vtkm::FloatDefault, 3> |
Vec3f corresponds to a 3-dimensional vector of floating point values.
Each floating point value is of the default precision (i.e. vtkm::FloatDefault). It is typedef for vtkm::Vec<vtkm::FloatDefault, 3>.
using vtkm::Vec3f_32 = typedef vtkm::Vec<vtkm::Float32, 3> |
Vec3f_32 corresponds to a 3-dimensional vector of 32-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float32, 3>.
using vtkm::Vec3f_64 = typedef vtkm::Vec<vtkm::Float64, 3> |
Vec3f_64 corresponds to a 3-dimensional vector of 64-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float64, 3>.
using vtkm::Vec3i = typedef vtkm::Vec<vtkm::Id, 3> |
Vec3i corresponds to a 3-dimensional vector of integer values.
Each integer value is of the default precision (i.e. vtkm::Id).
using vtkm::Vec3i_16 = typedef vtkm::Vec<vtkm::Int16, 3> |
Vec3i_16 corresponds to a 3-dimensional vector of 16-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 3>.
using vtkm::Vec3i_32 = typedef vtkm::Vec<vtkm::Int32, 3> |
Vec3i_32 corresponds to a 3-dimensional vector of 32-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 3>.
using vtkm::Vec3i_64 = typedef vtkm::Vec<vtkm::Int64, 3> |
Vec3i_64 corresponds to a 3-dimensional vector of 64-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int64, 3>.
using vtkm::Vec3i_8 = typedef vtkm::Vec<vtkm::Int8, 3> |
Vec3i_8 corresponds to a 3-dimensional vector of 8-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 3>.
using vtkm::Vec3ui = typedef vtkm::Vec<vtkm::UInt32, 3> |
Vec3ui corresponds to a 3-dimensional vector of unsigned integer values.
Each integer value is of the default precision (following vtkm::Id).
using vtkm::Vec3ui_16 = typedef vtkm::Vec<vtkm::UInt16, 3> |
Vec3ui_16 corresponds to a 3-dimensional vector of 16-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 3>.
using vtkm::Vec3ui_32 = typedef vtkm::Vec<vtkm::UInt32, 3> |
Vec3ui_32 corresponds to a 3-dimensional vector of 32-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 3>.
using vtkm::Vec3ui_64 = typedef vtkm::Vec<vtkm::UInt64, 3> |
Vec3ui_64 corresponds to a 3-dimensional vector of 64-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt64, 3>.
using vtkm::Vec3ui_8 = typedef vtkm::Vec<vtkm::UInt8, 3> |
Vec3ui_8 corresponds to a 3-dimensional vector of 8-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 3>.
using vtkm::Vec4f = typedef vtkm::Vec<vtkm::FloatDefault, 4> |
Vec4f corresponds to a 4-dimensional vector of floating point values.
Each floating point value is of the default precision (i.e. vtkm::FloatDefault). It is typedef for vtkm::Vec<vtkm::FloatDefault, 4>.
using vtkm::Vec4f_32 = typedef vtkm::Vec<vtkm::Float32, 4> |
Vec4f_32 corresponds to a 4-dimensional vector of 32-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float32, 4>.
using vtkm::Vec4f_64 = typedef vtkm::Vec<vtkm::Float64, 4> |
Vec4f_64 corresponds to a 4-dimensional vector of 64-bit floating point values.
It is typedef for vtkm::Vec<vtkm::Float64, 4>.
using vtkm::Vec4i = typedef vtkm::Vec<vtkm::Id, 4> |
Vec4i corresponds to a 4-dimensional vector of integer values.
Each integer value is of the default precision (i.e. vtkm::Id).
using vtkm::Vec4i_16 = typedef vtkm::Vec<vtkm::Int16, 4> |
Vec4i_16 corresponds to a 4-dimensional vector of 16-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 4>.
using vtkm::Vec4i_32 = typedef vtkm::Vec<vtkm::Int32, 4> |
Vec4i_32 corresponds to a 4-dimensional vector of 32-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 4>.
using vtkm::Vec4i_64 = typedef vtkm::Vec<vtkm::Int64, 4> |
Vec4i_64 corresponds to a 4-dimensional vector of 64-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int64, 4>.
using vtkm::Vec4i_8 = typedef vtkm::Vec<vtkm::Int8, 4> |
Vec4i_8 corresponds to a 4-dimensional vector of 8-bit integer values.
It is typedef for vtkm::Vec<vtkm::Int32, 4>.
using vtkm::Vec4ui = typedef vtkm::Vec<vtkm::UInt32, 4> |
Vec4ui corresponds to a 4-dimensional vector of unsigned integer values.
Each integer value is of the default precision (following vtkm::Id).
using vtkm::Vec4ui_16 = typedef vtkm::Vec<vtkm::UInt16, 4> |
Vec4ui_16 corresponds to a 4-dimensional vector of 16-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 4>.
using vtkm::Vec4ui_32 = typedef vtkm::Vec<vtkm::UInt32, 4> |
Vec4ui_32 corresponds to a 4-dimensional vector of 32-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 4>.
using vtkm::Vec4ui_64 = typedef vtkm::Vec<vtkm::UInt64, 4> |
Vec4ui_64 corresponds to a 4-dimensional vector of 64-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt64, 4>.
using vtkm::Vec4ui_8 = typedef vtkm::Vec<vtkm::UInt8, 4> |
Vec4ui_8 corresponds to a 4-dimensional vector of 8-bit unsigned integer values.
It is typedef for vtkm::Vec<vtkm::UInt32, 4>.
using vtkm::WordTypeDefault = typedef vtkm::UInt32 |
The default word size used for atomic bitwise operations.
Universally supported on all devices.
CellShapeId identifies the type of each cell.
Currently these are designed to match up with VTK cell types.
|
strong |
|
strong |
|
strong |
|
strong |
Specifies memory order semantics for atomic operations.
The memory order parameter controls how all other memory operations are ordered around a specific atomic instruction.
Memory access is complicated. Compilers can reorder instructions to optimize scheduling, processors can speculatively read memory, and caches make assumptions about coherency that we may not normally be aware of. Because of this complexity, the order in which multiple updates to shared memory become visible to other threads is not guaranteed, nor is it guaranteed that each thread will see memory updates occur in the same order as any other thread. This can lead to surprising behavior and cause problems when using atomics to communicate between threads.
These problems are solved by using a standard set of memory orderings which describe common access patterns used for shared memory programming. Their goal is to provide guarantees that changes made in one thread will be visible to another thread at a specific and predictable point in execution, regardless of any hardware or compiler optimizations.
If unsure, use SequentiallyConsistent
memory orderings. It will "do the right
thing", but at the cost of increased and possibly unnecessary memory ordering restrictions. The other orderings are optimizations that are only applicable in very specific situations.
See https://en.cppreference.com/w/cpp/atomic/memory_order for a detailed description of the different orderings and their usage.
The memory order semantics follow those of other common atomic operations such as the std::memory_order
identifiers used for std::atomic
.
Note that when a memory order is specified, the enforced memory order is guaranteed to be as good or better than that requested.
|
inline |
Compute the arc cosine of x
.
|
inline |
|
inline |
Compute the hyperbolic arc cosine of x
.
|
inline |
|
inline |
Compute the arc sine of x
.
|
inline |
|
inline |
Compute the hyperbolic arc sine of x
.
|
inline |
|
inline |
Compute the arc tangent of x
.
|
inline |
|
inline |
Compute the hyperbolic arc tangent of x
.
|
inline |
|
inline |
Atomic function to add a value to a shared memory location.
Given a pointer and an operand, adds the operand to the value at the given memory location. The result of the addition is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicAdd
on a memory location that holds a 5 with an operand of 3, the value of 8 is stored in the memory location and the value of 5 is returned.
If multiple threads call AtomicAdd
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function to add a value to a shared memory location.
Given a pointer and an operand, adds the operand to the value at the given memory location. The result of the addition is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicAdd
on a memory location that holds a 5 with an operand of 3, the value of 8 is stored in the memory location and the value of 5 is returned.
If multiple threads call AtomicAdd
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function to AND bits to a shared memory location.
Given a pointer and an operand, performs a bitwise AND of the operand and thevalue at the given memory location. The result of the AND is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicAnd
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x2 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicAnd
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function to AND bits to a shared memory location.
Given a pointer and an operand, performs a bitwise AND of the operand and thevalue at the given memory location. The result of the AND is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicAnd
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x2 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicAnd
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function that replaces a value given a condition.
Given a pointer to a shared
value, a pointer holding the expected
value at that shared location, and a new desired
value, AtomicCompareExchange
compares the existing shared
value to the expected
value, and then conditionally replaces the shared
value with the provided desired
value. Otherwise, the expected
value gets replaced with the shared
value. Note that in either case, the function returns with expected
replaced with the value originally in shared
at the start of the call.
If the shared
value and expected
value are the same, then shared
gets set to desired
, and AtomicCompareAndExchange
returns true
.
If the shared
value and expected
value are different, then expected
gets set to shared
, and AtomicCompareAndExchange
returns false
. The value at shared
is not changed in this case.
If multiple threads call AtomicCompareExchange
simultaneously with the same shared
pointer, the result will be consistent as if one was called before the other (although it is indeterminate which will be applied first). Note that the expected
pointer should not be shared among threads. The expected
pointer should be thread-local (often pointing to an object on the stack).
|
inline |
Atomic function to load a value from a shared memory location.
Given a pointer, returns the value in that pointer. If other threads are writing to that same location, the returned value will be consistent to what was present before or after that write.
|
inline |
Atomic function to NOT bits to a shared memory location.
Given a pointer, performs a bitwise NOT of the value at the given memory location. The result of the NOT is put into that memory location and the old value that was originally in the memory is returned.
If multiple threads call AtomicNot
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other.
|
inline |
Atomic function to OR bits to a shared memory location.
Given a pointer and an operand, performs a bitwise OR of the operand and the value at the given memory location. The result of the OR is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicOr
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x7 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicOr
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function to OR bits to a shared memory location.
Given a pointer and an operand, performs a bitwise OR of the operand and the value at the given memory location. The result of the OR is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicOr
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x7 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicOr
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other (although it is indeterminate which will be applied first).
|
inline |
Atomic function to save a value to a shared memory location.
Given a pointer and a value, stores that value at the pointer's location. If two threads are simultaneously using AtomicStore
at the same location, the resulting value will be one of the values or the other (as opposed to a mix of bits).
|
inline |
Atomic function to save a value to a shared memory location.
Given a pointer and a value, stores that value at the pointer's location. If two threads are simultaneously using AtomicStore
at the same location, the resulting value will be one of the values or the other (as opposed to a mix of bits).
|
inline |
Atomic function to XOR bits to a shared memory location.
Given a pointer and an operand, performs a bitwise exclusive-OR of the operand and the value at the given memory location. The result of the XOR is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicXor
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x5 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicXor
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other.
|
inline |
Atomic function to XOR bits to a shared memory location.
Given a pointer and an operand, performs a bitwise exclusive-OR of the operand and the value at the given memory location. The result of the XOR is put into that memory location and the old value that was originally in the memory is returned. For example, if you call AtomicXor
on a memory location that holds a 0x6 with an operand of 0x3, the value of 0x5 is stored in the memory location and the value of 0x6 is returned.
If multiple threads call AtomicXor
simultaneously, they will not interfere with each other. The result will be consistent as if one was called before the other.
|
inline |
Compute the cube root of x
.
|
inline |
|
inline |
Round x
to the smallest integer value not less than x.
|
inline |
|
inline |
Clamp x
to the given range.
|
inline |
|
inline |
Compute the cosine of x
.
|
inline |
|
inline |
Compute the hyperbolic cosine of x
.
|
inline |
|
inline |
Count the total number of bits set in word.
|
inline |
Count the total number of bits set in word.
VTKM_EXEC_CONT vtkm::Vec<typename detail::FloatingPointReturnType<T>::Type, 3> vtkm::Cross | ( | const vtkm::Vec< T, 3 > & | x, |
const vtkm::Vec< T, 3 > & | y | ||
) |
Find the cross product of two vectors.
|
inline |
|
inlinenoexcept |
|
inline |
Computes e**x
, the base-e exponential of x
.
|
inline |
|
inline |
Computes 2**x
, the base-2 exponential of x
.
|
inline |
|
inline |
Computes (e**x
) - 1, the of base-e exponental of x
then minus 1.
The accuracy of this function is good even for very small values of x.
|
inline |
|
inline |
Bitwise operations.
Find the first set bit in word, and return its position (1-32). If no bits are set, returns 0.
|
inline |
Find the first set bit in word, and return its position (1-64).
If no bits are set, returns 0.
|
inline |
|
inline |
|
inline |
Round x
to the largest integer value not greater than x.
|
inline |
|
inline |
Decompose floating poing value.
|
inline |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::Get | ( | const vtkm::Tuple< Ts... > & | tuple | ) | -> decltype(tuple.template Get<Index>()) |
Retrieve the object from a vtkm::Tuple
at the given index.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::get | ( | const vtkm::Tuple< Ts... > & | tuple | ) | -> decltype(vtkm::Get<static_cast<vtkm::IdComponent>(Index)>(tuple)) |
Compatible with std::get
for vtkm::Tuple
.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::Get | ( | vtkm::Tuple< Ts... > & | tuple | ) | -> decltype(tuple.template Get<Index>()) |
Get the size of a tuple.
Given a vtkm::Tuple
type, because a std::integral_constant
of the type.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::get | ( | vtkm::Tuple< Ts... > & | tuple | ) | -> decltype(vtkm::Get<static_cast<vtkm::IdComponent>(Index)>(tuple)) |
Compatible with std::get
for vtkm::Tuple
.
|
inline |
Returns a 32-bit hash on a group of integer-type values.
The input to the hash is expected to be a vtkm::Vec or a Vec-like object. The values can be either 32-bit integers or 64-bit integers (signed or unsigned). Regardless, the resulting hash is an unsigned 32-bit integer.
The hash is designed to minimize the probability of collisions, but collisions are always possible. Thus, when using these hashes there should be a contingency for dealing with collisions.
|
inline |
|
inline |
|
inline |
Returns the linear interpolation of two values based on weight.
Lerp
interpolates return the linerar interpolation of v0 and v1 based on w. v0 and v1 are scalars or vectors of same length. w can either be a scalar or a vector of the same length as x and y. If w is outside [0,1] then lerp extrapolates. If w=0 => v0 is returned if w=1 => v1 is returned.
VTKM_EXEC_CONT vtkm::Vec<ValueType, N> vtkm::Lerp | ( | const vtkm::Vec< ValueType, N > & | value0, |
const vtkm::Vec< ValueType, N > & | value1, | ||
const vtkm::Vec< ValueType, N > & | weight | ||
) |
VTKM_EXEC_CONT vtkm::Vec<ValueType, N> vtkm::Lerp | ( | const vtkm::Vec< ValueType, N > & | value0, |
const vtkm::Vec< ValueType, N > & | value1, | ||
const WeightType & | weight | ||
) |
VTKM_EXEC_CONT void vtkm::ListForEach | ( | Functor && | , |
vtkm::ListEmpty | , | ||
Args && | ... | ||
) |
For each typename represented by the list, call the functor with a default instance of that type.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void vtkm::ListForEach | ( | Functor && | f, |
vtkm::List< Ts... > | , | ||
Args &&... | args | ||
) |
For each typename represented by the list, call the functor with a default instance of that type.
|
inline |
Computes the natural logarithm of x
.
|
inline |
|
inline |
Computes the logarithm base 10 of x
.
|
inline |
|
inline |
Computes the value of log(1+x) accurately for very small values of x.
|
inline |
|
inline |
Computes the logarithm base 2 of x
.
|
inline |
VTKM_EXEC_CONT vtkm::Id vtkm::LowerBound | ( | const PortalT & | portal, |
const T & | val | ||
) |
Implementation of std::lower_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT vtkm::Id vtkm::LowerBound | ( | const PortalT & | portal, |
const T & | val, | ||
Comp | comp | ||
) |
Implementation of std::lower_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT IterT vtkm::LowerBound | ( | IterT | first, |
IterT | last, | ||
const T & | val | ||
) |
Implementation of std::lower_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT IterT vtkm::LowerBound | ( | IterT | first, |
IterT | last, | ||
const T & | val, | ||
Comp | comp | ||
) |
Implementation of std::lower_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT detail::FloatingPointReturnType<T>::Type vtkm::Magnitude | ( | const T & | x | ) |
Returns the magnitude of a vector.
It is usually much faster to compute MagnitudeSquared, so that should be substituted when possible (unless you are just going to take the square root, which would be besides the point). On some hardware it is also faster to find the reciprocal magnitude, so RMagnitude should be used if you actually plan to divide by the magnitude.
VTKM_EXEC_CONT detail::FloatingPointReturnType<T>::Type vtkm::MagnitudeSquared | ( | const T & | x | ) |
Returns the square of the magnitude of a vector.
It is usually much faster to compute the square of the magnitude than the square, so you should use this function in place of Magnitude or RMagnitude when possible.
VTKM_EXEC_CONT vtkm::Circle<CoordType> vtkm::make_CircleFrom3Points | ( | const typename vtkm::Vec< CoordType, 2 > & | p0, |
const typename vtkm::Vec< CoordType, 2 > & | p1, | ||
const typename vtkm::Vec< CoordType, 2 > & | p2, | ||
CoordType | tol = static_cast< CoordType >(1e-6f) |
||
) |
Construct a circle from 3 points.
VTKM_EXEC_CONT vtkm::Pair<typename std::decay<T1>::type, typename std::decay<T2>::type> vtkm::make_Pair | ( | T1 && | v1, |
T2 && | v2 | ||
) |
VTKM_EXEC_CONT vtkm::Plane<CoordType> vtkm::make_PlaneFromPointAndLine | ( | const vtkm::Vec< CoordType, 3 > & | point, |
const vtkm::Ray< CoordType, 3, IsTwoSided > & | ray, | ||
CoordType | tol2 = static_cast< CoordType >(1e-8f) |
||
) |
Construct a plane from a point plus one of: a line, a ray, or a line segment.
The plane returned will contain the point and the line/ray/segment. The plane normal will be the cross product of the line/ray/segment's direction and the vector from the line/ray/segment's origin to the given point. If the point is collinear with the line/ray/line-segment, an invalid plane will be returned.
VTKM_EXEC_CONT vtkm::Plane<CoordType> vtkm::make_PlaneFromPointAndLineSegment | ( | const vtkm::Vec< CoordType, 3 > & | point, |
const vtkm::LineSegment3< CoordType > & | segment, | ||
CoordType | tol2 = static_cast< CoordType >(1e-8f) |
||
) |
VTKM_EXEC_CONT vtkm::Sphere<CoordType, 3> vtkm::make_SphereFrom4Points | ( | const vtkm::Vec< CoordType, 3 > & | a0, |
const vtkm::Vec< CoordType, 3 > & | a1, | ||
const vtkm::Vec< CoordType, 3 > & | a2, | ||
const vtkm::Vec< CoordType, 3 > & | a3, | ||
CoordType | tol = static_cast< CoordType >(1e-6f) |
||
) |
Construct a sphere from 4 points.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::make_tuple | ( | Ts &&... | args | ) | -> decltype(vtkm::MakeTuple(std::forward<Ts>(args)...)) |
Compatible with std::make_tuple
for vtkm::Tuple
.
|
constexpr |
Initializes and returns a Vec containing all the arguments.
The arguments should all be the same type or compile issues will occur.
VTKM_EXEC_CONT vtkm::VecFlat<T> vtkm::make_VecFlat | ( | const T & | vec | ) |
|
inline |
|
inline |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT auto vtkm::MakeTuple | ( | Ts &&... | args | ) | -> vtkm::Tuple<typename std::decay<Ts>::type...> |
Creates a new vtkm::Tuple
with the given types.
VTKM_EXEC_CONT T vtkm::MatrixDeterminant | ( | const vtkm::Matrix< T, 1, 1 > & | A | ) |
VTKM_EXEC_CONT T vtkm::MatrixDeterminant | ( | const vtkm::Matrix< T, 2, 2 > & | A | ) |
VTKM_EXEC_CONT T vtkm::MatrixDeterminant | ( | const vtkm::Matrix< T, 3, 3 > & | A | ) |
VTKM_EXEC_CONT T vtkm::MatrixDeterminant | ( | const vtkm::Matrix< T, Size, Size > & | A | ) |
Compute the determinant of a matrix.
VTKM_EXEC_CONT vtkm::Vec<T, NumRow> vtkm::MatrixGetColumn | ( | const vtkm::Matrix< T, NumRow, NumCol > & | matrix, |
vtkm::IdComponent | columnIndex | ||
) |
Returns a tuple containing the given column (indexed from 0) of the given matrix.
Might not be as efficient as the MatrixGetRow
function.
const VTKM_EXEC_CONT vtkm::Vec<T, NumCol>& vtkm::MatrixGetRow | ( | const vtkm::Matrix< T, NumRow, NumCol > & | matrix, |
vtkm::IdComponent | rowIndex | ||
) |
Returns a tuple containing the given row (indexed from 0) of the given matrix.
VTKM_EXEC_CONT vtkm::Matrix<T, Size, Size> vtkm::MatrixIdentity | ( | ) |
Returns the identity matrix.
VTKM_EXEC_CONT void vtkm::MatrixIdentity | ( | vtkm::Matrix< T, Size, Size > & | matrix | ) |
Fills the given matrix with the identity matrix.
VTKM_EXEC_CONT vtkm::Matrix<T, Size, Size> vtkm::MatrixInverse | ( | const vtkm::Matrix< T, Size, Size > & | A, |
bool & | valid | ||
) |
Find and return the inverse of the given matrix.
If the matrix is singular, the inverse will not be correct and valid will be set to false.
VTKM_EXEC_CONT vtkm::Vec<T, NumRow> vtkm::MatrixMultiply | ( | const vtkm::Matrix< T, NumRow, NumCol > & | leftFactor, |
const vtkm::Vec< T, NumCol > & | rightFactor | ||
) |
Standard matrix-vector multiplication.
VTKM_EXEC_CONT vtkm::Matrix<T, NumRow, NumCol> vtkm::MatrixMultiply | ( | const vtkm::Matrix< T, NumRow, NumInternal > & | leftFactor, |
const vtkm::Matrix< T, NumInternal, NumCol > & | rightFactor | ||
) |
Standard matrix multiplication.
VTKM_EXEC_CONT vtkm::Vec<T, NumCol> vtkm::MatrixMultiply | ( | const vtkm::Vec< T, NumRow > & | leftFactor, |
const vtkm::Matrix< T, NumRow, NumCol > & | rightFactor | ||
) |
Standard vector-matrix multiplication.
VTKM_EXEC_CONT void vtkm::MatrixSetColumn | ( | vtkm::Matrix< T, NumRow, NumCol > & | matrix, |
vtkm::IdComponent | columnIndex, | ||
const vtkm::Vec< T, NumRow > & | columnValues | ||
) |
Convenience function for setting a column of a matrix.
VTKM_EXEC_CONT void vtkm::MatrixSetRow | ( | vtkm::Matrix< T, NumRow, NumCol > & | matrix, |
vtkm::IdComponent | rowIndex, | ||
const vtkm::Vec< T, NumCol > & | rowValues | ||
) |
Convenience function for setting a row of a matrix.
VTKM_EXEC_CONT vtkm::Matrix<T, NumCols, NumRows> vtkm::MatrixTranspose | ( | const vtkm::Matrix< T, NumRows, NumCols > & | matrix | ) |
Returns the transpose of the given matrix.
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT NewtonsMethodResult<ScalarType, Size> vtkm::NewtonsMethod | ( | JacobianFunctor | jacobianEvaluator, |
FunctionFunctor | functionEvaluator, | ||
vtkm::Vec< ScalarType, Size > | desiredFunctionOutput, | ||
vtkm::Vec< ScalarType, Size > | initialGuess = vtkm::Vec<ScalarType, Size>(ScalarType(0)) , |
||
ScalarType | convergeDifference = ScalarType(1e-3) , |
||
vtkm::IdComponent | maxIterations = 10 |
||
) |
Uses Newton's method (a.k.a.
Newton-Raphson method) to solve a nonlinear system of equations. This function assumes that the number of variables equals the number of equations. Newton's method operates on an iterative evaluate and search. Evaluations are performed using the functors passed into the NewtonsMethod. The first functor returns the NxN matrix of the Jacobian at a given input point. The second functor returns the N tuple that is the function evaluation at the given input point. The input point that evaluates to the desired output, or the closest point found, is returned.
VTKM_EXEC_CONT T vtkm::Normal | ( | const T & | x | ) |
Returns a normalized version of the given vector.
The resulting vector points in the same direction but has unit length.
VTKM_EXEC_CONT void vtkm::Normalize | ( | T & | x | ) |
Changes a vector to be normal.
The given vector is scaled to be unit length.
VTKM_EXEC_CONT bool vtkm::operator!= | ( | const vtkm::Matrix< T, NumRow, NumCol > & | a, |
const vtkm::Matrix< T, NumRow, NumCol > & | b | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
VTKM_EXEC_CONT vtkm::Pair<T, U> vtkm::operator+ | ( | const vtkm::Pair< T, U > & | a, |
const vtkm::Pair< T, U > & | b | ||
) |
Pairwise Add.
This is done by adding the two objects separately. Useful for Reduce operation on a zipped array
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Helper function for printing bounds during testing.
VTKM_CONT std::ostream& vtkm::operator<< | ( | std::ostream & | stream, |
const vtkm::Matrix< T, NumRow, NumCol > & | mat | ||
) |
Helper function for printing out matricies during testing.
|
inline |
Helper function for printing out pairs during testing.
|
inline |
Helper function for printing ranges during testing.
|
inline |
Helper function for printing range during testing.
|
inline |
Helper function for printing out vectors during testing.
|
inline |
Helper function for printing out vectors during testing.
VTKM_EXEC_CONT bool vtkm::operator== | ( | const vtkm::Matrix< T, NumRow, NumCol > & | a, |
const vtkm::Matrix< T, NumRow, NumCol > & | b | ||
) |
VTKM_EXEC_CONT int vtkm::Orthonormalize | ( | const vtkm::Vec< vtkm::Vec< T, N >, N > & | inputs, |
vtkm::Vec< vtkm::Vec< T, N >, N > & | outputs, | ||
T | tol = static_cast<T>(1e-6) |
||
) |
Perform Gram-Schmidt orthonormalization for 3-D vectors.
See https://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process for details. The first output vector will always be parallel to the first input vector. The remaining output vectors will be orthogonal and unit length and have the same handedness as their corresponding input vectors.
This method is geometric. It does not require a matrix solver. However, unlike the algebraic eigensolver techniques which do use matrix inversion, this method may return zero-length output vectors if some input vectors are collinear. The number of non-zero (to within the specified tolerance, tol ) output vectors is the return value.
VTKM_EXEC_CONT vtkm::Vec<T, N> vtkm::Project | ( | const vtkm::Vec< T, N > & | v, |
const vtkm::Vec< T, N > & | u | ||
) |
Project a vector onto another vector.
This method computes the orthogonal projection of the vector v onto u; that is, it projects its first argument onto its second.
Note that if the vector u has zero length, the output vector will have all its entries equal to NaN.
VTKM_EXEC_CONT T vtkm::ProjectedDistance | ( | const vtkm::Vec< T, N > & | v, |
const vtkm::Vec< T, N > & | u | ||
) |
Project a vector onto another vector, returning only the projected distance.
This method computes the orthogonal projection of the vector v onto u; that is, it projects its first argument onto its second.
Note that if the vector u has zero length, the output will be NaN.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
VTKM_EXEC_CONT detail::FloatingPointReturnType<T>::Type vtkm::RMagnitude | ( | const T & | x | ) |
Returns the reciprocal magnitude of a vector.
On some hardware RMagnitude is faster than Magnitude, but neither is as fast as MagnitudeSquared.
|
inline |
Round x
to the nearest integral value.
|
inline |
|
inline |
Compute the sine of x
.
|
inline |
|
inline |
Compute the hyperbolic sine of x
.
|
inline |
VTKM_EXEC_CONT vtkm::Vec<T, Size> vtkm::SolveLinearSystem | ( | const vtkm::Matrix< T, Size, Size > & | A, |
const vtkm::Vec< T, Size > & | b, | ||
bool & | valid | ||
) |
Solve the linear system Ax = b for x.
If a single solution is found, valid is set to true, false otherwise.
|
inline |
Compute the square root of x
.
|
inline |
|
inline |
Performs a swap operation. Safe to call from cuda code.
|
inline |
Compute the tangent of x
.
|
inline |
|
inline |
Compute the hyperbolic tangent of x
.
|
inline |
VTKM_EXEC_CONT vtkm::Vec<T, 3> vtkm::Transform3DPoint | ( | const vtkm::Matrix< T, 4, 4 > & | matrix, |
const vtkm::Vec< T, 3 > & | point | ||
) |
Transform a 3D point by a transformation matrix.
Given a 4x4 transformation matrix and a 3D point, returns the point transformed by the given matrix in homogeneous coordinates.
This method ignores any change in the fourth component of the transformed homogeneous coordinate, assuming that it is always 1 (that is, the last row of the matrix is 0, 0, 0, 1). This will be true for affine transformations (such as translate, scale, and rotate), but not for perspective transformations.
VTKM_EXEC_CONT vtkm::Vec<T, 3> vtkm::Transform3DPointPerspective | ( | const vtkm::Matrix< T, 4, 4 > & | matrix, |
const vtkm::Vec< T, 3 > & | point | ||
) |
Transform a 3D point by a transformation matrix with perspective.
Given a 4x4 transformation matrix and a 3D point, returns the point transformed by the given matrix in homogeneous coordinates.
Unlike Transform3DPoint, this method honors the fourth component of the transformed homogeneous coordinate. This makes it applicable for perspective transformations, but requires some more computations.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DRotate | ( | T | angleDegrees, |
const vtkm::Vec< T, 3 > & | axisOfRotation | ||
) |
Returns a rotation matrix.
Given an angle (in degrees) and an axis of rotation, returns a transformation matrix that rotates around the given axis. The rotation follows the right-hand rule, so if the vector points toward the user, the rotation will be counterclockwise.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DRotate | ( | T | angleDegrees, |
T | x, | ||
T | y, | ||
T | z | ||
) |
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DRotateX | ( | T | angleDegrees | ) |
Returns a rotation matrix.
Returns a transformation matrix that rotates around the x axis.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DRotateY | ( | T | angleDegrees | ) |
Returns a rotation matrix.
Returns a transformation matrix that rotates around the y axis.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DRotateZ | ( | T | angleDegrees | ) |
Returns a rotation matrix.
Returns a transformation matrix that rotates around the z axis.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DScale | ( | const T & | scale | ) |
Returns a scale matrix.
Given a uniform scale factor, returns a transformation matrix for those scales.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DScale | ( | const T & | scaleX, |
const T & | scaleY, | ||
const T & | scaleZ | ||
) |
Returns a scale matrix.
Given a scale factor for the x, y, and z directions, returns a transformation matrix for those scales.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DScale | ( | const vtkm::Vec< T, 3 > & | scaleVec | ) |
Returns a scale matrix.
Given a scale factor for the x, y, and z directions (defined in a Vec), returns a transformation matrix for those scales.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DTranslate | ( | const T & | x, |
const T & | y, | ||
const T & | z | ||
) |
Returns a translation matrix.
VTKM_EXEC_CONT vtkm::Matrix<T, 4, 4> vtkm::Transform3DTranslate | ( | const vtkm::Vec< T, 3 > & | v | ) |
VTKM_EXEC_CONT vtkm::Vec<T, 3> vtkm::Transform3DVector | ( | const vtkm::Matrix< T, 4, 4 > & | matrix, |
const vtkm::Vec< T, 3 > & | vector | ||
) |
Transform a 3D vector by a transformation matrix.
Given a 4x4 transformation matrix and a 3D vector, returns the vector transformed by the given matrix in homogeneous coordinates. Unlike points, vectors do not get translated.
VTKM_EXEC_CONT vtkm::Vec<typename detail::FloatingPointReturnType<T>::Type, 3> vtkm::TriangleNormal | ( | const vtkm::Vec< T, 3 > & | a, |
const vtkm::Vec< T, 3 > & | b, | ||
const vtkm::Vec< T, 3 > & | c | ||
) |
Find the normal of a triangle.
Given three coordinates in space, which, unless degenerate, uniquely define a triangle and the plane the triangle is on, returns a vector perpendicular to that triangle/plane.
Note that the returned vector might not be a unit vector. In fact, the length is equal to twice the area of the triangle. If you want a unit vector, send the result through the Normal
function.
VTKM_EXEC_CONT vtkm::Id vtkm::UpperBound | ( | const PortalT & | portal, |
const T & | val | ||
) |
Implementation of std::upper_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT vtkm::Id vtkm::UpperBound | ( | const PortalT & | portal, |
const T & | val, | ||
Comp | comp | ||
) |
Implementation of std::upper_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT IterT vtkm::UpperBound | ( | IterT | first, |
IterT | last, | ||
const T & | val | ||
) |
Implementation of std::upper_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
VTKM_EXEC_CONT IterT vtkm::UpperBound | ( | IterT | first, |
IterT | last, | ||
const T & | val, | ||
Comp | comp | ||
) |
Implementation of std::upper_bound that is appropriate for both control and execution environments.
The overloads that take portals return indices instead of iterators.
vtkm::VTKM_DEFINE_CELL_TAG | ( | Empty | , |
CELL_SHAPE_EMPTY | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Hexahedron | , |
CELL_SHAPE_HEXAHEDRON | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Line | , |
CELL_SHAPE_LINE | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Polygon | , |
CELL_SHAPE_POLYGON | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | PolyLine | , |
CELL_SHAPE_POLY_LINE | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Pyramid | , |
CELL_SHAPE_PYRAMID | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Quad | , |
CELL_SHAPE_QUAD | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Tetra | , |
CELL_SHAPE_TETRA | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Triangle | , |
CELL_SHAPE_TRIANGLE | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Vertex | , |
CELL_SHAPE_VERTEX | |||
) |
vtkm::VTKM_DEFINE_CELL_TAG | ( | Wedge | , |
CELL_SHAPE_WEDGE | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Empty | , |
0 | , | ||
0 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Hexahedron | , |
3 | , | ||
8 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Line | , |
1 | , | ||
2 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Pyramid | , |
3 | , | ||
5 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Quad | , |
2 | , | ||
4 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Tetra | , |
3 | , | ||
4 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Triangle | , |
2 | , | ||
3 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Vertex | , |
0 | , | ||
1 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS | ( | Wedge | , |
3 | , | ||
6 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS_VARIABLE | ( | Polygon | , |
2 | |||
) |
vtkm::VTKM_DEFINE_CELL_TRAITS_VARIABLE | ( | PolyLine | , |
1 | |||
) |
class VTKM_ALWAYS_EXPORT vtkm::Vec |
class VTKM_ALWAYS_EXPORT vtkm::VecC |
class VTKM_ALWAYS_EXPORT vtkm::VecCConst |