private static MeshGeometry3D GetMesh(MeshGeneratorBase mesh) { MeshGeometry3D geometry = mesh.Geometry; geometry.Freeze(); return(geometry); }
public void AddToScene(Visual3DCollection elementGroup) { //pointDrawer.ElementGroup = elementGroup; meshGeneratorBase = new Petzold.Media3D.SphereMesh(); sphere = meshGeneratorBase.Geometry; //Color materialColor = new DiffuseMaterial(new SolidColorBrush(value)); material = new DiffuseMaterial(new SolidColorBrush(Colors.AliceBlue)); //foreach (IPosition3D position in position3DSet) //{ // //pointDrawer.Add(position.GetX(), // // position.GetY(), // // position.GetZ()); // GeometryModel3D geometryModel3D = new GeometryModel3D(sphere, material); // Transform3DGroup transform3DGroup = new Transform3DGroup(); // transform3DGroup.Children.Add(new ScaleTransform3D(0.5, 0.5, 0.5)); // TranslateTransform3D translateTransform3D = new TranslateTransform3D( // position.GetX(), position.GetY(), position.GetZ()); // transform3DGroup.Children.Add(translateTransform3D); // geometryModel3D.Transform = transform3DGroup; // modelGroup.Children.Add(geometryModel3D); //} //ModelVisual3D modelVisual3D = new ModelVisual3D(); //modelVisual3D.Content = modelGroup; //elementGroup.Add(modelVisual3D); MeshGeometry3D positionSetMesh = new MeshGeometry3D(); MeshGeometry3D sphereMesh = new Sphere().Geometry; foreach (IPosition3D position in position3DSet) { MeshGeometry3D mesh = WPF3DHelper.Translate(sphereMesh, new Vector3D( position.GetX(), position.GetY(), position.GetZ())); WPF3DHelper.CombineTo(positionSetMesh, mesh); } GeometryModel3D positionSetModel = new GeometryModel3D(positionSetMesh, material); ModelVisual3D modelVisual3D = new ModelVisual3D(); modelVisual3D.Content = positionSetModel; elementGroup.Add(modelVisual3D); }
public PointDrawer() { meshGeneratorBase = new Petzold.Media3D.SphereMesh(); sphere = meshGeneratorBase.Geometry; material = new DiffuseMaterial(new SolidColorBrush(materialColor)); }