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); }
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)); } }
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)); } }