Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media3D / ScaleTransform3D.cs / 1 / 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
- MutexSecurity.cs
- UnmanagedBitmapWrapper.cs
- ToggleButtonAutomationPeer.cs
- ArraySegment.cs
- FieldToken.cs
- NativeMethods.cs
- XmlQueryOutput.cs
- CorruptingExceptionCommon.cs
- CheckStoreFileValidityRequest.cs
- ToolStripArrowRenderEventArgs.cs
- Camera.cs
- RemoteCryptoDecryptRequest.cs
- SmtpFailedRecipientsException.cs
- SimpleExpression.cs
- DBDataPermission.cs
- HierarchicalDataBoundControlAdapter.cs
- HwndHost.cs
- TraceListeners.cs
- EditCommandColumn.cs
- AutomationElement.cs
- DataGridToolTip.cs
- SpecialFolderEnumConverter.cs
- BulletDecorator.cs
- HwndSource.cs
- RegexWorker.cs
- ArgumentOutOfRangeException.cs
- Matrix3DValueSerializer.cs
- TextMetrics.cs
- FileDialogPermission.cs
- Size.cs
- HtmlTableRow.cs
- Timeline.cs
- TextLineResult.cs
- CloudCollection.cs
- GeneralEndpointIdentity.cs
- LinqDataView.cs
- DbMetaDataCollectionNames.cs
- AuthenticationException.cs
- GridEntryCollection.cs
- WindowsSecurityTokenAuthenticator.cs
- OdbcHandle.cs
- LayoutEvent.cs
- ContextMenu.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SimpleBitVector32.cs
- IconBitmapDecoder.cs
- PageContentCollection.cs
- RijndaelManaged.cs
- WindowsFormsHost.cs
- DataGridViewCheckBoxCell.cs
- Sql8ConformanceChecker.cs
- PointCollection.cs
- TableLayoutStyle.cs
- Tile.cs
- TreeChangeInfo.cs
- SqlCachedBuffer.cs
- HtmlSelectionListAdapter.cs
- SerializationHelper.cs
- JsonEnumDataContract.cs
- IfElseDesigner.xaml.cs
- Rijndael.cs
- DataControlPagerLinkButton.cs
- StringArrayConverter.cs
- DoubleCollectionConverter.cs
- MediaSystem.cs
- CodeMemberEvent.cs
- EntityDataSource.cs
- XhtmlBasicValidationSummaryAdapter.cs
- HttpCachePolicy.cs
- WinInet.cs
- SafeMarshalContext.cs
- cookiecollection.cs
- MailWebEventProvider.cs
- CryptoApi.cs
- RectValueSerializer.cs
- SystemColorTracker.cs
- DataRow.cs
- HMACSHA1.cs
- MessageProperties.cs
- dataobject.cs
- RawStylusInput.cs
- BrowserCapabilitiesFactoryBase.cs
- TransformerConfigurationWizardBase.cs
- Formatter.cs
- SortDescriptionCollection.cs
- BindingEntityInfo.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Separator.cs
- DayRenderEvent.cs
- Delegate.cs
- SqlCommandSet.cs
- ObjectTypeMapping.cs
- TextElementEditingBehaviorAttribute.cs
- OracleDataAdapter.cs
- Tuple.cs
- ImageCodecInfo.cs
- UpDownEvent.cs
- StatusStrip.cs
- WeakReadOnlyCollection.cs
- OneToOneMappingSerializer.cs