Ejemplo n.º 1
0
        public void ListItemDrop_Handler(object sender, DragEventArgs args)
        {
            CV3DElement droppedData = args.Data.GetData(typeof(CV3DElement)) as CV3DElement;
            CV3DElement target      = ((ListBoxItem)(sender)).DataContext as CV3DElement;

            int removedIndex = objects_MainWindow.Items.IndexOf(droppedData);
            int targetIndex  = objects_MainWindow.Items.IndexOf(target);

            if (removedIndex < targetIndex)
            {
                modelList.Insert(targetIndex + 1, droppedData);
                modelList.RemoveAt(removedIndex);
            }
            else
            {
                int remIndex = removedIndex + 1;
                if (modelList.Count + 1 > remIndex)
                {
                    modelList.Insert(targetIndex, droppedData);
                    modelList.RemoveAt(remIndex);
                }
            }
            objects_MainWindow.Items.Refresh();
        }
Ejemplo n.º 2
0
        public void ObjectCurrentPosition_Handler(object sender, RoutedEventArgs args)
        {
            try {
                if (!(objects_MainWindow.SelectedItem is null))
                {
                    CV3DElement element = objects_MainWindow.SelectedItem as CV3DElement;

                    /*ModelVisual3D model = element.Object;
                     * Matrix3D temp = (model.Content as Model3D).Transform.Value;
                     * temp.OffsetX = objectPosition_MainWindow.Value.X;
                     * temp.OffsetY = objectPosition_MainWindow.Value.Y;
                     * temp.OffsetZ = objectPosition_MainWindow.Value.Z;*/
                    if (element.Object is CubeVisual3D)
                    {
                        (element.Object as CubeVisual3D).Center = objectPosition_MainWindow.Value;
                    }
                    else if (element.Object is EllipsoidVisual3D)
                    {
                        (element.Object as EllipsoidVisual3D).Center = objectPosition_MainWindow.Value;
                    }
                    //(model.Content as Model3D).Transform = new MatrixTransform3D(temp);
                }
            } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.Source); }
        }