protected static Material GetDefaultFrontMaterial(NewPrimitiveViewModel viewModel)
        {
            var material = new DiffuseMaterial();

            material.Brush = FRONT_BRUSH;
            return(material);
        }
        public BaseNewPrimitiveView(NewPrimitiveViewModel viewModel, ILoggerFacade logger)
        {
            this.viewModel = viewModel;
            this.logger    = logger;

            translation = new TranslateTransform3D();
            scale       = new ScaleTransform3D();
            rotation    = new RotateTransform3D();

            Transform = new Transform3DGroup
            {
                Children = { rotation, scale, translation }
            };
            PrimitivesPickService.SetPrimitiveData(this, viewModel.Model);
        }
        private NewPrimitiveViewModel NewPrimitiveDataToNewPrimitiveViewModel(NewPrimitive data)
        {
            NewPrimitiveViewModel result = null;

            data.MatchClass <NewCylinder>(cylinder =>
            {
                var viewModel = container.Resolve <NewCylinderViewModel>();
                viewModel.Init(cylinder);
                result = viewModel;
            });
            data.MatchClass <NewCone>(newCone =>
            {
                var viewModel = container.Resolve <NewConeViewModel>();
                viewModel.Init(newCone);
                result = viewModel;
            });
            data.MatchClass <NewSphere>(newSphere =>
            {
                var viewModel = container.Resolve <NewSphereViewModel>();
                viewModel.Init(newSphere);
                result = viewModel;
            });
            data.MatchClass <NewStraightGenCylinder>(newSgc =>
            {
                var viewModel = container.Resolve <NewSGCViewModel>();
                viewModel.Init(newSgc);
                result = viewModel;
            });
            data.MatchClass <NewBendedGenCylinder>(newBgc =>
            {
                var viewModel = container.Resolve <NewBGCViewModel>();
                viewModel.Init(newBgc);
                result = viewModel;
            });
            data.MatchClass <NewCuboid>(newCuboid =>
            {
                var viewModel = container.Resolve <NewCuboidViewModel>();
                viewModel.Init(newCuboid);
                result = viewModel;
            });
            Contract.Assume(result != null);

            result.Model = data;
            return(result);
        }
 protected Tuple <Material, Material> GetDefaultFrontAndBackMaterials(NewPrimitiveViewModel viewModel)
 {
     return(Tuple.Create(
                GetDefaultFrontMaterial(viewModel),
                GetDefaultBackMaterial()));
 }
        public void SelectPrimitive(NewPrimitiveViewModel newPrimitiveViewModel)
        {
            var primitive = newPrimitiveViewModel.Model;

            SelectPrimitive(primitive);
        }
        public void Delete(NewPrimitiveViewModel newPrimitiveViewModel)
        {
            var model = newPrimitiveViewModel.Model;

            sessionData.NewPrimitives.Remove(model);
        }