Шаг 46 - Описание структуры D3DXVECTOR3

Описывает вектор в трехмерном пространстве:

typedef struct D3DXVECTOR3 : public D3DVECTOR {
public:
	D3DXVECTOR3() {};
	D3DXVECTOR3( CONST FLOAT * );
	D3DXVECTOR3( CONST D3DVECTOR& );
	D3DXVECTOR3( FLOAT x, FLOAT y, FLOAT z );

	// casting
	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;

	// двойные операторы
	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;

Описание параметров

x - значение х.

y - значение y.

z - значение z.

Примечание

Эта структура получает значения x, y и z от структуры D3DVECTOR. Программируя в С, Вы не можете использовать структуру D3DXVECTOR3, для этого используйте структуру D3DVECTOR.

В C++ можно использовать операторы перегрузки. В C++ используя структуру D3DXVECTOR3 Вы тем самым перегружаете конструкторы, операторы назначения, одиночные и двойные параметры (включая равно).

Требования

Заголовки: объявить D3dx8math.h.

Примеры

См. раздел Direct3D: "Шаг 13 - Вращаем разноцветный трехмерный треугольник".


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Хавов Евгений Валерьевич - 27.08.2002