Exemplo n.º 1
0
        private MeshElement3D _Lier([NotNull] MeshElement3D forme, [NotNull] FormeWrapper source)
        {
            var fill = new Binding($"{ nameof(source.Materiau) }.{ nameof(source.Materiau.Fill) }")
            {
                Source = source, Mode = BindingMode.OneWay
            };
            var transform = new MultiBinding()
            {
                Converter = TransformConverter, Mode = BindingMode.TwoWay
            };

            transform.Bindings.AddRange(new Binding[]
            {
                new Binding(nameof(source.Origine))
                {
                    Source = source, Mode = BindingMode.TwoWay
                },
                new Binding(nameof(source.Rotation))
                {
                    Source = source, Mode = BindingMode.TwoWay
                }
            });

            BindingOperations.SetBinding(forme, MeshElement3D.TransformProperty, transform);
            BindingOperations.SetBinding(forme, MeshElement3D.FillProperty, fill);

            return(forme);
        }
Exemplo n.º 2
0
        public MeshElement3D Lier([NotNull] MeshElement3D forme, [NotNull] FormeWrapper source)
        {
            switch (forme)
            {
            case TruncatedConeVisual3D cone:
                return(Lier(cone, (ConeWrapper)source));

            case CylinderVisual3D cylinder:
                return(Lier(cylinder, (CylindreWrapper)source));

            case EllipsoidVisual3D ellipsoide:
                return(Lier(ellipsoide, (EllipsoideWrapper)source));

            case BoxVisual3D prisme:
                return(Lier(prisme, (PrismeRectangulaireWrapper)source));

            default:
                throw new ArgumentException(Resources.UnknownChild(nameof(MeshElement3D)), nameof(forme));
            }
        }
Exemplo n.º 3
0
        public MeshElement3D Convertir([NotNull] FormeWrapper forme)
        {
            switch (forme)
            {
            case ConeWrapper cone:
                return(Convertir(cone));

            case CylindreWrapper cylindre:
                return(Convertir(cylindre));

            case EllipsoideWrapper ellipsoide:
                return(Convertir(ellipsoide));

            case PrismeRectangulaireWrapper prisme:
                return(Convertir(prisme));

            default:
                throw new ArgumentException(Resources.UnknownChild(nameof(FormeWrapper)), nameof(forme));
            }
        }