コード例 #1
0
        // 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);
            }
        }
コード例 #2
0
        // 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);
        }
コード例 #3
0
        // 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);
            }
        }
コード例 #4
0
ファイル: Cube.cs プロジェクト: palver123/RubikSolver.WPF
 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));
             }
         }
     }
 }
コード例 #5
0
ファイル: ViewportVM.cs プロジェクト: raacztomi/gbxmlviewer
 public void Clear()
 {
     _elementMap.Clear();
     _geometryCollection.Clear();
     NotifyPropertyChanged(nameof(GeometryCollection));
 }