diff --git a/src/Math/Point2D.h b/src/Math/Point2D.h index 953438d51..35ab1ff86 100644 --- a/src/Math/Point2D.h +++ b/src/Math/Point2D.h @@ -57,8 +57,13 @@ template class Point2D: public Vector3 { * @param z Z component */ inline constexpr Point2D(const Vector<2, T>& xy, T z = T(1)): Vector3(xy, z) {} + + MAGNUM_VECTOR_SUBCLASS_IMPLEMENTATION(Point2D, 3) + MAGNUM_RECTANGULARMATRIX_SUBCLASS_OPERATOR_IMPLEMENTATION(1, 3, Point2D) }; +MAGNUM_VECTOR_SUBCLASS_OPERATOR_IMPLEMENTATION(Point2D, 3) + /** @debugoperator{Magnum::Math::Point2D} */ template Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, const Magnum::Math::Point2D& value) { return debug << static_cast&>(value); diff --git a/src/Math/Point3D.h b/src/Math/Point3D.h index e92e1e7b1..a1e8eda88 100644 --- a/src/Math/Point3D.h +++ b/src/Math/Point3D.h @@ -58,8 +58,13 @@ template class Point3D: public Vector4 { * @param w W component */ inline constexpr Point3D(const Vector<3, T>& xyz, T w = T(1)): Vector4(xyz, w) {} + + MAGNUM_VECTOR_SUBCLASS_IMPLEMENTATION(Point3D, 4) + MAGNUM_RECTANGULARMATRIX_SUBCLASS_OPERATOR_IMPLEMENTATION(1, 4, Point3D) }; +MAGNUM_VECTOR_SUBCLASS_OPERATOR_IMPLEMENTATION(Point3D, 4) + /** @debugoperator{Magnum::Math::Point3D} */ template Corrade::Utility::Debug operator<<(Corrade::Utility::Debug debug, const Magnum::Math::Point3D& value) { return debug << static_cast&>(value);