From 19ba3fbd5ed8207746eae65f10b952b8c748bb80 Mon Sep 17 00:00:00 2001 From: Brian Fabian Date: Sun, 15 Oct 2017 16:10:08 -0500 Subject: [PATCH] Added the conversion from TypedTransform2D to TypedTransform3D --- src/transform2d.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/transform2d.rs b/src/transform2d.rs index 2c28cf1..3f34f55 100644 --- a/src/transform2d.rs +++ b/src/transform2d.rs @@ -12,7 +12,8 @@ use num::{One, Zero}; use point::TypedPoint2D; use vector::{TypedVector2D, vec2}; use rect::TypedRect; -use std::ops::{Add, Mul, Div, Sub}; +use transform3d::TypedTransform3D; +use std::ops::{Add, Mul, Div, Sub, Neg}; use std::marker::PhantomData; use approxeq::ApproxEq; use trig::Trig; @@ -327,7 +328,25 @@ where T: Copy + Clone + self.m21, self.m22, self.m31, self.m32, ) + } +} + +impl TypedTransform2D +where T: Copy + Clone + + Add + + Sub + + Mul + + Div + + Neg + + ApproxEq + + PartialOrd + + Trig + + One + Zero { + /// Create a 3D transform from the current transform + pub fn to_3d(&self) -> TypedTransform3D { + TypedTransform3D::row_major_2d(self.m11, self.m12, self.m21, self.m22, self.m31, self.m32) } + } impl, Src, Dst> TypedTransform2D {