コード例 #1
0
ファイル: FTransform.cs プロジェクト: ycllz/UnrealCS
        /**
         * Convert this Transform to inverse.
         */
        public FTransform Inverse()
        {
            FQuat   InvRotation    = Rotation.Inverse();
            FVector InvScale3D     = Scale3D.Reciprocal();
            FVector InvTranslation = InvRotation * (InvScale3D * -Translation);

            return(new FTransform(InvRotation, InvTranslation, InvScale3D));
        }
コード例 #2
0
        private void LoadScale()
        {
            string value = GetProperty("MainScale");

            if (value != null)
            {
                MainScale = Scale3D.FromProperty(value);
            }
            value = GetProperty("PostScale");
            if (value != null)
            {
                PostScale = Scale3D.FromProperty(value);
            }
        }
コード例 #3
0
        public void FromPropertyTest()
        {
            string text  = "(SheerAxis=SHEER_ZX)";
            var    scale = Scale3D.FromProperty(text);

            Assert.AreEqual(1.0, scale.X);
            Assert.AreEqual(1.0, scale.Y);
            Assert.AreEqual(1.0, scale.Z);
            Assert.AreEqual(SheerAxis.ZX, scale.SheerAxis);
            Assert.AreEqual(0.0, scale.SheerRate);

            text  = "(Scale=(Y=2.0,Z=3.0),SheerAxis=SHEER_XY,SheerRate=0.5)";
            scale = Scale3D.FromProperty(text);
            Assert.AreEqual(1.0, scale.X);
            Assert.AreEqual(2.0, scale.Y);
            Assert.AreEqual(3.0, scale.Z);
            Assert.AreEqual(SheerAxis.XY, scale.SheerAxis);
            Assert.AreEqual(0.5, scale.SheerRate);
        }
コード例 #4
0
ファイル: FTransform.cs プロジェクト: ycllz/UnrealCS
 public float GetMinimumAxisScale()
 {
     DiagnosticCheckNaN_Scale3D();
     return(Scale3D.GetAbsMin());
 }