Exemplo n.º 1
0
        public void CenterCamera(GL_ControlBase control, List <DrawableContainer> Drawables)
        {
            if (!Runtime.FrameCamera)
            {
                return;
            }

            var spheres = new List <Vector4>();

            for (int i = 0; i < Drawables.Count; i++)
            {
                foreach (var drawable in Drawables[i].Drawables)
                {
                    if (drawable is IMeshContainer)
                    {
                        for (int m = 0; m < ((IMeshContainer)drawable).Meshes.Count; m++)
                        {
                            var mesh            = ((IMeshContainer)drawable).Meshes[m];
                            var vertexPositions = mesh.vertices.Select(x => x.pos).Distinct();
                            spheres.Add(control.GenerateBoundingSphere(vertexPositions));
                        }
                    }
                }
            }

            if (spheres.Count > 0)
            {
                control.FrameSelect(spheres);
            }
        }
Exemplo n.º 2
0
        public void CenterCamera(GL_ControlBase control)
        {
            if (!Runtime.FrameCamera)
            {
                return;
            }

            var spheres = new List <Vector4>();

            for (int mdl = 0; mdl < models.Count; mdl++)
            {
                for (int shp = 0; shp < models[mdl].shapes.Count; shp++)
                {
                    var vertexPositions = models[mdl].shapes[shp].vertices.Select(x => x.pos).Distinct();
                    spheres.Add(control.GenerateBoundingSphere(vertexPositions));
                }
            }

            control.FrameSelect(spheres);
        }