#pragma once // Forward Declarations for classes that include each other namespace J3ML::LinearAlgebra { class Vector2; // A type representing a position in a 2-dimensional coordinate space. class Vector3; // A type representing a position in a 3-dimensional coordinate space. class Vector4; // A type representing a position in a 4-dimensional coordinate space. class Angle2D; // Uses x,y components to represent a 2D rotation. class EulerAngle; // Uses pitch,yaw,roll components to represent a 3D orientation. class AxisAngle; // class CoordinateFrame; // class Matrix2x2; class Matrix3x3; class Matrix4x4; class Transform2D; class Transform3D; class Quaternion; using Position = Vector3; } // Methods required by LinearAlgebra types namespace J3ML::LinearAlgebra { } using namespace J3ML::LinearAlgebra;