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
- FileSystemEventArgs.cs
- PieceNameHelper.cs
- HttpCapabilitiesBase.cs
- ContentDisposition.cs
- DesignerResources.cs
- DataGridCommandEventArgs.cs
- followingsibling.cs
- SoapDocumentMethodAttribute.cs
- OdbcConnectionString.cs
- Pair.cs
- ColorDialog.cs
- BindingOperations.cs
- Drawing.cs
- COM2PropertyPageUITypeConverter.cs
- BehaviorEditorPart.cs
- FileDialogCustomPlaces.cs
- Pointer.cs
- Fx.cs
- GraphicsPath.cs
- Token.cs
- RenderContext.cs
- DataSourceCacheDurationConverter.cs
- COM2ExtendedTypeConverter.cs
- StrokeCollection2.cs
- EpmCustomContentWriterNodeData.cs
- AssemblyCollection.cs
- TimeZoneInfo.cs
- Hex.cs
- HttpDebugHandler.cs
- WithStatement.cs
- XmlSchemaAttribute.cs
- CheckStoreFileValidityRequest.cs
- XmlSchemaType.cs
- ProfessionalColors.cs
- Command.cs
- ProfilePropertyNameValidator.cs
- ContentOperations.cs
- ListBoxItem.cs
- ImageCollectionCodeDomSerializer.cs
- SimpleRecyclingCache.cs
- InternalControlCollection.cs
- EditorZone.cs
- XmlEncodedRawTextWriter.cs
- ImageConverter.cs
- FederatedMessageSecurityOverHttp.cs
- PeerSecurityHelpers.cs
- ToolStripRenderEventArgs.cs
- CharUnicodeInfo.cs
- CqlParser.cs
- DataKeyArray.cs
- TextCharacters.cs
- TextHidden.cs
- AuthenticationServiceManager.cs
- InteropBitmapSource.cs
- PersistChildrenAttribute.cs
- ApplicationInfo.cs
- DecimalConverter.cs
- SqlXmlStorage.cs
- GroupBox.cs
- LogicalTreeHelper.cs
- SendActivityDesignerTheme.cs
- _Win32.cs
- WmlValidationSummaryAdapter.cs
- XmlSchemaInfo.cs
- GroupBoxRenderer.cs
- SystemIPv6InterfaceProperties.cs
- SymbolType.cs
- ObjectDataSourceMethodEventArgs.cs
- ViewStateModeByIdAttribute.cs
- DocumentXmlWriter.cs
- MsmqTransportBindingElement.cs
- CodeAccessSecurityEngine.cs
- ResolveResponse.cs
- SuppressIldasmAttribute.cs
- AsyncPostBackTrigger.cs
- SoapObjectInfo.cs
- X509ClientCertificateAuthenticationElement.cs
- BitmapMetadataEnumerator.cs
- AliasExpr.cs
- SqlClientWrapperSmiStream.cs
- RijndaelManagedTransform.cs
- FixedDSBuilder.cs
- AuthenticatedStream.cs
- StoreUtilities.cs
- XmlILAnnotation.cs
- FontSourceCollection.cs
- KnownIds.cs
- DoubleKeyFrameCollection.cs
- StorageAssociationTypeMapping.cs
- UserControl.cs
- LogicalTreeHelper.cs
- SmiRequestExecutor.cs
- SubpageParaClient.cs
- _LoggingObject.cs
- CodeTypeDelegate.cs
- LicenseManager.cs
- TextTreeTextNode.cs
- BatchParser.cs
- BrowserDefinitionCollection.cs
- ToolStrip.cs