#pragma once #include "DirectXFramework.h" #include "SharedMethods.h" class Vector3D { public: Vector3D(float x, float y, float z); Vector3D(XMFLOAT3 vertexA, XMFLOAT3 vertexB); Vector3D(const Vector3D& other); ~Vector3D(); XMFLOAT3 Get() const; const void Normalize(); static float DotProduct(const Vector3D v1, const Vector3D v2); static float Length(const Vector3D v1, const Vector3D v2); static Vector3D CrossProduct(const Vector3D v1, const Vector3D v2); Vector3D& operator= (const Vector3D& rhs); const Vector3D operator+ (const Vector3D& rhs) const; Vector3D& operator+= (const Vector3D& rhs); const Vector3D operator/ (const float rhs) const; const Vector3D operator/ (const int rhs) const; private: XMFLOAT3 _vector; void Copy(const Vector3D& other); };