Microsoft DirectX 8.0 (C++) |
D3DXVECTOR3 構造体は、3 次元 (3D) 空間のベクトルを記述する。
typedef struct D3DXVECTOR3 : public D3DVECTOR { public: D3DXVECTOR3() {}; D3DXVECTOR3( CONST FLOAT * ); D3DXVECTOR3( CONST D3DVECTOR& ); D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z ); // キャスティング operator FLOAT* (); operator CONST FLOAT* () const; // 代入演算子 D3DXVECTOR3& operator += ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator -= ( CONST D3DXVECTOR3& ); D3DXVECTOR3& operator *= ( FLOAT ); D3DXVECTOR3& operator /= ( FLOAT ); // 単項演算子 D3DXVECTOR3 operator + () const; D3DXVECTOR3 operator - () const; // 2 項演算子 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;
この構造体は、D3DVECTOR 構造体のメンバ x、y、z を継承する。C のプログラマは D3DXVECTOR3 構造体を使用できない。C のプログラマは D3DVECTOR 構造体を使用する必要がある。
C++ プログラマは、演算子のオーバーロード機能や型変換機能を利用できる。D3DXVECTOR3 構造体を C++ で実装すると、オーバーロードされたコンストラクタやオーバーロードされた代入演算子、単項演算子、および 2 項演算子 (等価演算子を含む) が実装される。詳細については、「C++ 固有の機能」を参照すること。
ヘッダー : d3dx8math.h で宣言。