Ember

Vectors

Nov 9th, 2013
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.40 KB | None | 0 0
  1. // 2D Vector --------------------------------------------------------------------------
  2.     struct float2
  3.     {
  4.     public:
  5.         // Variables
  6.         float x, y;
  7.  
  8.         // Constructors
  9.         float2();
  10.         float2(float2&);
  11.         float2(float);
  12.         float2(float, float);
  13.  
  14.         // Casting (not used)
  15.         // Assignment operators
  16.         float2& operator = (float2&);
  17.         float2& operator += (float2&);
  18.         float2& operator -= (float2&);
  19.         float2& operator *= (float2&);
  20.         float2& operator /= (float2&);
  21.         float2& operator *= (float);
  22.         float2& operator /= (float);
  23.  
  24.         // Unary operators
  25.         float2 operator + ();
  26.         float2 operator - ();
  27.  
  28.         // Binary operators
  29.         float2 operator + (float2&);
  30.         float2 operator - (float2&);
  31.         float2 operator * (float2&);
  32.         float2 operator / (float2&);
  33.         float2 operator * (float);
  34.         float2 operator / (float);
  35.  
  36.         // Boolean operators
  37.         bool operator == (float2&);
  38.         bool operator != (float2&);
  39.     };
  40.  
  41.     // 3D Vector --------------------------------------------------------------------------
  42.     struct float3
  43.     {
  44.     public:
  45.         // Variables
  46.         float x, y, z;
  47.  
  48.         // Constructors
  49.         float3();
  50.         float3(float3&);
  51.         float3(float);
  52.         float3(float2&, float);
  53.         float3(float, float, float);
  54.  
  55.         // Casting (not used)
  56.         // Assignment operators
  57.         float3& operator = (float3&);
  58.         float3& operator += (float3&);
  59.         float3& operator -= (float3&);
  60.         float3& operator *= (float3&);
  61.         float3& operator /= (float3&);
  62.         float3& operator *= (float);
  63.         float3& operator /= (float);
  64.  
  65.         // Unary operators
  66.         float3 operator + ();
  67.         float3 operator - ();
  68.  
  69.         // Binary operators
  70.         float3 operator + (float3&);
  71.         float3 operator - (float3&);
  72.         float3 operator * (float3&);
  73.         float3 operator / (float3&);
  74.         float3 operator * (float);
  75.         float3 operator / (float);
  76.  
  77.         // Boolean operators
  78.         bool operator == (float3&);
  79.         bool operator != (float3&);
  80.     };
  81.  
  82.     // 4D Vector --------------------------------------------------------------------------
  83.     struct float4
  84.     {
  85.     public:
  86.         // Variables
  87.         float x, y, z, w;
  88.  
  89.         // Constructors
  90.         float4();
  91.         float4(float4&);
  92.         float4(float);
  93.         float4(float2&, float2&);
  94.         float4(float3&, float);
  95.         float4(float2&, float, float);
  96.         float4(float, float, float, float);
  97.  
  98.         // Casting (not used)
  99.         // Assignment operators
  100.         float4& operator = (float4&);
  101.         float4& operator += (float4&);
  102.         float4& operator -= (float4&);
  103.         float4& operator *= (float4&);
  104.         float4& operator /= (float4&);
  105.         float4& operator *= (float);
  106.         float4& operator /= (float);
  107.  
  108.         // Unary operators
  109.         float4 operator + ();
  110.         float4 operator - ();
  111.  
  112.         // Binary operators
  113.         float4 operator + (float4&);
  114.         float4 operator - (float4&);
  115.         float4 operator * (float4&);
  116.         float4 operator / (float4&);
  117.         float4 operator * (float);
  118.         float4 operator / (float);
  119.  
  120.         // Boolean operators
  121.         bool operator == (float4&);
  122.         bool operator != (float4&);
  123.     };
Advertisement
Add Comment
Please, Sign In to add comment