Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SH::ShVector< N, Binding, T, Swizzled > Class Template Reference

A (geometric) n-vector. More...

#include <ShVector.hpp>

Inheritance diagram for SH::ShVector< N, Binding, T, Swizzled >:

Inheritance graph
[legend]
Collaboration diagram for SH::ShVector< N, Binding, T, Swizzled >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T storage_type
typedef ShHostType< T >::type host_type
typedef ShMemType< T >::type mem_type
typedef ShVector< N, SH_INPUT,
T > 
InputType
typedef ShVector< N, SH_OUTPUT,
T > 
OutputType
typedef ShVector< N, SH_INOUT,
T > 
InOutType
typedef ShVector< N, SH_TEMP,
T > 
TempType
typedef ShVector< N, SH_CONST,
T > 
ConstType

Public Member Functions

template<typename T2>
 ShVector (const ShGeneric< N, T2 > &other)
 ShVector (const ShVector< N, Binding, T, Swizzled > &other)
template<typename T2>
 ShVector (const ShVector< N, Binding, T2, Swizzled > &other)
 ShVector (const ShVariableNodePtr &node, const ShSwizzle &swizzle, bool neg)
 ShVector (host_type data[N])
template<typename T2>
ShVectoroperator= (const ShGeneric< N, T2 > &other)
template<typename T2>
ShVectoroperator= (const ShVector< N, Binding, T2, Swizzled > &other)
ShVectoroperator= (const ShVector< N, Binding, T, Swizzled > &other)
ShVectoroperator= (const ShProgram &prg)
template<typename T2>
ShVectoroperator+= (const ShGeneric< N, T2 > &right)
template<typename T2>
ShVectoroperator-= (const ShGeneric< N, T2 > &right)
template<typename T2>
ShVectoroperator *= (const ShGeneric< N, T2 > &right)
template<typename T2>
ShVectoroperator/= (const ShGeneric< N, T2 > &right)
template<typename T2>
ShVectoroperator%= (const ShGeneric< N, T2 > &right)
ShVectoroperator *= (host_type)
ShVectoroperator/= (host_type)
ShVectoroperator%= (host_type)
ShVectoroperator+= (host_type)
ShVectoroperator-= (host_type)
template<typename T2>
ShVectoroperator+= (const ShGeneric< 1, T2 > &)
template<typename T2>
ShVectoroperator-= (const ShGeneric< 1, T2 > &)
template<typename T2>
ShVectoroperator *= (const ShGeneric< 1, T2 > &)
template<typename T2>
ShVectoroperator/= (const ShGeneric< 1, T2 > &)
template<typename T2>
ShVectoroperator%= (const ShGeneric< 1, T2 > &)
ShVector< 1, Binding, T, true > operator() (int) const
ShVector< 2, Binding, T, true > operator() (int, int) const
ShVector< 3, Binding, T, true > operator() (int, int, int) const
ShVector< 4, Binding, T, true > operator() (int, int, int, int) const
ShVector< 1, Binding, T, true > operator[] (int) const
template<int N2>
ShVector< N2, Binding, T,
true > 
swiz (int indices[]) const
ShVector operator- () const

Static Public Attributes

static const ShBindingType binding_type
static const ShSemanticType semantic_type

Detailed Description

template<int N, ShBindingType Binding, typename T = float, bool Swizzled = false>
class SH::ShVector< N, Binding, T, Swizzled >

A (geometric) n-vector.

By "vector" we mean a geometric vector, not just a tuple or an array (unlike the unfortunate terminology in the standard library).

Definition at line 48 of file ShVector.hpp.


The documentation for this class was generated from the following files:
Generated on Mon Jan 24 18:38:28 2005 for Sh by  doxygen 1.4.1