Virtual Testbed
Ship dynamics simulator for extreme conditions
geometry/types.hh
1 #ifndef VTESTBED_GEOMETRY_TYPES_HH
2 #define VTESTBED_GEOMETRY_TYPES_HH
3 
4 #include <type_traits>
5 #include <vector>
6 
7 #include <vtestbed/base/blitz.hh>
8 
9 namespace vtb {
10 
11  namespace geometry {
12 
13  template <class T, int N>
14  using Vertex = blitz::TinyVector<T,N>;
15 
16  template <class T, int N>
17  using Matrix = blitz::TinyMatrix<T,N,N>;
18 
19  template <class T>
20  using Array = std::vector<T>;
21 
22  template <class T, int N> class BSP_tree;
23  template <class T, int N> class Basis;
24  template <class T, int N> class Basis_spline;
25  template <class T, int N> class Bezier_curve;
26  template <class T, int N> class Coordinate_system;
27  template <class T, int N> class Cubic_spline;
28  template <class T, int N> class Curve_segments;
29  template <class T, int N> class Line_segment;
30  template <class T, int N> class Linear_interpolation;
31  template <class T, int N> class Plane;
32  template <class T, int N> class Polygon;
33  template <class T, int N> class Polyhedron;
34  template <class T, int N> class Polyline;
35  template <class T, int N> class Ray;
36  template <class T, int N> class Rectangle;
37  template <class T, int N> class Rotation_matrix;
38  template <class T, int N> class Tetrahedron;
39  template <class T, int N> class Triangle;
40  template <class T, int N> struct Inertia_tensor;
41  template <class T, int N> struct Mass_moments;
42  template <class T> class BSP_node_iterator;
43  template <class T> class Bounds;
44  template <class T> class Quaternion;
45  template <int N> class Face;
46 
47  enum class Plane_position: unsigned char;
48 
49  template <class T> struct is_figure: public std::false_type {};
50 
51  template <int N>
52  using Face_array = Array<Face<N>>;
53 
54  template <class T, int N>
56 
57  template <class T, int N>
59 
60  template <class T, int N>
61  using Ray_array = Array<Ray<T,N>>;
62 
63  }
64 
65 }
66 
67 #endif // vim:filetype=cpp
Main namespace.
Definition: convert.hh:9
Traverse BSP tree nodes using depth-first search.
Definition: bsp_tree.hh:40