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); }
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); }