示例#1
0
        private void loadPointSelectionLabelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (currentGeometryObject == null)
            {
                MessageBox.Show("Please load a mesh");
                return;
            }
            string path = null;

            if (!FileSelect(out path))
            {
                return;
            }
            MarkedPoints.Clear();
            MarkedLines.Clear();
            StreamReader reader = new StreamReader(path);

            colorMap = new ColorMap(currentGeometryObject.Triangles);
            MarkedPoints.Add(-1);
            for (int i = 0; i < colorMap.Count; i++)
            {
                try
                {
                    string line = reader.ReadLine();
                    MarkedPoints.Add(int.Parse(line));
                }
                catch
                {
                    break;
                }
            }
            List <double> dataset = new List <double>();

            foreach (Triangle tri in currentGeometryObject.Triangles)
            {
                int c = 0;
                if (MarkedPoints.Contains(tri.P0.Id))
                {
                    c++;
                }
                if (MarkedPoints.Contains(tri.P1.Id))
                {
                    c++;
                }
                if (MarkedPoints.Contains(tri.P2.Id))
                {
                    c++;
                }
                if (c >= 2)
                {
                    dataset.Add(1);
                }
                else
                {
                    dataset.Add(0);
                }
            }
            colorMap.SetDataArray(dataset);
            displayMode = DisplayMode.FACECOLORMAP;
        }
示例#2
0
        private void loadPointLabelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (currentGeometryObject == null)
            {
                MessageBox.Show("Please load a mesh");
                return;
            }
            string path = null;

            if (!FileSelect(out path))
            {
                return;
            }
            MarkedPoints.Clear();
            MarkedLines.Clear();

            StreamReader reader = new StreamReader(path);

            colorMap = new ColorMap(currentGeometryObject.Points);

            List <double> dataset = new List <double>();

            for (int i = 0; i < colorMap.Count; i++)
            {
                try
                {
                    string line = reader.ReadLine();
                    dataset.Add(double.Parse(line));
                }
                catch
                {
                    break;
                }
            }
            colorMap.SetDataArray(dataset);
            displayMode = DisplayMode.POINTCOLORMAP;
        }