// http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-04-01-86-12/SceneSortingHelper_2E00_cs /// <summary> /// Sort Modelgroups in Farthest to Closest order, to enable transparency /// Should be applied whenever the scene is significantly re-oriented /// </summary> public static void AlphaSort(Point3D cameraPosition, Model3DCollection models, Transform3D worldTransform) { var sortedList = models.OrderBy(model => Point3D.Subtract(cameraPosition, worldTransform.Transform(model.Bounds.Location)).Length); models.Clear(); foreach (var model in sortedList) { models.Add(model); } }
// clears model without deleting light objects public void clearModel(Model3DCollection models) { Model3D light1 = models[0]; Model3D light2 = models[1]; models.Clear(); models.Add(light1); models.Add(light2); }
public void Redraw(Model3DCollection geometry) { geometry.Clear(); for (var i = 0; i < 3; i++) { for (var j = 0; j < 3; j++) { for (var k = 0; k < 3; k++) { geometry.Add(_cubicles[i, j, k].GetGeometry(i, j, k)); } } } }
public void Clear() { _elementMap.Clear(); _geometryCollection.Clear(); NotifyPropertyChanged(nameof(GeometryCollection)); }