⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capoint3d.h.svn-base

📁 坦克大战游戏完整全套源代码
💻 SVN-BASE
字号:
#ifndef __POINT_3_H_
#define __POINT_3_H_

namespace cAni
{
template< class T >
struct _Point3
{
    T x, y, z;
    _Point3():x(0), y(0), z(0)
    {
    }
    _Point3(const _Point3 &p):x(p.x), y(p.y), z(p.z)
    {
    }
    _Point3(T _x, T _y, T _z):x(_x), y(_y), z(_z)
    {
    }
    const _Point3& operator *= (T s)
    {
        x *= s;
        y *= s;
        z *= s;
        return *this;
    }
    const _Point3 operator * (T s) const
    {
        _Point3 o = *this;
        o *= s;
        return o;
    }
    _Point3& operator += (const _Point3& a)
    {
        x += a.x;
        y += a.y;
        z += a.z;
        return *this;
    }
    friend const _Point3 operator + (const _Point3& a, const _Point3& b)
    {
        _Point3 o = a;
        return o += b;
    }
    _Point3& operator -= (const _Point3& a)
    {
        x -= a.x;
        y -= a.y;
        z -= a.z;
        return *this;
    }
    friend const _Point3 operator - (const _Point3& a, const _Point3& b)
    {
        _Point3 o = a;
        return o -= b;
    }
    _Point3 operator - () const
    {
        return _Point3(-x, -y, -z);
    }
    _Point3 operator / (T t) const
    {
        return _Point3(x/t, y/t, z/t);
    }
    operator const T* () const
    {
        return (const T*)this;
    }
    bool operator == (const _Point3 &a) const
    {
        return x == a.x && y == a.y && z == a.z;
    }
    bool operator != (const _Point3 &a) const
    {
        return ! (*this == a);
    }
};

typedef _Point3< float > Point3f;
typedef _Point3< int > Point3i;
typedef _Point3< short > Point3s;

} // namespace cAni

#endif // __POINT_3_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -