public void DisplayOneDesignCluster(int n) { //BatchDesign.GetDesignClusters(); var modelGroup = new Model3DGroup(); List <List <Column> > designClusters = BatchDesign.GetDesignClustersCol(); for (int i = 0; i < designClusters.Count; i++) { MeshBuilder meshBuilder = new MeshBuilder(false, true); List <Column> columns = designClusters[i]; foreach (var c in columns) { Point3D center = new Point3D(c.Point1.X * 1e-3, c.Point1.Y * 1e-3, c.Point1.Z * 1e-3); double xlength = 0.2; double ylength = 0.2; double zlength = (c.Point2.Z - c.Point1.Z) * 1e-3; meshBuilder.AddBox(center, xlength, ylength, zlength); } Color col = i == n ? myColors[i].ChangeAlpha(150) : myColors[i].ChangeAlpha(20); var mesh = new GeometryModel3D(meshBuilder.ToMesh(), MaterialHelper.CreateMaterial(col)); mesh.BackMaterial = mesh.Material; modelGroup.Children.Add(mesh); } ClusteredDesigns = modelGroup; NumberOfColumns_Designs = designClusters[n].Count; }
public void DisplayDesignClustersKeys() { // update keys designKeys = new List <DesignKey>(); List <List <Column> > designClusters = BatchDesign.GetDesignClustersCol(); for (int i = 0; i < designClusters.Count; i++) { string name = "Unnamed"; if (designClusters[i][0].LX != 0) { name = designClusters[i][0].LX + " x " + designClusters[i][0].LY; } else { name = "D" + designClusters[i][0].Diameter; } designKeys.Add(new DesignKey() { Label = name, Color = new SolidColorBrush(myColors[i]), Index = i, }); } RaisePropertyChanged(nameof(DesignKeys)); }
public void DisplayDesignClusters(bool updateKeys = true, bool generate = true) { if (generate) { BatchDesign.GetDesignClusters(); } var modelGroup = new Model3DGroup(); List <List <Column> > designClusters = BatchDesign.GetDesignClustersCol(); for (int i = 0; i < designClusters.Count; i++) { MeshBuilder meshBuilder = new MeshBuilder(false, true); List <Column> columns = designClusters[i]; foreach (var c in columns) { Point3D center = new Point3D(c.Point1.X * 1e-3, c.Point1.Y * 1e-3, c.Point1.Z * 1e-3); double xlength = 0.2; double ylength = 0.2; double zlength = (c.Point2.Z - c.Point1.Z) * 1e-3; meshBuilder.AddBox(center, xlength, ylength, zlength); } var mesh = new GeometryModel3D(meshBuilder.ToMesh(), MaterialHelper.CreateMaterial(myColors[i].ChangeAlpha(150))); mesh.BackMaterial = mesh.Material; modelGroup.Children.Add(mesh); } ClusteredDesigns = modelGroup; if (updateKeys) { DisplayDesignClustersKeys(); } NumberOfColumns_Designs = designClusters.Sum(c => c.Count); }