private void FlipElements(BasisComponent basisComponent) { if (this.ObjectSet.RepresentativeSceneNode == null) { return; } using (SceneEditTransaction editTransaction = this.ObjectSet.RepresentativeSceneNode.ViewModel.CreateEditTransaction(StringTable.UndoUnitTransformPaneReflect)) { this.ApplyRelativeTransformToElements((IEnumerable)this.ObjectSet.Objects, this.TransformProperty.Reference, (IApplyRelativeTransform) new ReflectTransform(basisComponent)); editTransaction.Commit(); } }
protected void FlipElements(BasisComponent basisComponent, string description) { SceneElementSelectionSet elementSelectionSet = this.SceneViewModel.ElementSelectionSet; PropertyReference propertyReference = (PropertyReference)null; foreach (SceneElement sceneElement in elementSelectionSet.Selection) { if (sceneElement is BaseFrameworkElement || sceneElement is StyleNode) { propertyReference = new PropertyReference((ReferenceStep)sceneElement.ProjectContext.ResolveProperty(Base2DElement.RenderTransformProperty)); break; } if (sceneElement is Base3DElement) { propertyReference = new PropertyReference((ReferenceStep)sceneElement.ProjectContext.ResolveProperty((sceneElement as Base3DElement).TransformPropertyId)); break; } } if (propertyReference == null) { return; } using (SceneEditTransaction editTransaction = this.SceneViewModel.CreateEditTransaction(description)) { foreach (SceneElement sceneElement in elementSelectionSet.Selection) { object computedValueAsWpf = sceneElement.GetComputedValueAsWpf(propertyReference); object obj = new ReflectTransform(basisComponent).ApplyRelativeTransform(computedValueAsWpf); CanonicalTransform canonicalTransform = obj as CanonicalTransform; if (canonicalTransform != (CanonicalTransform)null) { sceneElement.SetValue(propertyReference, canonicalTransform.GetPlatformTransform(sceneElement.Platform.GeometryHelper)); if (sceneElement.IsSet(Base2DElement.RenderTransformOriginProperty) == PropertyState.Unset) { sceneElement.SetValueAsWpf(Base2DElement.RenderTransformOriginProperty, (object)new Point(0.5, 0.5)); } } else { CanonicalTransform3D canonicalTransform3D = obj as CanonicalTransform3D; if (canonicalTransform3D != (CanonicalTransform3D)null) { sceneElement.SetValue(propertyReference, (object)canonicalTransform3D.ToTransform()); } } } editTransaction.Commit(); } }
public static bool ShowFunction(string userID, BasisComponent _func, params object[] paramList) { return(false); }
public ReflectTransform(BasisComponent basisComponent) { this.basisComponent = basisComponent; }