FastUIDraw
Classes | Namespaces | Typedefs | Functions
vecN.hpp File Reference

file vecN.hpp More...

#include <fastuidraw/util/util.hpp>
#include <fastuidraw/util/math.hpp>
Include dependency graph for vecN.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fastuidraw::unvecN< T >
 
class  fastuidraw::vecN< T, N >
 vecN is a simple static array class with no virtual functions and no memory overhead. Supports runtim array index checking and STL style iterators via pointer iterators. More...
 

Namespaces

 fastuidraw
 all classes and functions of FastUIDraw are in the namespace fastuidraw.
 

Typedefs

typedef vecN< double, 1 > fastuidraw::dvec1
 
typedef vecN< double, 2 > fastuidraw::dvec2
 
typedef vecN< double, 3 > fastuidraw::dvec3
 
typedef vecN< double, 4 > fastuidraw::dvec4
 
typedef vecN< int16_t, 1 > fastuidraw::i16vec1
 
typedef vecN< int16_t, 2 > fastuidraw::i16vec2
 
typedef vecN< int16_t, 3 > fastuidraw::i16vec3
 
typedef vecN< int16_t, 4 > fastuidraw::i16vec4
 
typedef vecN< int32_t, 1 > fastuidraw::i32vec1
 
typedef vecN< int32_t, 2 > fastuidraw::i32vec2
 
typedef vecN< int32_t, 3 > fastuidraw::i32vec3
 
typedef vecN< int32_t, 4 > fastuidraw::i32vec4
 
typedef vecN< int64_t, 1 > fastuidraw::i64vec1
 
typedef vecN< int64_t, 2 > fastuidraw::i64vec2
 
typedef vecN< int64_t, 3 > fastuidraw::i64vec3
 
typedef vecN< int64_t, 4 > fastuidraw::i64vec4
 
typedef vecN< int8_t, 1 > fastuidraw::i8vec1
 
typedef vecN< int8_t, 2 > fastuidraw::i8vec2
 
typedef vecN< int8_t, 3 > fastuidraw::i8vec3
 
typedef vecN< int8_t, 4 > fastuidraw::i8vec4
 
typedef vecN< int32_t, 1 > fastuidraw::ivec1
 
typedef vecN< int32_t, 2 > fastuidraw::ivec2
 
typedef vecN< int32_t, 3 > fastuidraw::ivec3
 
typedef vecN< int32_t, 4 > fastuidraw::ivec4
 
typedef vecN< uint16_t, 1 > fastuidraw::u16vec1
 
typedef vecN< uint16_t, 2 > fastuidraw::u16vec2
 
typedef vecN< uint16_t, 3 > fastuidraw::u16vec3
 
typedef vecN< uint16_t, 4 > fastuidraw::u16vec4
 
typedef vecN< uint32_t, 1 > fastuidraw::u32vec1
 
typedef vecN< uint32_t, 2 > fastuidraw::u32vec2
 
typedef vecN< uint32_t, 3 > fastuidraw::u32vec3
 
typedef vecN< uint32_t, 4 > fastuidraw::u32vec4
 
typedef vecN< uint64_t, 1 > fastuidraw::u64vec1
 
typedef vecN< uint64_t, 2 > fastuidraw::u64vec2
 
typedef vecN< uint64_t, 3 > fastuidraw::u64vec3
 
typedef vecN< uint64_t, 4 > fastuidraw::u64vec4
 
typedef vecN< uint8_t, 1 > fastuidraw::u8vec1
 
typedef vecN< uint8_t, 2 > fastuidraw::u8vec2
 
typedef vecN< uint8_t, 3 > fastuidraw::u8vec3
 
typedef vecN< uint8_t, 4 > fastuidraw::u8vec4
 
typedef vecN< uint32_t, 1 > fastuidraw::uvec1
 
typedef vecN< uint32_t, 2 > fastuidraw::uvec2
 
typedef vecN< uint32_t, 3 > fastuidraw::uvec3
 
typedef vecN< uint32_t, 4 > fastuidraw::uvec4
 
typedef vecN< float, 1 > fastuidraw::vec1
 
typedef vecN< float, 2 > fastuidraw::vec2
 
typedef vecN< float, 3 > fastuidraw::vec3
 
typedef vecN< float, 4 > fastuidraw::vec4
 

Functions

template<typename T >
vecN< T, 3 > fastuidraw::cross_product (const vecN< T, 3 > &a, const vecN< T, 3 > &b)
 
template<typename T , size_t N>
fastuidraw::dot (const vecN< T, N > &a, const vecN< T, N > &b)
 
template<typename T , size_t N>
fastuidraw::magnitude (const vecN< T, N > &in)
 
template<typename T , size_t N>
bool fastuidraw::magnitude_compare (const vecN< T, N > &a, const vecN< T, N > &b)
 
template<typename T , size_t N>
fastuidraw::magnitudeSq (const vecN< T, N > &in)
 
uvec4 fastuidraw::pack_vec4 (float x, float y, float z, float w)
 
uvec4 fastuidraw::pack_vec4 (const vec4 &v)
 
template<typename T , size_t N>
fastuidraw::triangle_area (const vecN< T, N > &p0, const vecN< T, N > &p1, const vecN< T, N > &p2)
 

Detailed Description

file vecN.hpp

Adapted from: vecN.hpp of WRATH:

Copyright 2013 by Nomovok Ltd. Contact: info@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.nomo.nosp@m.vok.c.nosp@m.om
Kevin Rogovin kevin.nosp@m..rog.nosp@m.ovin@.nosp@m.gmai.nosp@m.l.com

Definition in file vecN.hpp.