Advertisement
Guest User

Untitled

a guest
Feb 26th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 41.24 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <utility>
  4.  
  5. #include <DirectXMath.h>
  6.  
  7. #include "Math.h"
  8.  
  9. using namespace DirectX;
  10.  
  11. namespace IOE {
  12. namespace Maths {
  13.  
  14.     //////////////////////////////////////////////////////////////////////////
  15.    
  16.     class alignas(16) IOEVector
  17.     {
  18.     public:
  19.         FORCEINLINE IOEVector()
  20.         {}
  21.  
  22.         FORCEINLINE IOEVector(float fValue)
  23.             : m_vVector(XMVectorReplicate(fValue))
  24.         {}
  25.  
  26.         FORCEINLINE IOEVector(float fX, float fY, float fZ, float fW=1.0f)
  27.         {
  28.             Set(fX, fY, fZ, fW);
  29.         }
  30.  
  31.         FORCEINLINE IOEVector(const XMFLOAT4 &rData)
  32.         {
  33.             Load(rData);
  34.         }
  35.  
  36.         FORCEINLINE IOEVector(const XMFLOAT3 &rData)
  37.         {
  38.             Load(rData);
  39.         }
  40.  
  41.         FORCEINLINE IOEVector(const XMVECTOR &rData)
  42.             : m_vVector(rData)
  43.         {}
  44.  
  45.         FORCEINLINE IOEVector(const IOEVector &rhs)
  46.             : m_vVector(rhs.m_vVector) {}
  47.         FORCEINLINE IOEVector(IOEVector &&rhs)
  48.             : m_vVector(std::move(rhs.m_vVector)) {}
  49.  
  50.     public:
  51.         IOEVector &operator=(const IOEVector &rhs) = default;
  52.  
  53.         FORCEINLINE IOEVector &operator=(const XMFLOAT4 &rData)
  54.         {
  55.             Load(rData);
  56.             return *this;
  57.         }
  58.         FORCEINLINE IOEVector &operator=(IOEVector &&rhs)
  59.         {
  60.             m_vVector = std::move(rhs.m_vVector);
  61.             return *this;
  62.         }
  63.         FORCEINLINE IOEVector &operator=(const XMVECTOR &rData)
  64.         {
  65.             m_vVector = rData;
  66.             return *this;
  67.         }
  68.         FORCEINLINE operator XMFLOAT4() const
  69.         {
  70.             XMFLOAT4 tData;
  71.             Store(tData);
  72.             return tData;
  73.         }
  74.  
  75.         FORCEINLINE operator XMFLOAT3() const
  76.         {
  77.             XMFLOAT3 tData;
  78.             Store(tData);
  79.             return tData;
  80.         }
  81.  
  82.         FORCEINLINE operator CXMVECTOR() const
  83.         {
  84.             return m_vVector;
  85.         }
  86.  
  87.         FORCEINLINE operator XMVECTOR() const
  88.         {
  89.             return m_vVector;
  90.         }
  91.  
  92.     public:
  93.         FORCEINLINE bool operator==(const IOEVector &rhs) const
  94.         {
  95.             return XMVector3NearEqual(m_vVector, rhs.m_vVector, g_XMEpsilon);
  96.         }
  97.  
  98.         FORCEINLINE bool operator!=(const IOEVector &rhs) const
  99.         {
  100.             return !(operator==(rhs));
  101.         }
  102.  
  103.     public:
  104.         FORCEINLINE float GetX() const
  105.         {
  106.             return XMVectorGetX(m_vVector);
  107.         }
  108.  
  109.         FORCEINLINE void SetX(float fX)
  110.         {
  111.             m_vVector = XMVectorSetX(m_vVector, fX);
  112.         }
  113.  
  114.         FORCEINLINE float GetY() const
  115.         {
  116.             return XMVectorGetY(m_vVector);
  117.         }
  118.  
  119.         FORCEINLINE void SetY(float fY)
  120.         {
  121.             m_vVector = XMVectorSetY(m_vVector, fY);
  122.         }
  123.  
  124.         FORCEINLINE float GetZ() const
  125.         {
  126.             return XMVectorGetZ(m_vVector);
  127.         }
  128.  
  129.         FORCEINLINE void SetZ(float fZ)
  130.         {
  131.             m_vVector = XMVectorSetZ(m_vVector, fZ);
  132.         }
  133.  
  134.         FORCEINLINE float GetW() const
  135.         {
  136.             return XMVectorGetW(m_vVector);
  137.         }
  138.  
  139.         FORCEINLINE void SetW(float fW)
  140.         {
  141.             m_vVector = XMVectorSetW(m_vVector, fW);
  142.         }
  143.  
  144.         FORCEINLINE void Set(float fX, float fY, float fZ, float fW=1.0f)
  145.         {
  146.             m_vVector = XMVectorSet(fX, fY, fZ, fW);
  147.         }
  148.  
  149.         FORCEINLINE void Get(float &fX, float &fY, float &fZ) const
  150.         {
  151.             XMFLOAT4 tFloat;
  152.             Store(tFloat);
  153.             fX = tFloat.x;
  154.             fY = tFloat.y;
  155.             fZ = tFloat.z;
  156.         }
  157.  
  158.         FORCEINLINE void Get(float &fX, float &fY, float &fZ, float &fW) const
  159.         {
  160.             XMFLOAT4 tFloat;
  161.             Store(tFloat);
  162.             fX = tFloat.x;
  163.             fY = tFloat.y;
  164.             fZ = tFloat.z;
  165.             fW = tFloat.w;
  166.         }
  167.  
  168.         FORCEINLINE const XMVECTOR &GetRaw() const
  169.         {
  170.             return m_vVector;
  171.         }
  172.  
  173.     public:
  174.         FORCEINLINE bool IsNormalised(float fEpsilon=1.0e-5f) const
  175.         {
  176.             return Abs(GetLengthSq() - 1.0f) <= fEpsilon;
  177.         }
  178.  
  179.         FORCEINLINE void NormaliseSet()
  180.         {
  181.             m_vVector = XMVector3Normalize(m_vVector);
  182.         }
  183.  
  184.         FORCEINLINE IOEVector Normalise() const
  185.         {
  186.             IOEVector vOther(*this);
  187.             vOther.m_vVector = XMVector3Normalize(m_vVector);
  188.             return vOther;
  189.         }
  190.  
  191.         FORCEINLINE float GetLength() const
  192.         {
  193.             return XMVectorGetX(XMVector3Length(m_vVector));
  194.         }
  195.  
  196.         FORCEINLINE float GetLengthSq() const
  197.         {
  198.             return XMVectorGetX(XMVector3LengthSq(m_vVector));
  199.         }
  200.  
  201.  
  202.     public:
  203.         FORCEINLINE static IOEVector Min(const IOEVector &lhs, const IOEVector &rhs)
  204.         {
  205.             IOEVector vNew(lhs);
  206.             vNew.MinSet(rhs);
  207.             return vNew;
  208.         }
  209.  
  210.         FORCEINLINE IOEVector Min(const IOEVector &rhs)
  211.         {
  212.             IOEVector vNew(*this);
  213.             vNew.MinSet(rhs);
  214.             return vNew;
  215.         }
  216.  
  217.         FORCEINLINE void MinSet(const IOEVector &rhs)
  218.         {
  219.             m_vVector = XMVectorMin(m_vVector, rhs.m_vVector);
  220.         }
  221.  
  222.         FORCEINLINE float MinElement(bool bIncludeW=false)
  223.         {
  224.             float fX, fY, fZ, fW;
  225.             Get(fX, fY, fZ, fW);
  226.             if (bIncludeW)
  227.             {
  228.                 return Maths::Min(Maths::Min(Maths::Min(fX, fY), fZ), fW);
  229.             }
  230.             return Maths::Min(Maths::Min(fX, fY), fZ);
  231.         }
  232.  
  233.         FORCEINLINE static IOEVector Max(const IOEVector &lhs, const IOEVector &rhs)
  234.         {
  235.             IOEVector vNew(lhs);
  236.             vNew.MaxSet(rhs);
  237.             return vNew;
  238.         }
  239.  
  240.         FORCEINLINE IOEVector Max(const IOEVector &rhs)
  241.         {
  242.             IOEVector vNew(*this);
  243.             vNew.MaxSet(rhs);
  244.             return vNew;
  245.         }
  246.  
  247.         FORCEINLINE void MaxSet(const IOEVector &rhs)
  248.         {
  249.             m_vVector = XMVectorMax(m_vVector, rhs.m_vVector);
  250.         }
  251.  
  252.         FORCEINLINE float MaxElement(bool bIncludeW=false)
  253.         {
  254.             float fX, fY, fZ, fW;
  255.             Get(fX, fY, fZ, fW);
  256.             if (bIncludeW)
  257.             {
  258.                 return Maths::Max(Maths::Max(Maths::Max(fX, fY), fZ), fW);
  259.             }
  260.             return Maths::Max(Maths::Max(fX, fY), fZ);
  261.         }
  262.  
  263.         FORCEINLINE static IOEVector Lerp(const IOEVector &lhs, const IOEVector &rhs, float fDelta)
  264.         {
  265.             IOEVector vNew(lhs);
  266.             vNew.LerpSet(rhs, fDelta);
  267.             return vNew;
  268.         }
  269.  
  270.         FORCEINLINE static IOEVector Lerp(const IOEVector &lhs, const IOEVector &rhs, const IOEVector &vDelta)
  271.         {
  272.             IOEVector vNew(lhs);
  273.             vNew.LerpSet(rhs, vDelta);
  274.             return vNew;
  275.         }
  276.  
  277.         FORCEINLINE IOEVector Lerp(const IOEVector &rhs, float fDelta)
  278.         {
  279.             IOEVector vNew(*this);
  280.             vNew.LerpSet(rhs, fDelta);
  281.             return vNew;
  282.         }
  283.  
  284.         FORCEINLINE IOEVector Lerp(const IOEVector &rhs, const IOEVector &vDelta)
  285.         {
  286.             IOEVector vNew(*this);
  287.             vNew.LerpSet(rhs, vDelta);
  288.             return vNew;
  289.         }
  290.  
  291.         FORCEINLINE IOEVector &LerpSet(const IOEVector &rhs, float fDelta)
  292.         {
  293.             m_vVector = XMVectorLerpV(m_vVector, rhs.m_vVector, XMVectorReplicate(fDelta));
  294.             return *this;
  295.         }
  296.  
  297.         FORCEINLINE IOEVector &LerpSet(const IOEVector &rhs, const IOEVector &vDelta)
  298.         {
  299.             m_vVector = XMVectorLerpV(m_vVector, rhs.m_vVector, vDelta.m_vVector);
  300.             return *this;
  301.         }
  302.  
  303.     public:
  304.         FORCEINLINE static IOEVector Add(const IOEVector &lhs, const IOEVector &rhs)
  305.         {
  306.             IOEVector vNew(lhs);
  307.             vNew.Add(rhs);
  308.             return vNew;
  309.         }
  310.  
  311.         FORCEINLINE void Add(const IOEVector &rhs)
  312.         {
  313.             m_vVector = XMVectorAdd(m_vVector, rhs.m_vVector);
  314.         }
  315.  
  316.         FORCEINLINE IOEVector operator+(const IOEVector &rhs) const
  317.         {
  318.             IOEVector vNew(*this);
  319.             vNew += rhs;
  320.             return vNew;
  321.         }
  322.  
  323.         FORCEINLINE IOEVector &operator+=(const IOEVector &rhs)
  324.         {
  325.             Add(rhs);
  326.             return *this;
  327.         }
  328.  
  329.     public:
  330.         FORCEINLINE static IOEVector Subtract(const IOEVector &lhs, const IOEVector &rhs)
  331.         {
  332.             IOEVector vNew(lhs);
  333.             vNew.Subtract(rhs);
  334.             return vNew;
  335.         }
  336.  
  337.         FORCEINLINE void Subtract(const IOEVector &rhs)
  338.         {
  339.             m_vVector = XMVectorSubtract(m_vVector, rhs.m_vVector);
  340.         }
  341.  
  342.         FORCEINLINE IOEVector operator-(const IOEVector &rhs) const
  343.         {
  344.             IOEVector vNew(*this);
  345.             vNew -= rhs;
  346.             return vNew;
  347.         }
  348.  
  349.         FORCEINLINE IOEVector operator-() const
  350.         {
  351.             return IOEVector(XMVectorNegate(m_vVector));
  352.         }
  353.  
  354.         FORCEINLINE void  Negate()
  355.         {
  356.             m_vVector = XMVectorNegate(m_vVector);
  357.         }
  358.  
  359.         FORCEINLINE IOEVector &operator-=(const IOEVector &rhs)
  360.         {
  361.             Subtract(rhs);
  362.             return *this;
  363.         }
  364.  
  365.     public:
  366.         FORCEINLINE static IOEVector Multiply(const IOEVector &lhs, float fScalar)
  367.         {
  368.             IOEVector vNew(lhs);
  369.             XMVECTOR vScalar(XMVectorReplicate(fScalar));
  370.             vNew.m_vVector = XMVectorMultiply(vNew.m_vVector, vScalar);
  371.             return vNew;
  372.         }
  373.  
  374.         FORCEINLINE void Multiply(float fScalar)
  375.         {
  376.             XMVECTOR vScalar(XMVectorReplicate(fScalar));
  377.             m_vVector = XMVectorMultiply(m_vVector, vScalar);
  378.         }
  379.  
  380.         FORCEINLINE static IOEVector Multiply(const IOEVector &lhs, const IOEVector &vRHS)
  381.         {
  382.             IOEVector vNew(lhs);
  383.             vNew.m_vVector = XMVectorMultiply(vNew.m_vVector, vRHS.m_vVector);
  384.             return vNew;
  385.         }
  386.  
  387.         FORCEINLINE void Multiply(const IOEVector &vRHS)
  388.         {
  389.             m_vVector = XMVectorMultiply(m_vVector, vRHS.m_vVector);
  390.         }
  391.  
  392.         FORCEINLINE static IOEVector Divide(const IOEVector &lhs, float fScalar)
  393.         {
  394.             IOEVector vNew(lhs);
  395.             XMVECTOR vScalar(XMVectorReplicate(1.0f / fScalar));
  396.             vNew.m_vVector = XMVectorMultiply(vNew.m_vVector, vScalar);
  397.             return vNew;
  398.         }
  399.  
  400.         FORCEINLINE static IOEVector Divide(const IOEVector &lhs, const IOEVector &rhs)
  401.         {
  402.             IOEVector vNew(lhs);
  403.             vNew /= rhs;
  404.             return vNew;
  405.         }
  406.  
  407.         FORCEINLINE void Divide(float fScalar)
  408.         {
  409.             XMVECTOR vScalar(XMVectorReplicate(fScalar));
  410.             m_vVector = XMVectorMultiply(m_vVector, vScalar);
  411.         }
  412.  
  413.         FORCEINLINE void Divide(const IOEVector &rhs)
  414.         {
  415.             m_vVector = XMVectorDivide(m_vVector, rhs.m_vVector);
  416.         }
  417.  
  418.         FORCEINLINE static float Dot(const IOEVector &lhs, const IOEVector &rhs)
  419.         {
  420.             XMVECTOR vDot = XMVector3Dot(lhs.m_vVector, rhs.m_vVector);
  421.             return XMVectorGetX(vDot);
  422.         }
  423.  
  424.         FORCEINLINE float Dot(const IOEVector &rhs)
  425.         {
  426.             XMVECTOR vDot = XMVector3Dot(m_vVector, rhs.m_vVector);
  427.             return XMVectorGetX(vDot);
  428.         }
  429.  
  430.         FORCEINLINE static IOEVector Cross(const IOEVector &lhs, const IOEVector &rhs)
  431.         {
  432.             IOEVector vNew(lhs);
  433.             vNew.Cross(rhs);
  434.             return vNew;
  435.         }
  436.  
  437.         FORCEINLINE void Cross(const IOEVector &rhs)
  438.         {
  439.             m_vVector = XMVector3Cross(m_vVector, rhs.m_vVector);
  440.         }
  441.  
  442.         FORCEINLINE IOEVector operator*(const IOEVector &rhs) const
  443.         {
  444.             IOEVector vNew(*this);
  445.             vNew.Cross(rhs);
  446.             return vNew;
  447.         }
  448.  
  449.         FORCEINLINE IOEVector &operator*=(const IOEVector &rhs)
  450.         {
  451.             Cross(rhs);
  452.             return *this;
  453.         }
  454.  
  455.         FORCEINLINE IOEVector operator*(float fScalar) const
  456.         {
  457.             IOEVector vNew(*this);
  458.             vNew.Multiply(fScalar);
  459.             return vNew;
  460.         }
  461.  
  462.         FORCEINLINE IOEVector &operator*=(float fScalar)
  463.         {
  464.             Multiply(fScalar);
  465.             return *this;
  466.         }
  467.  
  468.         FORCEINLINE IOEVector operator/(float fScalar) const
  469.         {
  470.             IOEVector vNew(*this);
  471.             vNew.Divide(fScalar);
  472.             return vNew;
  473.         }
  474.  
  475.         FORCEINLINE IOEVector &operator/=(float fScalar)
  476.         {
  477.             Divide(fScalar);
  478.             return *this;
  479.         }
  480.  
  481.         FORCEINLINE IOEVector operator/(const IOEVector &rhs) const
  482.         {
  483.             IOEVector vNew(*this);
  484.             vNew /= rhs;
  485.             return vNew;
  486.         }
  487.  
  488.         FORCEINLINE IOEVector &operator/=(const IOEVector &rhs)
  489.         {
  490.             Divide(rhs);
  491.             return *this;
  492.         }
  493.  
  494.  
  495.         IOEVector Multiply(const class IOEMatrix &rhs) const;
  496.         void MultiplySet(const class IOEMatrix &rhs);
  497.         IOEVector &operator*=(const class IOEMatrix &rhs);
  498.         IOEVector operator*(const class IOEMatrix &rhs) const;
  499.  
  500.     private:
  501.         FORCEINLINE void Load(const XMFLOAT4 &rRawData)
  502.         {
  503.             m_vVector = XMLoadFloat4(&rRawData);
  504.         }
  505.  
  506.         FORCEINLINE void Store(XMFLOAT4 &rStore) const
  507.         {
  508.             XMStoreFloat4(&rStore, m_vVector);
  509.         }
  510.  
  511.         FORCEINLINE void Load(const XMFLOAT3 &rRawData)
  512.         {
  513.             m_vVector = XMLoadFloat3(&rRawData);
  514.         }
  515.  
  516.         FORCEINLINE void Store(XMFLOAT3 &rStore) const
  517.         {
  518.             XMStoreFloat3(&rStore, m_vVector);
  519.         }
  520.  
  521.     private:
  522.         XMVECTOR m_vVector;
  523.     };
  524.  
  525.     //////////////////////////////////////////////////////////////////////////
  526.  
  527.     extern IOEVector g_vZeroVector;
  528.     extern IOEVector g_vSideVector;
  529.     extern IOEVector g_vUpVector;
  530.     extern IOEVector g_vForwardVector;
  531.     extern IOEVector g_vIdentity;
  532.     extern IOEVector g_vOneVector;
  533.     extern IOEVector g_vNegateVector;
  534.     extern IOEVector g_vDegreesToRadians;
  535.     extern IOEVector g_vRadiansToDegrees;
  536.     extern IOEVector g_vEpsilon;
  537.     extern IOEVector g_arrAxes[6];
  538.  
  539.     namespace ColourList // Taken from http://cloford.com/resources/colours/500col.htm
  540.     {
  541.         extern IOEVector Aliceblue;             // (240, 248, 255)
  542.         extern IOEVector Antiquewhite;          // (250, 235, 215)
  543.         extern IOEVector Antiquewhite1;         // (255, 239, 219)
  544.         extern IOEVector Antiquewhite2;         // (238, 223, 204)
  545.         extern IOEVector Antiquewhite3;         // (205, 192, 176)
  546.         extern IOEVector Antiquewhite4;         // (139, 131, 120)
  547.         extern IOEVector Aquamarine;            // (127, 255, 212)
  548.         extern IOEVector Aquamarine1;           // (127, 255, 212)
  549.         extern IOEVector Aquamarine2;           // (118, 238, 198)
  550.         extern IOEVector Aquamarine3;           // (102, 205, 170)
  551.         extern IOEVector Aquamarine4;           // (69, 139, 116)
  552.         extern IOEVector Azure;                 // (240, 255, 255)
  553.         extern IOEVector Azure1;                // (240, 255, 255)
  554.         extern IOEVector Azure2;                // (224, 238, 238)
  555.         extern IOEVector Azure3;                // (193, 205, 205)
  556.         extern IOEVector Azure4;                // (131, 139, 139)
  557.         extern IOEVector Banana;                // (227, 207, 87)
  558.         extern IOEVector Beige;                 // (245, 245, 220)
  559.         extern IOEVector Bisque;                // (255, 228, 196)
  560.         extern IOEVector Bisque1;               // (255, 228, 196)
  561.         extern IOEVector Bisque2;               // (238, 213, 183)
  562.         extern IOEVector Bisque3;               // (205, 183, 158)
  563.         extern IOEVector Bisque4;               // (139, 125, 107)
  564.         extern IOEVector Black;                 // (0, 0, 0)
  565.         extern IOEVector Blanchedalmond;        // (255, 235, 205)
  566.         extern IOEVector Blue;                  // (0, 0, 255)
  567.         extern IOEVector Blue2;                 // (0, 0, 238)
  568.         extern IOEVector Blue3;                 // (0, 0, 205)
  569.         extern IOEVector Blue4;                 // (0, 0, 139)
  570.         extern IOEVector Blueviolet;            // (138, 43, 226)
  571.         extern IOEVector Brick;                 // (156, 102, 31)
  572.         extern IOEVector Brown;                 // (165, 42, 42)
  573.         extern IOEVector Brown1;                // (255, 64, 64)
  574.         extern IOEVector Brown2;                // (238, 59, 59)
  575.         extern IOEVector Brown3;                // (205, 51, 51)
  576.         extern IOEVector Brown4;                // (139, 35, 35)
  577.         extern IOEVector Burlywood;             // (222, 184, 135)
  578.         extern IOEVector Burlywood1;            // (255, 211, 155)
  579.         extern IOEVector Burlywood2;            // (238, 197, 145)
  580.         extern IOEVector Burlywood3;            // (205, 170, 125)
  581.         extern IOEVector Burlywood4;            // (139, 115, 85)
  582.         extern IOEVector Burntsienna;           // (138, 54, 15)
  583.         extern IOEVector Burntumber;            // (138, 51, 36)
  584.         extern IOEVector Cadetblue;             // (95, 158, 160)
  585.         extern IOEVector Cadetblue1;            // (152, 245, 255)
  586.         extern IOEVector Cadetblue2;            // (142, 229, 238)
  587.         extern IOEVector Cadetblue3;            // (122, 197, 205)
  588.         extern IOEVector Cadetblue4;            // (83, 134, 139)
  589.         extern IOEVector Cadmiumorange;         // (255, 97, 3)
  590.         extern IOEVector Cadmiumyellow;         // (255, 153, 18)
  591.         extern IOEVector Carrot;                // (237, 145, 33)
  592.         extern IOEVector Chartreuse;            // (127, 255, 0)
  593.         extern IOEVector Chartreuse1;           // (127, 255, 0)
  594.         extern IOEVector Chartreuse2;           // (118, 238, 0)
  595.         extern IOEVector Chartreuse3;           // (102, 205, 0)
  596.         extern IOEVector Chartreuse4;           // (69, 139, 0)
  597.         extern IOEVector Chocolate;             // (210, 105, 30)
  598.         extern IOEVector Chocolate1;            // (255, 127, 36)
  599.         extern IOEVector Chocolate2;            // (238, 118, 33)
  600.         extern IOEVector Chocolate3;            // (205, 102, 29)
  601.         extern IOEVector Chocolate4;            // (139, 69, 19)
  602.         extern IOEVector Cobalt;                // (61, 89, 171)
  603.         extern IOEVector Cobaltgreen;           // (61, 145, 64)
  604.         extern IOEVector Coldgrey;              // (128, 138, 135)
  605.         extern IOEVector Coral;                 // (255, 127, 80)
  606.         extern IOEVector Coral1;                // (255, 114, 86)
  607.         extern IOEVector Coral2;                // (238, 106, 80)
  608.         extern IOEVector Coral3;                // (205, 91, 69)
  609.         extern IOEVector Coral4;                // (139, 62, 47)
  610.         extern IOEVector Cornflowerblue;        // (100, 149, 237)
  611.         extern IOEVector Cornsilk;              // (255, 248, 220)
  612.         extern IOEVector Cornsilk1;             // (255, 248, 220)
  613.         extern IOEVector Cornsilk2;             // (238, 232, 205)
  614.         extern IOEVector Cornsilk3;             // (205, 200, 177)
  615.         extern IOEVector Cornsilk4;             // (139, 136, 120)
  616.         extern IOEVector Crimson;               // (220, 20, 60)
  617.         extern IOEVector Cyan;                  // (0, 255, 255)
  618.         extern IOEVector Cyan2;                 // (0, 238, 238)
  619.         extern IOEVector Cyan3;                 // (0, 205, 205)
  620.         extern IOEVector Cyan4;                 // (0, 139, 139)
  621.         extern IOEVector Darkblue;              // (0, 0, 139)
  622.         extern IOEVector Darkcyan;              // (0, 139, 139)
  623.         extern IOEVector Darkgoldenrod;         // (184, 134, 11)
  624.         extern IOEVector Darkgoldenrod1;        // (255, 185, 15)
  625.         extern IOEVector Darkgoldenrod2;        // (238, 173, 14)
  626.         extern IOEVector Darkgoldenrod3;        // (205, 149, 12)
  627.         extern IOEVector Darkgoldenrod4;        // (139, 101, 8)
  628.         extern IOEVector Darkgray;              // (169, 169, 169)
  629.         extern IOEVector Darkgreen;             // (0, 100, 0)
  630.         extern IOEVector Darkkhaki;             // (189, 183, 107)
  631.         extern IOEVector Darkmagenta;           // (139, 0, 139)
  632.         extern IOEVector Darkolivegreen;        // (85, 107, 47)
  633.         extern IOEVector Darkolivegreen1;       // (202, 255, 112)
  634.         extern IOEVector Darkolivegreen2;       // (188, 238, 104)
  635.         extern IOEVector Darkolivegreen3;       // (162, 205, 90)
  636.         extern IOEVector Darkolivegreen4;       // (110, 139, 61)
  637.         extern IOEVector Darkorange;            // (255, 140, 0)
  638.         extern IOEVector Darkorange1;           // (255, 127, 0)
  639.         extern IOEVector Darkorange2;           // (238, 118, 0)
  640.         extern IOEVector Darkorange3;           // (205, 102, 0)
  641.         extern IOEVector Darkorange4;           // (139, 69, 0)
  642.         extern IOEVector Darkorchid;            // (153, 50, 204)
  643.         extern IOEVector Darkorchid1;           // (191, 62, 255)
  644.         extern IOEVector Darkorchid2;           // (178, 58, 238)
  645.         extern IOEVector Darkorchid3;           // (154, 50, 205)
  646.         extern IOEVector Darkorchid4;           // (104, 34, 139)
  647.         extern IOEVector Darkred;               // (139, 0, 0)
  648.         extern IOEVector Darksalmon;            // (233, 150, 122)
  649.         extern IOEVector Darkseagreen;          // (143, 188, 143)
  650.         extern IOEVector Darkseagreen1;         // (193, 255, 193)
  651.         extern IOEVector Darkseagreen2;         // (180, 238, 180)
  652.         extern IOEVector Darkseagreen3;         // (155, 205, 155)
  653.         extern IOEVector Darkseagreen4;         // (105, 139, 105)
  654.         extern IOEVector Darkslateblue;         // (72, 61, 139)
  655.         extern IOEVector Darkslategray;         // (47, 79, 79)
  656.         extern IOEVector Darkslategray1;        // (151, 255, 255)
  657.         extern IOEVector Darkslategray2;        // (141, 238, 238)
  658.         extern IOEVector Darkslategray3;        // (121, 205, 205)
  659.         extern IOEVector Darkslategray4;        // (82, 139, 139)
  660.         extern IOEVector Darkturquoise;         // (0, 206, 209)
  661.         extern IOEVector Darkviolet;            // (148, 0, 211)
  662.         extern IOEVector Deeppink;              // (255, 20, 147)
  663.         extern IOEVector Deeppink1;             // (255, 20, 147)
  664.         extern IOEVector Deeppink2;             // (238, 18, 137)
  665.         extern IOEVector Deeppink3;             // (205, 16, 118)
  666.         extern IOEVector Deeppink4;             // (139, 10, 80)
  667.         extern IOEVector Deepskyblue;           // (0, 191, 255)
  668.         extern IOEVector Deepskyblue1;          // (0, 191, 255)
  669.         extern IOEVector Deepskyblue2;          // (0, 178, 238)
  670.         extern IOEVector Deepskyblue3;          // (0, 154, 205)
  671.         extern IOEVector Deepskyblue4;          // (0, 104, 139)
  672.         extern IOEVector Dimgray;               // (105, 105, 105)
  673.         extern IOEVector Dodgerblue;            // (30, 144, 255)
  674.         extern IOEVector Dodgerblue1;           // (30, 144, 255)
  675.         extern IOEVector Dodgerblue2;           // (28, 134, 238)
  676.         extern IOEVector Dodgerblue3;           // (24, 116, 205)
  677.         extern IOEVector Dodgerblue4;           // (16, 78, 139)
  678.         extern IOEVector Eggshell;              // (252, 230, 201)
  679.         extern IOEVector Emeraldgreen;          // (0, 201, 87)
  680.         extern IOEVector Firebrick;             // (178, 34, 34)
  681.         extern IOEVector Firebrick1;            // (255, 48, 48)
  682.         extern IOEVector Firebrick2;            // (238, 44, 44)
  683.         extern IOEVector Firebrick3;            // (205, 38, 38)
  684.         extern IOEVector Firebrick4;            // (139, 26, 26)
  685.         extern IOEVector Flesh;                 // (255, 125, 64)
  686.         extern IOEVector Floralwhite;           // (255, 250, 240)
  687.         extern IOEVector Forestgreen;           // (34, 139, 34)
  688.         extern IOEVector Fuchsia;               // (255, 0, 255)
  689.         extern IOEVector Gainsboro;             // (220, 220, 220)
  690.         extern IOEVector Ghostwhite;            // (248, 248, 255)
  691.         extern IOEVector Gold;                  // (255, 215, 0)
  692.         extern IOEVector Gold1;                 // (255, 215, 0)
  693.         extern IOEVector Gold2;                 // (238, 201, 0)
  694.         extern IOEVector Gold3;                 // (205, 173, 0)
  695.         extern IOEVector Gold4;                 // (139, 117, 0)
  696.         extern IOEVector Goldenrod;             // (218, 165, 32)
  697.         extern IOEVector Goldenrod1;            // (255, 193, 37)
  698.         extern IOEVector Goldenrod2;            // (238, 180, 34)
  699.         extern IOEVector Goldenrod3;            // (205, 155, 29)
  700.         extern IOEVector Goldenrod4;            // (139, 105, 20)
  701.         extern IOEVector Green;                 // (0, 128, 0)
  702.         extern IOEVector Green1;                // (0, 255, 0)
  703.         extern IOEVector Green2;                // (0, 238, 0)
  704.         extern IOEVector Green3;                // (0, 205, 0)
  705.         extern IOEVector Green4;                // (0, 139, 0)
  706.         extern IOEVector Greenyellow;           // (173, 255, 47)
  707.         extern IOEVector Grey;                  // (128, 128, 128)
  708.         extern IOEVector Grey1;                 // (3, 3, 3)
  709.         extern IOEVector Grey10;                // (26, 26, 26)
  710.         extern IOEVector Grey11;                // (28, 28, 28)
  711.         extern IOEVector Grey12;                // (31, 31, 31)
  712.         extern IOEVector Grey13;                // (33, 33, 33)
  713.         extern IOEVector Grey14;                // (36, 36, 36)
  714.         extern IOEVector Grey15;                // (38, 38, 38)
  715.         extern IOEVector Grey16;                // (41, 41, 41)
  716.         extern IOEVector Grey17;                // (43, 43, 43)
  717.         extern IOEVector Grey18;                // (46, 46, 46)
  718.         extern IOEVector Grey19;                // (48, 48, 48)
  719.         extern IOEVector Grey2;                 // (5, 5, 5)
  720.         extern IOEVector Grey20;                // (51, 51, 51)
  721.         extern IOEVector Grey21;                // (54, 54, 54)
  722.         extern IOEVector Grey22;                // (56, 56, 56)
  723.         extern IOEVector Grey23;                // (59, 59, 59)
  724.         extern IOEVector Grey24;                // (61, 61, 61)
  725.         extern IOEVector Grey25;                // (64, 64, 64)
  726.         extern IOEVector Grey26;                // (66, 66, 66)
  727.         extern IOEVector Grey27;                // (69, 69, 69)
  728.         extern IOEVector Grey28;                // (71, 71, 71)
  729.         extern IOEVector Grey29;                // (74, 74, 74)
  730.         extern IOEVector Grey3;                 // (8, 8, 8)
  731.         extern IOEVector Grey30;                // (77, 77, 77)
  732.         extern IOEVector Grey31;                // (79, 79, 79)
  733.         extern IOEVector Grey32;                // (82, 82, 82)
  734.         extern IOEVector Grey33;                // (84, 84, 84)
  735.         extern IOEVector Grey34;                // (87, 87, 87)
  736.         extern IOEVector Grey35;                // (89, 89, 89)
  737.         extern IOEVector Grey36;                // (92, 92, 92)
  738.         extern IOEVector Grey37;                // (94, 94, 94)
  739.         extern IOEVector Grey38;                // (97, 97, 97)
  740.         extern IOEVector Grey39;                // (99, 99, 99)
  741.         extern IOEVector Grey4;                 // (10, 10, 10)
  742.         extern IOEVector Grey40;                // (102, 102, 102)
  743.         extern IOEVector Grey42;                // (105, 105, 105)
  744.         extern IOEVector Grey43;                // (110, 110, 110)
  745.         extern IOEVector Grey44;                // (112, 112, 112)
  746.         extern IOEVector Grey45;                // (115, 115, 115)
  747.         extern IOEVector Grey46;                // (117, 117, 117)
  748.         extern IOEVector Grey47;                // (120, 120, 120)
  749.         extern IOEVector Grey48;                // (122, 122, 122)
  750.         extern IOEVector Grey49;                // (125, 125, 125)
  751.         extern IOEVector Grey5;                 // (13, 13, 13)
  752.         extern IOEVector Grey50;                // (127, 127, 127)
  753.         extern IOEVector Grey51;                // (130, 130, 130)
  754.         extern IOEVector Grey52;                // (133, 133, 133)
  755.         extern IOEVector Grey53;                // (135, 135, 135)
  756.         extern IOEVector Grey54;                // (138, 138, 138)
  757.         extern IOEVector Grey55;                // (140, 140, 140)
  758.         extern IOEVector Grey56;                // (143, 143, 143)
  759.         extern IOEVector Grey57;                // (145, 145, 145)
  760.         extern IOEVector Grey58;                // (148, 148, 148)
  761.         extern IOEVector Grey59;                // (150, 150, 150)
  762.         extern IOEVector Grey6;                 // (15, 15, 15)
  763.         extern IOEVector Grey60;                // (153, 153, 153)
  764.         extern IOEVector Grey61;                // (156, 156, 156)
  765.         extern IOEVector Grey62;                // (158, 158, 158)
  766.         extern IOEVector Grey63;                // (161, 161, 161)
  767.         extern IOEVector Grey64;                // (163, 163, 163)
  768.         extern IOEVector Grey65;                // (166, 166, 166)
  769.         extern IOEVector Grey66;                // (168, 168, 168)
  770.         extern IOEVector Grey67;                // (171, 171, 171)
  771.         extern IOEVector Grey68;                // (173, 173, 173)
  772.         extern IOEVector Grey69;                // (176, 176, 176)
  773.         extern IOEVector Grey7;                 // (18, 18, 18)
  774.         extern IOEVector Grey70;                // (179, 179, 179)
  775.         extern IOEVector Grey71;                // (181, 181, 181)
  776.         extern IOEVector Grey72;                // (184, 184, 184)
  777.         extern IOEVector Grey73;                // (186, 186, 186)
  778.         extern IOEVector Grey74;                // (189, 189, 189)
  779.         extern IOEVector Grey75;                // (191, 191, 191)
  780.         extern IOEVector Grey76;                // (194, 194, 194)
  781.         extern IOEVector Grey77;                // (196, 196, 196)
  782.         extern IOEVector Grey78;                // (199, 199, 199)
  783.         extern IOEVector Grey79;                // (201, 201, 201)
  784.         extern IOEVector Grey8;                 // (20, 20, 20)
  785.         extern IOEVector Grey80;                // (204, 204, 204)
  786.         extern IOEVector Grey81;                // (207, 207, 207)
  787.         extern IOEVector Grey82;                // (209, 209, 209)
  788.         extern IOEVector Grey83;                // (212, 212, 212)
  789.         extern IOEVector Grey84;                // (214, 214, 214)
  790.         extern IOEVector Grey85;                // (217, 217, 217)
  791.         extern IOEVector Grey86;                // (219, 219, 219)
  792.         extern IOEVector Grey87;                // (222, 222, 222)
  793.         extern IOEVector Grey88;                // (224, 224, 224)
  794.         extern IOEVector Grey89;                // (227, 227, 227)
  795.         extern IOEVector Grey9;                 // (23, 23, 23)
  796.         extern IOEVector Grey90;                // (229, 229, 229)
  797.         extern IOEVector Grey91;                // (232, 232, 232)
  798.         extern IOEVector Grey92;                // (235, 235, 235)
  799.         extern IOEVector Grey93;                // (237, 237, 237)
  800.         extern IOEVector Grey94;                // (240, 240, 240)
  801.         extern IOEVector Grey95;                // (242, 242, 242)
  802.         extern IOEVector Grey96;                // (245, 245, 245)
  803.         extern IOEVector Grey97;                // (247, 247, 247)
  804.         extern IOEVector Grey98;                // (250, 250, 250)
  805.         extern IOEVector Grey99;                // (252, 252, 252)
  806.         extern IOEVector Honeydew;              // (240, 255, 240)
  807.         extern IOEVector Honeydew1;             // (240, 255, 240)
  808.         extern IOEVector Honeydew2;             // (224, 238, 224)
  809.         extern IOEVector Honeydew3;             // (193, 205, 193)
  810.         extern IOEVector Honeydew4;             // (131, 139, 131)
  811.         extern IOEVector Hotpink;               // (255, 105, 180)
  812.         extern IOEVector Hotpink1;              // (255, 110, 180)
  813.         extern IOEVector Hotpink2;              // (238, 106, 167)
  814.         extern IOEVector Hotpink3;              // (205, 96, 144)
  815.         extern IOEVector Hotpink4;              // (139, 58, 98)
  816.         extern IOEVector IndianRed;             // (176, 23, 31)
  817.         extern IOEVector Indianred;             // (205, 92, 92)
  818.         extern IOEVector Indianred1;            // (255, 106, 106)
  819.         extern IOEVector Indianred2;            // (238, 99, 99)
  820.         extern IOEVector Indianred3;            // (205, 85, 85)
  821.         extern IOEVector Indianred4;            // (139, 58, 58)
  822.         extern IOEVector Indigo;                // (75, 0, 130)
  823.         extern IOEVector Ivory;                 // (255, 255, 240)
  824.         extern IOEVector Ivory1;                // (255, 255, 240)
  825.         extern IOEVector Ivory2;                // (238, 238, 224)
  826.         extern IOEVector Ivory3;                // (205, 205, 193)
  827.         extern IOEVector Ivory4;                // (139, 139, 131)
  828.         extern IOEVector Ivoryblack;            // (41, 36, 33)
  829.         extern IOEVector Khaki;                 // (240, 230, 140)
  830.         extern IOEVector Khaki1;                // (255, 246, 143)
  831.         extern IOEVector Khaki2;                // (238, 230, 133)
  832.         extern IOEVector Khaki3;                // (205, 198, 115)
  833.         extern IOEVector Khaki4;                // (139, 134, 78)
  834.         extern IOEVector Lavender;              // (230, 230, 250)
  835.         extern IOEVector Lavenderblush;         // (255, 240, 245)
  836.         extern IOEVector Lavenderblush1;        // (255, 240, 245)
  837.         extern IOEVector Lavenderblush2;        // (238, 224, 229)
  838.         extern IOEVector Lavenderblush3;        // (205, 193, 197)
  839.         extern IOEVector Lavenderblush4;        // (139, 131, 134)
  840.         extern IOEVector Lawngreen;             // (124, 252, 0)
  841.         extern IOEVector Lemonchiffon;          // (255, 250, 205)
  842.         extern IOEVector Lemonchiffon1;         // (255, 250, 205)
  843.         extern IOEVector Lemonchiffon2;         // (238, 233, 191)
  844.         extern IOEVector Lemonchiffon3;         // (205, 201, 165)
  845.         extern IOEVector Lemonchiffon4;         // (139, 137, 112)
  846.         extern IOEVector Lightblue;             // (173, 216, 230)
  847.         extern IOEVector Lightblue1;            // (191, 239, 255)
  848.         extern IOEVector Lightblue2;            // (178, 223, 238)
  849.         extern IOEVector Lightblue3;            // (154, 192, 205)
  850.         extern IOEVector Lightblue4;            // (104, 131, 139)
  851.         extern IOEVector Lightcoral;            // (240, 128, 128)
  852.         extern IOEVector Lightcyan;             // (224, 255, 255)
  853.         extern IOEVector Lightcyan1;            // (224, 255, 255)
  854.         extern IOEVector Lightcyan2;            // (209, 238, 238)
  855.         extern IOEVector Lightcyan3;            // (180, 205, 205)
  856.         extern IOEVector Lightcyan4;            // (122, 139, 139)
  857.         extern IOEVector Lightgoldenrod1;       // (255, 236, 139)
  858.         extern IOEVector Lightgoldenrod2;       // (238, 220, 130)
  859.         extern IOEVector Lightgoldenrod3;       // (205, 190, 112)
  860.         extern IOEVector Lightgoldenrod4;       // (139, 129, 76)
  861.         extern IOEVector Lightgoldenrodyellow;  // (250, 250, 210)
  862.         extern IOEVector Lightgreen;            // (144, 238, 144)
  863.         extern IOEVector Lightgrey;             // (211, 211, 211)
  864.         extern IOEVector Lightpink;             // (255, 182, 193)
  865.         extern IOEVector Lightpink1;            // (255, 174, 185)
  866.         extern IOEVector Lightpink2;            // (238, 162, 173)
  867.         extern IOEVector Lightpink3;            // (205, 140, 149)
  868.         extern IOEVector Lightpink4;            // (139, 95, 101)
  869.         extern IOEVector Lightsalmon;           // (255, 160, 122)
  870.         extern IOEVector Lightsalmon1;          // (255, 160, 122)
  871.         extern IOEVector Lightsalmon2;          // (238, 149, 114)
  872.         extern IOEVector Lightsalmon3;          // (205, 129, 98)
  873.         extern IOEVector Lightsalmon4;          // (139, 87, 66)
  874.         extern IOEVector Lightseagreen;         // (32, 178, 170)
  875.         extern IOEVector Lightskyblue;          // (135, 206, 250)
  876.         extern IOEVector Lightskyblue1;         // (176, 226, 255)
  877.         extern IOEVector Lightskyblue2;         // (164, 211, 238)
  878.         extern IOEVector Lightskyblue3;         // (141, 182, 205)
  879.         extern IOEVector Lightskyblue4;         // (96, 123, 139)
  880.         extern IOEVector Lightslateblue;        // (132, 112, 255)
  881.         extern IOEVector Lightslategray;        // (119, 136, 153)
  882.         extern IOEVector Lightsteelblue;        // (176, 196, 222)
  883.         extern IOEVector Lightsteelblue1;       // (202, 225, 255)
  884.         extern IOEVector Lightsteelblue2;       // (188, 210, 238)
  885.         extern IOEVector Lightsteelblue3;       // (162, 181, 205)
  886.         extern IOEVector Lightsteelblue4;       // (110, 123, 139)
  887.         extern IOEVector Lightyellow;           // (255, 255, 224)
  888.         extern IOEVector Lightyellow1;          // (255, 255, 224)
  889.         extern IOEVector Lightyellow2;          // (238, 238, 209)
  890.         extern IOEVector Lightyellow3;          // (205, 205, 180)
  891.         extern IOEVector Lightyellow4;          // (139, 139, 122)
  892.         extern IOEVector Lime;                  // (0, 255, 0)
  893.         extern IOEVector Limegreen;             // (50, 205, 50)
  894.         extern IOEVector Linen;                 // (250, 240, 230)
  895.         extern IOEVector Magenta;               // (255, 0, 255)
  896.         extern IOEVector Magenta2;              // (238, 0, 238)
  897.         extern IOEVector Magenta3;              // (205, 0, 205)
  898.         extern IOEVector Magenta4;              // (139, 0, 139)
  899.         extern IOEVector Manganeseblue;         // (3, 168, 158)
  900.         extern IOEVector Maroon;                // (128, 0, 0)
  901.         extern IOEVector Maroon1;               // (255, 52, 179)
  902.         extern IOEVector Maroon2;               // (238, 48, 167)
  903.         extern IOEVector Maroon3;               // (205, 41, 144)
  904.         extern IOEVector Maroon4;               // (139, 28, 98)
  905.         extern IOEVector Mediumaquamarine;      // (102, 205, 170)
  906.         extern IOEVector Mediumblue;            // (0, 0, 205)
  907.         extern IOEVector Mediumorchid;          // (186, 85, 211)
  908.         extern IOEVector Mediumorchid1;         // (224, 102, 255)
  909.         extern IOEVector Mediumorchid2;         // (209, 95, 238)
  910.         extern IOEVector Mediumorchid3;         // (180, 82, 205)
  911.         extern IOEVector Mediumorchid4;         // (122, 55, 139)
  912.         extern IOEVector Mediumpurple;          // (147, 112, 219)
  913.         extern IOEVector Mediumpurple1;         // (171, 130, 255)
  914.         extern IOEVector Mediumpurple2;         // (159, 121, 238)
  915.         extern IOEVector Mediumpurple3;         // (137, 104, 205)
  916.         extern IOEVector Mediumpurple4;         // (93, 71, 139)
  917.         extern IOEVector Mediumseagreen;        // (60, 179, 113)
  918.         extern IOEVector Mediumslateblue;       // (123, 104, 238)
  919.         extern IOEVector Mediumspringgreen;     // (0, 250, 154)
  920.         extern IOEVector Mediumturquoise;       // (72, 209, 204)
  921.         extern IOEVector Mediumvioletred;       // (199, 21, 133)
  922.         extern IOEVector Melon;                 // (227, 168, 105)
  923.         extern IOEVector Midnightblue;          // (25, 25, 112)
  924.         extern IOEVector Mint;                  // (189, 252, 201)
  925.         extern IOEVector Mintcream;             // (245, 255, 250)
  926.         extern IOEVector Mistyrose;             // (255, 228, 225)
  927.         extern IOEVector Mistyrose1;            // (255, 228, 225)
  928.         extern IOEVector Mistyrose2;            // (238, 213, 210)
  929.         extern IOEVector Mistyrose3;            // (205, 183, 181)
  930.         extern IOEVector Mistyrose4;            // (139, 125, 123)
  931.         extern IOEVector Moccasin;              // (255, 228, 181)
  932.         extern IOEVector Navajowhite;           // (255, 222, 173)
  933.         extern IOEVector Navajowhite1;          // (255, 222, 173)
  934.         extern IOEVector Navajowhite2;          // (238, 207, 161)
  935.         extern IOEVector Navajowhite3;          // (205, 179, 139)
  936.         extern IOEVector Navajowhite4;          // (139, 121, 94)
  937.         extern IOEVector Navy;                  // (0, 0, 128)
  938.         extern IOEVector Oldlace;               // (253, 245, 230)
  939.         extern IOEVector Olive;                 // (128, 128, 0)
  940.         extern IOEVector Olivedrab;             // (107, 142, 35)
  941.         extern IOEVector Olivedrab1;            // (192, 255, 62)
  942.         extern IOEVector Olivedrab2;            // (179, 238, 58)
  943.         extern IOEVector Olivedrab3;            // (154, 205, 50)
  944.         extern IOEVector Olivedrab4;            // (105, 139, 34)
  945.         extern IOEVector Orange;                // (255, 165, 0)
  946.         extern IOEVector Orange1;               // (255, 165, 0)
  947.         extern IOEVector Orange2;               // (238, 154, 0)
  948.         extern IOEVector Orange3;               // (205, 133, 0)
  949.         extern IOEVector Orange4;               // (139, 90, 0)
  950.         extern IOEVector Orangered;             // (255, 69, 0)
  951.         extern IOEVector Orangered1;            // (255, 69, 0)
  952.         extern IOEVector Orangered2;            // (238, 64, 0)
  953.         extern IOEVector Orangered3;            // (205, 55, 0)
  954.         extern IOEVector Orangered4;            // (139, 37, 0)
  955.         extern IOEVector Orchid;                // (218, 112, 214)
  956.         extern IOEVector Orchid1;               // (255, 131, 250)
  957.         extern IOEVector Orchid2;               // (238, 122, 233)
  958.         extern IOEVector Orchid3;               // (205, 105, 201)
  959.         extern IOEVector Orchid4;               // (139, 71, 137)
  960.         extern IOEVector Palegoldenrod;         // (238, 232, 170)
  961.         extern IOEVector Palegreen;             // (152, 251, 152)
  962.         extern IOEVector Palegreen1;            // (154, 255, 154)
  963.         extern IOEVector Palegreen2;            // (144, 238, 144)
  964.         extern IOEVector Palegreen3;            // (124, 205, 124)
  965.         extern IOEVector Palegreen4;            // (84, 139, 84)
  966.         extern IOEVector Paleturquoise;         // (174, 238, 238)
  967.         extern IOEVector Paleturquoise1;        // (187, 255, 255)
  968.         extern IOEVector Paleturquoise2;        // (174, 238, 238)
  969.         extern IOEVector Paleturquoise3;        // (150, 205, 205)
  970.         extern IOEVector Paleturquoise4;        // (102, 139, 139)
  971.         extern IOEVector Palevioletred;         // (219, 112, 147)
  972.         extern IOEVector Palevioletred1;        // (255, 130, 171)
  973.         extern IOEVector Palevioletred2;        // (238, 121, 159)
  974.         extern IOEVector Palevioletred3;        // (205, 104, 137)
  975.         extern IOEVector Palevioletred4;        // (139, 71, 93)
  976.         extern IOEVector Papayawhip;            // (255, 239, 213)
  977.         extern IOEVector Peachpuff;             // (255, 218, 185)
  978.         extern IOEVector Peachpuff1;            // (255, 218, 185)
  979.         extern IOEVector Peachpuff2;            // (238, 203, 173)
  980.         extern IOEVector Peachpuff3;            // (205, 175, 149)
  981.         extern IOEVector Peachpuff4;            // (139, 119, 101)
  982.         extern IOEVector Peacock;               // (51, 161, 201)
  983.         extern IOEVector Peru;                  // (205, 133, 63)
  984.         extern IOEVector Pink;                  // (255, 192, 203)
  985.         extern IOEVector Pink1;                 // (255, 181, 197)
  986.         extern IOEVector Pink2;                 // (238, 169, 184)
  987.         extern IOEVector Pink3;                 // (205, 145, 158)
  988.         extern IOEVector Pink4;                 // (139, 99, 108)
  989.         extern IOEVector Plum;                  // (221, 160, 221)
  990.         extern IOEVector Plum1;                 // (255, 187, 255)
  991.         extern IOEVector Plum2;                 // (238, 174, 238)
  992.         extern IOEVector Plum3;                 // (205, 150, 205)
  993.         extern IOEVector Plum4;                 // (139, 102, 139)
  994.         extern IOEVector Powderblue;            // (176, 224, 230)
  995.         extern IOEVector Purple;                // (128, 0, 128)
  996.         extern IOEVector Purple1;               // (155, 48, 255)
  997.         extern IOEVector Purple2;               // (145, 44, 238)
  998.         extern IOEVector Purple3;               // (125, 38, 205)
  999.         extern IOEVector Purple4;               // (85, 26, 139)
  1000.         extern IOEVector Raspberry;             // (135, 38, 87)
  1001.         extern IOEVector Rawsienna;             // (199, 97, 20)
  1002.         extern IOEVector Red;                   // (255, 0, 0)
  1003.         extern IOEVector Red1;                  // (255, 0, 0)
  1004.         extern IOEVector Red2;                  // (238, 0, 0)
  1005.         extern IOEVector Red3;                  // (205, 0, 0)
  1006.         extern IOEVector Red4;                  // (139, 0, 0)
  1007.         extern IOEVector Rosybrown;             // (188, 143, 143)
  1008.         extern IOEVector Rosybrown1;            // (255, 193, 193)
  1009.         extern IOEVector Rosybrown2;            // (238, 180, 180)
  1010.         extern IOEVector Rosybrown3;            // (205, 155, 155)
  1011.         extern IOEVector Rosybrown4;            // (139, 105, 105)
  1012.         extern IOEVector Royalblue;             // (65, 105, 225)
  1013.         extern IOEVector Royalblue1;            // (72, 118, 255)
  1014.         extern IOEVector Royalblue2;            // (67, 110, 238)
  1015.         extern IOEVector Royalblue3;            // (58, 95, 205)
  1016.         extern IOEVector Royalblue4;            // (39, 64, 139)
  1017.         extern IOEVector Saddlebrown;           // (139, 69, 19)
  1018.         extern IOEVector Salmon;                // (250, 128, 114)
  1019.         extern IOEVector Salmon1;               // (255, 140, 105)
  1020.         extern IOEVector Salmon2;               // (238, 130, 98)
  1021.         extern IOEVector Salmon3;               // (205, 112, 84)
  1022.         extern IOEVector Salmon4;               // (139, 76, 57)
  1023.         extern IOEVector Sandybrown;            // (244, 164, 96)
  1024.         extern IOEVector Sapgreen;              // (48, 128, 20)
  1025.         extern IOEVector Seagreen;              // (46, 139, 87)
  1026.         extern IOEVector Seagreen1;             // (84, 255, 159)
  1027.         extern IOEVector Seagreen2;             // (78, 238, 148)
  1028.         extern IOEVector Seagreen3;             // (67, 205, 128)
  1029.         extern IOEVector Seagreen4;             // (46, 139, 87)
  1030.         extern IOEVector Seashell;              // (255, 245, 238)
  1031.         extern IOEVector Seashell1;             // (255, 245, 238)
  1032.         extern IOEVector Seashell2;             // (238, 229, 222)
  1033.         extern IOEVector Seashell3;             // (205, 197, 191)
  1034.         extern IOEVector Seashell4;             // (139, 134, 130)
  1035.         extern IOEVector Sepia;                 // (94, 38, 18)
  1036.         extern IOEVector SgiBeet;               // (142, 56, 142)
  1037.         extern IOEVector SgiBrightgray;         // (197, 193, 170)
  1038.         extern IOEVector SgiChartreuse;         // (113, 198, 113)
  1039.         extern IOEVector SgiDarkgray;           // (85, 85, 85)
  1040.         extern IOEVector SgiGrey12;             // (30, 30, 30)
  1041.         extern IOEVector SgiGrey16;             // (40, 40, 40)
  1042.         extern IOEVector SgiGrey32;             // (81, 81, 81)
  1043.         extern IOEVector SgiGrey36;             // (91, 91, 91)
  1044.         extern IOEVector SgiGrey52;             // (132, 132, 132)
  1045.         extern IOEVector SgiGrey56;             // (142, 142, 142)
  1046.         extern IOEVector SgiGrey72;             // (183, 183, 183)
  1047.         extern IOEVector SgiGrey76;             // (193, 193, 193)
  1048.         extern IOEVector SgiGrey92;             // (234, 234, 234)
  1049.         extern IOEVector SgiGrey96;             // (244, 244, 244)
  1050.         extern IOEVector SgiLightblue;          // (125, 158, 192)
  1051.         extern IOEVector SgiLightgray;          // (170, 170, 170)
  1052.         extern IOEVector SgiOlivedrab;          // (142, 142, 56)
  1053.         extern IOEVector SgiSalmon;             // (198, 113, 113)
  1054.         extern IOEVector SgiSlateblue;          // (113, 113, 198)
  1055.         extern IOEVector SgiTeal;               // (56, 142, 142)
  1056.         extern IOEVector Sienna;                // (160, 82, 45)
  1057.         extern IOEVector Sienna1;               // (255, 130, 71)
  1058.         extern IOEVector Sienna2;               // (238, 121, 66)
  1059.         extern IOEVector Sienna3;               // (205, 104, 57)
  1060.         extern IOEVector Sienna4;               // (139, 71, 38)
  1061.         extern IOEVector Silver;                // (192, 192, 192)
  1062.         extern IOEVector Skyblue;               // (135, 206, 235)
  1063.         extern IOEVector Skyblue1;              // (135, 206, 255)
  1064.         extern IOEVector Skyblue2;              // (126, 192, 238)
  1065.         extern IOEVector Skyblue3;              // (108, 166, 205)
  1066.         extern IOEVector Skyblue4;              // (74, 112, 139)
  1067.         extern IOEVector Slateblue;             // (106, 90, 205)
  1068.         extern IOEVector Slateblue1;            // (131, 111, 255)
  1069.         extern IOEVector Slateblue2;            // (122, 103, 238)
  1070.         extern IOEVector Slateblue3;            // (105, 89, 205)
  1071.         extern IOEVector Slateblue4;            // (71, 60, 139)
  1072.         extern IOEVector Slategray;             // (112, 128, 144)
  1073.         extern IOEVector Slategray1;            // (198, 226, 255)
  1074.         extern IOEVector Slategray2;            // (185, 211, 238)
  1075.         extern IOEVector Slategray3;            // (159, 182, 205)
  1076.         extern IOEVector Slategray4;            // (108, 123, 139)
  1077.         extern IOEVector Snow;                  // (255, 250, 250)
  1078.         extern IOEVector Snow1;                 // (255, 250, 250)
  1079.         extern IOEVector Snow2;                 // (238, 233, 233)
  1080.         extern IOEVector Snow3;                 // (205, 201, 201)
  1081.         extern IOEVector Snow4;                 // (139, 137, 137)
  1082.         extern IOEVector Springgreen;           // (0, 255, 127)
  1083.         extern IOEVector Springgreen1;          // (0, 238, 118)
  1084.         extern IOEVector Springgreen2;          // (0, 205, 102)
  1085.         extern IOEVector Springgreen3;          // (0, 139, 69)
  1086.         extern IOEVector Steelblue;             // (70, 130, 180)
  1087.         extern IOEVector Steelblue1;            // (99, 184, 255)
  1088.         extern IOEVector Steelblue2;            // (92, 172, 238)
  1089.         extern IOEVector Steelblue3;            // (79, 148, 205)
  1090.         extern IOEVector Steelblue4;            // (54, 100, 139)
  1091.         extern IOEVector Tan;                   // (210, 180, 140)
  1092.         extern IOEVector Tan1;                  // (255, 165, 79)
  1093.         extern IOEVector Tan2;                  // (238, 154, 73)
  1094.         extern IOEVector Tan3;                  // (205, 133, 63)
  1095.         extern IOEVector Tan4;                  // (139, 90, 43)
  1096.         extern IOEVector Teal;                  // (0, 128, 128)
  1097.         extern IOEVector Thistle;               // (216, 191, 216)
  1098.         extern IOEVector Thistle1;              // (255, 225, 255)
  1099.         extern IOEVector Thistle2;              // (238, 210, 238)
  1100.         extern IOEVector Thistle3;              // (205, 181, 205)
  1101.         extern IOEVector Thistle4;              // (139, 123, 139)
  1102.         extern IOEVector Tomato;                // (255, 99, 71)
  1103.         extern IOEVector Tomato1;               // (255, 99, 71)
  1104.         extern IOEVector Tomato2;               // (238, 92, 66)
  1105.         extern IOEVector Tomato3;               // (205, 79, 57)
  1106.         extern IOEVector Tomato4;               // (139, 54, 38)
  1107.         extern IOEVector Turquoise;             // (64, 224, 208)
  1108.         extern IOEVector Turquoise1;            // (0, 245, 255)
  1109.         extern IOEVector Turquoise2;            // (0, 229, 238)
  1110.         extern IOEVector Turquoise3;            // (0, 197, 205)
  1111.         extern IOEVector Turquoise4;            // (0, 134, 139)
  1112.         extern IOEVector Turquoiseblue;         // (0, 199, 140)
  1113.         extern IOEVector Violet;                // (238, 130, 238)
  1114.         extern IOEVector Violetred;             // (208, 32, 144)
  1115.         extern IOEVector Violetred1;            // (255, 62, 150)
  1116.         extern IOEVector Violetred2;            // (238, 58, 140)
  1117.         extern IOEVector Violetred3;            // (205, 50, 120)
  1118.         extern IOEVector Violetred4;            // (139, 34, 82)
  1119.         extern IOEVector Warmgrey;              // (128, 128, 105)
  1120.         extern IOEVector Wheat;                 // (245, 222, 179)
  1121.         extern IOEVector Wheat1;                // (255, 231, 186)
  1122.         extern IOEVector Wheat2;                // (238, 216, 174)
  1123.         extern IOEVector Wheat3;                // (205, 186, 150)
  1124.         extern IOEVector Wheat4;                // (139, 126, 102)
  1125.         extern IOEVector White;                 // (255, 255, 255)
  1126.         extern IOEVector WhiteSmoke;            // (245, 245, 245)
  1127.         extern IOEVector Yellow;                // (255, 255, 0)
  1128.         extern IOEVector Yellow1;               // (255, 255, 0)
  1129.         extern IOEVector Yellow2;               // (238, 238, 0)
  1130.         extern IOEVector Yellow3;               // (205, 205, 0)
  1131.         extern IOEVector Yellow4;               // (139, 139, 0)
  1132.         extern IOEVector Yellowgreen;           // (154, 205, 50)
  1133.     }
  1134.  
  1135.     //////////////////////////////////////////////////////////////////////////
  1136.  
  1137. } // namespace Maths
  1138. } // namespace IOE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement