Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / ScaleTransform3D.cs / 1305600 / ScaleTransform3D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D scale transformation. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using MS.Internal; using System.ComponentModel.Design.Serialization; using System.Windows.Markup; namespace System.Windows.Media.Media3D { ////// 3D scale transform. /// public sealed partial class ScaleTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public ScaleTransform3D() {} ////// Constructor. /// public ScaleTransform3D(Vector3D scale) { ScaleX = scale.X; ScaleY = scale.Y; ScaleZ = scale.Z; } ////// Constructor. /// public ScaleTransform3D(double scaleX, double scaleY, double scaleZ) { ScaleX = scaleX; ScaleY = scaleY; ScaleZ = scaleZ; } ////// Constructor. /// public ScaleTransform3D(Vector3D scale, Point3D center) { ScaleX = scale.X; ScaleY = scale.Y; ScaleZ = scale.Z; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor. /// public ScaleTransform3D(double scaleX, double scaleY, double scaleZ, double centerX, double centerY, double centerZ) { ScaleX = scaleX; ScaleY = scaleY; ScaleZ = scaleZ; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representation of this transform. /// public override Matrix3D Value { get { ReadPreamble(); Matrix3D matrix = new Matrix3D(); Append(ref matrix); return matrix; } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { Vector3D scale = new Vector3D(_cachedScaleXValue, _cachedScaleYValue, _cachedScaleZValue); if (_cachedCenterXValue == 0.0 && _cachedCenterYValue == 0.0 && _cachedCenterZValue == 0.0) { matrix.Scale(scale); } else { matrix.ScaleAt(scale, new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D scale transformation. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using MS.Internal; using System.ComponentModel.Design.Serialization; using System.Windows.Markup; namespace System.Windows.Media.Media3D { ////// 3D scale transform. /// public sealed partial class ScaleTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public ScaleTransform3D() {} ////// Constructor. /// public ScaleTransform3D(Vector3D scale) { ScaleX = scale.X; ScaleY = scale.Y; ScaleZ = scale.Z; } ////// Constructor. /// public ScaleTransform3D(double scaleX, double scaleY, double scaleZ) { ScaleX = scaleX; ScaleY = scaleY; ScaleZ = scaleZ; } ////// Constructor. /// public ScaleTransform3D(Vector3D scale, Point3D center) { ScaleX = scale.X; ScaleY = scale.Y; ScaleZ = scale.Z; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor. /// public ScaleTransform3D(double scaleX, double scaleY, double scaleZ, double centerX, double centerY, double centerZ) { ScaleX = scaleX; ScaleY = scaleY; ScaleZ = scaleZ; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representation of this transform. /// public override Matrix3D Value { get { ReadPreamble(); Matrix3D matrix = new Matrix3D(); Append(ref matrix); return matrix; } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { Vector3D scale = new Vector3D(_cachedScaleXValue, _cachedScaleYValue, _cachedScaleZValue); if (_cachedCenterXValue == 0.0 && _cachedCenterYValue == 0.0 && _cachedCenterZValue == 0.0) { matrix.Scale(scale); } else { matrix.ScaleAt(scale, new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Win32Native.cs
- SynchronizedInputHelper.cs
- SimpleParser.cs
- DeviceSpecificDialogCachedState.cs
- UserValidatedEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- OciLobLocator.cs
- ErrorFormatterPage.cs
- TrackingServices.cs
- SecurityUniqueId.cs
- SoapException.cs
- __Filters.cs
- SimpleWebHandlerParser.cs
- RowUpdatingEventArgs.cs
- Pen.cs
- ListItem.cs
- LoginUtil.cs
- StringBuilder.cs
- SelectionManager.cs
- SmiTypedGetterSetter.cs
- ReadOnlyObservableCollection.cs
- TypeElementCollection.cs
- AdornerDecorator.cs
- HtmlInputRadioButton.cs
- CopyNodeSetAction.cs
- ConfigurationFileMap.cs
- Int16AnimationBase.cs
- NonceCache.cs
- OSFeature.cs
- DependencyPropertyDescriptor.cs
- Rotation3DAnimation.cs
- DbConnectionClosed.cs
- DrawingGroupDrawingContext.cs
- cookie.cs
- HtmlElementCollection.cs
- CollectionViewProxy.cs
- DesignerDataTableBase.cs
- DataGridAutomationPeer.cs
- FontWeightConverter.cs
- HttpListenerPrefixCollection.cs
- SettingsProperty.cs
- PixelFormats.cs
- HostDesigntimeLicenseContext.cs
- ToolboxComponentsCreatedEventArgs.cs
- FileInfo.cs
- Identifier.cs
- DBBindings.cs
- Stack.cs
- ApplicationHost.cs
- SqlDataReader.cs
- SafeWaitHandle.cs
- EncoderBestFitFallback.cs
- InkCanvasAutomationPeer.cs
- GridPatternIdentifiers.cs
- DBConnectionString.cs
- TextEditorCharacters.cs
- sitestring.cs
- RectAnimation.cs
- DataGridViewSelectedRowCollection.cs
- HotCommands.cs
- DataTemplateKey.cs
- Array.cs
- RegexGroupCollection.cs
- BitHelper.cs
- XPathNavigator.cs
- SafeCertificateStore.cs
- BitmapEffectvisualstate.cs
- SerializeAbsoluteContext.cs
- TaskHelper.cs
- SafeIUnknown.cs
- UpdateCommandGenerator.cs
- OleDbConnectionInternal.cs
- RowSpanVector.cs
- MoveSizeWinEventHandler.cs
- DebugHandleTracker.cs
- FileFormatException.cs
- RoleExceptions.cs
- DetailsViewPagerRow.cs
- ColumnMapTranslator.cs
- CurrentChangingEventArgs.cs
- ProfileModule.cs
- OutputCacheSettingsSection.cs
- SqlRecordBuffer.cs
- XmlTypeMapping.cs
- ObjectListFieldCollection.cs
- ProgramNode.cs
- NativeMethods.cs
- TreeView.cs
- DragDrop.cs
- DataGridViewRowCancelEventArgs.cs
- X509Chain.cs
- LayoutEvent.cs
- MD5CryptoServiceProvider.cs
- _DomainName.cs
- PasswordBox.cs
- GridViewItemAutomationPeer.cs
- altserialization.cs
- SortedDictionary.cs
- Propagator.JoinPropagator.cs
- MatrixAnimationBase.cs