Example #1
0
            internal static SelectedRange CreateSelectedRange(VertexLibrary vertices, ObservableCollection <Line> lines, double leftX, double rightX, double topY, double bottomY)
            {
                Func <Vertex, bool> conditionVertex = v => v.X >= leftX && v.X <= rightX && v.Y >= bottomY && v.Y <= topY;

                Vertex[] selectedVertices = vertices.Values.Where(v => conditionVertex(v)).ToArray();
                Line[]   selectedLines    = lines.Where(l => selectedVertices.Any(v => v.X == vertices[l.LeftID].X) && selectedVertices.Any(v => v.X == vertices[l.RightID].X)).ToArray();

                return(new SelectedRange(new Box2d(leftX, topY, rightX, bottomY), selectedVertices, selectedLines));
            }
Example #2
0
            internal Track()
            {
                PitchVertices = new VertexLibrary();
                PitchLines    = new ObservableCollection <Line>();

                VolumeVertices = new VertexLibrary();
                VolumeLines    = new ObservableCollection <Line>();

                SoundIndices = new ObservableCollection <Area>();
            }
Example #3
0
            public object Clone()
            {
                VertexLibrary vertices = new VertexLibrary
                {
                    lastID = lastID
                };

                foreach (KeyValuePair <int, Vertex> vertex in this)
                {
                    vertices.Add(vertex.Key, (Vertex)vertex.Value.Clone());
                }

                return(vertices);
            }