Classes | Namespaces | Macros | Typedefs | Functions
Vec.h File Reference
#include <cstddef>
#include <cmath>
#include <iterator>
#include <stdexcept>
#include <iostream>
#include <algorithm>
Include dependency graph for Vec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  trimesh::Vec< D, T >
 
struct  trimesh::VEC_STATIC_ASSERTION_FAILURE< X >
 
struct  trimesh::VEC_STATIC_ASSERTION_FAILURE< true >
 

Namespaces

 std
 
 trimesh
 

Macros

#define _GEOMETRY_3D_   1
 
#define _USE_MATH_DEFINES
 
#define CROSS   ^
 
#define DOT   *
 
#define likely(x)   (x)
 
#define NOMINMAX
 
#define unlikely(x)   (x)
 
#define VEC_DECLARE_ONEARG(name)
 
#define VEC_DECLARE_THREEARG_SSV(name)
 
#define VEC_DECLARE_THREEARG_VSS(name)
 
#define VEC_DECLARE_THREEARG_VVV(name)
 
#define VEC_DECLARE_TWOARG_SV(name)
 
#define VEC_DECLARE_TWOARG_VS(name)
 
#define VEC_DECLARE_TWOARG_VV(name)
 
#define VEC_H
 
#define VEC_STATIC_CHECK(expr)   VEC_STATIC_ASSERTION_FAILURE<bool(expr)>()
 
#define VEC_UNINITIALIZED   ((void *) 0)
 

Typedefs

typedef Vec< 2, inttrimesh::ivec2
 
typedef Vec< 3, inttrimesh::ivec3
 
typedef Vec< 4, inttrimesh::ivec4
 
typedef Vec< 3, float > trimesh::point
 
typedef Vec< 2, float > trimesh::point2
 
typedef Vec< 3, float > trimesh::vec
 
typedef Vec< 2, float > trimesh::vec2
 
typedef Vec< 3, float > trimesh::vec3
 
typedef Vec< 4, float > trimesh::vec4
 

Functions

template<::std::size_t D, class T >
static trimesh::Vec< D, Tabs (const trimesh::Vec< D, T > &v)
 
template<size_t D, class T >
static const T trimesh::angle (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<class T >
static T trimesh::clamp (const T &x, const T &a, const T &b)
 
template<class T >
static T trimesh::cube (const T &x)
 
template<size_t D, class T >
static const T trimesh::dist (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const T trimesh::dist2 (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static T trimesh::faceforward (const Vec< D, T > &N, const Vec< D, T > &I, const Vec< D, T > &Nref)
 
template<class T >
static T trimesh::fract (const T &x)
 
template<size_t D, class T >
static const T trimesh::len (const Vec< D, T > &v)
 
template<size_t D, class T >
static const T trimesh::len2 (const Vec< D, T > &v)
 
template<class T , class S >
static T trimesh::mix (const T &x, const T &y, const S &a)
 
template<size_t D, class T >
static Vec< D, Ttrimesh::normalize (Vec< D, T > &v)
 
template<size_t D, class T >
static bool trimesh::operator! (const Vec< D, T > &v)
 
template<size_t D, class T >
static bool trimesh::operator!= (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator& (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const T trimesh::operator* (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator* (const T &x, const Vec< D, T > &v)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator* (const Vec< D, T > &v, const T &x)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator+ (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const Vec< D, T > & trimesh::operator+ (const Vec< D, T > &v)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator- (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator- (const Vec< D, T > &v)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator/ (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator/ (const T &x, const Vec< D, T > &v)
 
template<size_t D, class T >
static const Vec< D, Ttrimesh::operator/ (const Vec< D, T > &v, const T &x)
 
template<size_t D, class T >
static bool trimesh::operator< (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static inline::std::ostream & trimesh::operator<< (::std::ostream &os, const Vec< D, T > &v)
 
template<size_t D, class T >
static bool trimesh::operator<= (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static bool trimesh::operator== (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static bool trimesh::operator> (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static bool trimesh::operator>= (const Vec< D, T > &v1, const Vec< D, T > &v2)
 
template<size_t D, class T >
static inline::std::istream & trimesh::operator>> (::std::istream &is, Vec< D, T > &v)
 
template<class T >
static const Vec< 3, Ttrimesh::operator^ (const Vec< 3, T > &v1, const Vec< 3, T > &v2)
 
template<size_t D, class T >
static T trimesh::reflect (const Vec< D, T > &I, const Vec< D, T > &N)
 
template<size_t D, class T >
static T trimesh::refract (const Vec< D, T > &I, const Vec< D, T > &N, const T &eta)
 
template<class T >
static T trimesh::sgn (const T &x)
 
template<class T >
static T trimesh::smoothstep (const T &a, const T &b, const T &x)
 
template<class T >
static T trimesh::sqr (const T &x)
 
template<class T >
static T trimesh::step (const T &a, const T &x)
 
template<size_t D, class T >
static void std::swap (const ::trimesh::Vec< D, T > &v1, const ::trimesh::Vec< D, T > &v2)
 
template<class T >
static T trimesh::trinorm (const T &v0, const T &v1, const T &v2)
 

Macro Definition Documentation

#define _GEOMETRY_3D_   1

Definition at line 546 of file Vec.h.

#define _USE_MATH_DEFINES

Definition at line 66 of file Vec.h.

#define CROSS   ^

Definition at line 627 of file Vec.h.

#define DOT   *

Definition at line 616 of file Vec.h.

#define likely (   x)    (x)

Definition at line 79 of file Vec.h.

#define NOMINMAX

Definition at line 63 of file Vec.h.

#define unlikely (   x)    (x)

Definition at line 80 of file Vec.h.

#define VEC_DECLARE_ONEARG (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const trimesh::Vec<D,T> &v) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(v[i]); \
return result; \
}
GLuint const GLchar * name
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1008 of file Vec.h.

#define VEC_DECLARE_THREEARG_SSV (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const T &a, const T &b, const trimesh::Vec<D,T> &v) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(a, b, v[i]); \
return result; \
}
GLuint const GLchar * name
GLboolean GLboolean GLboolean GLboolean a
GLboolean GLboolean GLboolean b
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1066 of file Vec.h.

#define VEC_DECLARE_THREEARG_VSS (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const trimesh::Vec<D,T> &v, const T &a, const T &b) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(v[i], a, b); \
return result; \
}
GLuint const GLchar * name
GLboolean GLboolean GLboolean GLboolean a
GLboolean GLboolean GLboolean b
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1055 of file Vec.h.

#define VEC_DECLARE_THREEARG_VVV (   name)
Value:
template < ::std::size_t D, class T > \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(v[i], w[i], x[i]); \
return result; \
}
GLuint const GLchar * name
GLint GLenum GLint x
GLubyte GLubyte GLubyte GLubyte w
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1077 of file Vec.h.

#define VEC_DECLARE_TWOARG_SV (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const T &a, const trimesh::Vec<D,T> &v) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(a, v[i]); \
return result; \
}
GLuint const GLchar * name
GLboolean GLboolean GLboolean GLboolean a
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1032 of file Vec.h.

#define VEC_DECLARE_TWOARG_VS (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const trimesh::Vec<D,T> &v, const T &a) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(v[i], a); \
return result; \
}
GLuint const GLchar * name
GLboolean GLboolean GLboolean GLboolean a
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1021 of file Vec.h.

#define VEC_DECLARE_TWOARG_VV (   name)
Value:
template < ::std::size_t D, class T > \
static inline trimesh::Vec<D,T> name(const trimesh::Vec<D,T> &v, const trimesh::Vec<D,T> &w) \
{ \
using namespace ::std; \
using namespace ::trimesh; \
for (size_t i = 0; i < D; i++) \
result[i] = name(v[i], w[i]); \
return result; \
}
GLuint const GLchar * name
GLubyte GLubyte GLubyte GLubyte w
const GLdouble * v
#define VEC_UNINITIALIZED
Definition: Vec.h:128
GLuint64EXT * result

Definition at line 1043 of file Vec.h.

#define VEC_H

Definition at line 4 of file Vec.h.

#define VEC_STATIC_CHECK (   expr)    VEC_STATIC_ASSERTION_FAILURE<bool(expr)>()

Definition at line 99 of file Vec.h.

#define VEC_UNINITIALIZED   ((void *) 0)

Definition at line 128 of file Vec.h.

Function Documentation

template<::std::size_t D, class T >
static trimesh::Vec<D, T> abs ( const trimesh::Vec< D, T > &  v)
inlinestatic

Definition at line 1193 of file Vec.h.



choreo_task_sequence_planner
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:03:15