Exemple #1
0
        protected override bool AllVerticesInScreenPolygon(ScreenPolygonParams data)
        {
            // Computes the lines that are completely enclosed to the screen polygon

            if (vp.processVisibleOnly && !Selected)
            {
                return(false);
            }

            SelectedSubItems = new List <int>();

            for (int i = 0; i < Lines.Length; i++)
            {
                IndexLine line = Lines[i];

                if (UtilityEx.AllVerticesInScreenPolygon(data, new List <Point3D>()
                {
                    Vertices[line.V1], Vertices[line.V2]
                }, 2))
                {
                    SelectedSubItems.Add(i);
                }
            }

            return(false);
        }
Exemple #2
0
        protected override bool AllVerticesInScreenPolygon(ScreenPolygonParams data)
        {
            // Computes the triangles that are completely enclosed to the screen polygon

            if (vp.processVisibleOnly && !Selected)
            {
                return(false);
            }

            SelectedSubItems = new List <int>();

            for (int i = 0; i < Triangles.Length; i++)
            {
                var verts = GetTriangleVertices(Triangles[i]);

                if (UtilityEx.AllVerticesInScreenPolygon(data, verts, 3))
                {
                    SelectedSubItems.Add(i);
                }
            }

            UpdateCompileSelection();

            return(false);
        }