Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DataIdProcessor.cs
- PointAnimationUsingKeyFrames.cs
- XmlAnyAttributeAttribute.cs
- StoreItemCollection.cs
- FrameDimension.cs
- DetailsViewInsertedEventArgs.cs
- CodeMemberMethod.cs
- FixedHyperLink.cs
- ShapeTypeface.cs
- Update.cs
- TableLayoutStyle.cs
- DelegateBodyWriter.cs
- PersonalizationStateInfo.cs
- FastEncoderWindow.cs
- IDispatchConstantAttribute.cs
- HasCopySemanticsAttribute.cs
- HttpFileCollection.cs
- EntityTypeEmitter.cs
- OdbcParameterCollection.cs
- Object.cs
- FileStream.cs
- EnvelopedPkcs7.cs
- WeakHashtable.cs
- DbReferenceCollection.cs
- PingOptions.cs
- SqlComparer.cs
- WebContext.cs
- DeflateEmulationStream.cs
- InfocardExtendedInformationCollection.cs
- ButtonColumn.cs
- DocumentGridContextMenu.cs
- ActivityBuilder.cs
- ConditionBrowserDialog.cs
- ContractInstanceProvider.cs
- XmlSchemaObjectTable.cs
- AncestorChangedEventArgs.cs
- WebServiceHostFactory.cs
- OlePropertyStructs.cs
- OpenFileDialog.cs
- ScrollViewerAutomationPeer.cs
- DataGridViewHeaderCell.cs
- MemoryPressure.cs
- Rotation3DAnimationUsingKeyFrames.cs
- MatrixTransform3D.cs
- ConfigurationProperty.cs
- FrameworkPropertyMetadata.cs
- X509CertificateValidator.cs
- UriSection.cs
- EventLogLink.cs
- DefaultShape.cs
- HttpRawResponse.cs
- SmiEventSink_DeferedProcessing.cs
- SocketException.cs
- RoleGroupCollection.cs
- Viewport3DAutomationPeer.cs
- MailAddress.cs
- InvokePattern.cs
- GeometryDrawing.cs
- InteropAutomationProvider.cs
- MouseCaptureWithinProperty.cs
- BatchStream.cs
- XmlQualifiedName.cs
- EmbeddedObject.cs
- UnmanagedMarshal.cs
- X509CertificateClaimSet.cs
- WebServiceFault.cs
- IList.cs
- MetabaseServerConfig.cs
- DbProviderFactories.cs
- DefaultCommandConverter.cs
- StrongNameKeyPair.cs
- SecureUICommand.cs
- VariableAction.cs
- OdbcRowUpdatingEvent.cs
- SemanticAnalyzer.cs
- GlobalAllocSafeHandle.cs
- AsyncDataRequest.cs
- WindowsFormsSynchronizationContext.cs
- HashFinalRequest.cs
- HttpListenerContext.cs
- UTF8Encoding.cs
- XmlUTF8TextWriter.cs
- ResourceDisplayNameAttribute.cs
- NavigateUrlConverter.cs
- shaperfactoryquerycachekey.cs
- PageThemeParser.cs
- DataSourceSerializationException.cs
- ScriptBehaviorDescriptor.cs
- PersonalizationProviderHelper.cs
- ExpressionConverter.cs
- DbFunctionCommandTree.cs
- WebPartCatalogAddVerb.cs
- SiteMapDataSourceView.cs
- OptimisticConcurrencyException.cs
- SchemaNamespaceManager.cs
- EnumerableCollectionView.cs
- ButtonChrome.cs
- WebPartConnectionsConfigureVerb.cs
- SoapIgnoreAttribute.cs
- DataGridViewColumnHeaderCell.cs