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