DirectX向量类(D3DVECTOR3)详解

版权声明:K5出品,必属精品,欢迎收藏评论 https://blog.csdn.net/a694861283/article/details/87369461
//该类的定义如下:

typedef struct D3DXVECTOR3:public D3DVECTOR{

    public:
        D3DVECTOR3(){};
        D3DVECTOR3(CONST FLOAT *);
        D3DVECTOR3(CONST D3DVECTOR&);
        D3DVECTOR3(FLOAT x,FLOAT y,FLOAT z);
        
        //casting
        operator FLOAT*();
        operator CONST FLOAT* () const;

        //assignment operators
        D3DXVECTOR3& operator += (CONST D3DXVECTOR3&);
        D3DXVECTOR3& operator -= (CONST D3DXVECTOR3&);
        D3DXVECTOR3& operator *= (FLOAT);
        D3DXVECTOR3& operator /= (FLOAT);

        //unary operators
        D3DXVECTOR3 operator + () const;
        D3DXVECTOR3 operator - () const;

        //binary operators
        D3DXVECTOR3 operator + (CONST D3DXVECTOR3&) const;
        D3DXVECTOR3 operator - (CONST D3DXVECTOR3&) const;
        D3DXVECTOR3 operator * (FLOAT) const;
        D3DXVECTOR3 operator / (FLOAT) const;

        friend D3DXVECTOR3 operator * (FLOAT,CONST struct D3DXVECTOR3&);
        
        BOOL operator == (CONST D3DXVECTOR3&) const;
        BOOL operator != (CONST D3DXVECTOR3&) const;

}D3DXVECTOR3,*LPD3DXVECTOR3;
//D3DXVECTOR3继承于D3DVECTOR

typedef struct D3DVECTOR{
    
    float x,y,z;

}D3DVECTOR;

猜你喜欢

转载自blog.csdn.net/a694861283/article/details/87369461