private void UpdateProjectionTrafo()
        {
            var l = m_box.Min.X; var r = m_box.Max.X;
            var b = m_box.Min.Y; var t = m_box.Max.Y;
            var n = m_box.Min.Z; var f = m_box.Max.Z;

            m_trafo = Trafo3d.PerspectiveProjectionRH(l, r, b, t, n, f);

            m_trafoChanges.Emit(m_trafo);
        }
Ejemplo n.º 2
0
        public static Trafo3d GetRandomTrafo(RandomSystem rnd, bool withPerspective)
        {
            var rot   = rnd.UniformV3dFull() * Constant.PiTimesFour - Constant.PiTimesTwo;
            var trans = rnd.UniformV3dFull() * 10 - 5;
            var scale = rnd.UniformV3dFull() * 4 - 2;

            var trafo = Trafo3d.FromComponents(scale, rot, trans);

            if (withPerspective)
            {
                trafo *= Trafo3d.PerspectiveProjectionRH(-1, 1, -1, 1, rnd.UniformDouble(), rnd.UniformDouble() * 100);
            }

            return(trafo);
        }