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
- ColorInterpolationModeValidation.cs
- ConnectionPoolManager.cs
- querybuilder.cs
- DataRecordObjectView.cs
- OpenTypeCommon.cs
- RelatedEnd.cs
- OleDbSchemaGuid.cs
- LocalFileSettingsProvider.cs
- ObjectSecurity.cs
- ObsoleteAttribute.cs
- BitmapEffectGroup.cs
- DbProviderFactory.cs
- SslStream.cs
- InvalidDataException.cs
- LoginName.cs
- ModifierKeysConverter.cs
- OdbcInfoMessageEvent.cs
- ListItemCollection.cs
- FileDetails.cs
- TraceInternal.cs
- UniqueID.cs
- DataGridViewColumnStateChangedEventArgs.cs
- FormsAuthentication.cs
- DataKey.cs
- RawStylusActions.cs
- DateTimePickerDesigner.cs
- XamlSerializerUtil.cs
- RequestTimeoutManager.cs
- OleDbDataReader.cs
- ConstrainedDataObject.cs
- DispatcherObject.cs
- SqlCachedBuffer.cs
- LineGeometry.cs
- altserialization.cs
- PopOutPanel.cs
- HighContrastHelper.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- GetPageNumberCompletedEventArgs.cs
- BooleanToVisibilityConverter.cs
- EventDescriptorCollection.cs
- WorkflowTransactionOptions.cs
- FloaterParagraph.cs
- Transactions.cs
- OdbcConnectionOpen.cs
- Thread.cs
- ToolboxDataAttribute.cs
- XamlBuildTaskServices.cs
- InfiniteIntConverter.cs
- InstalledFontCollection.cs
- DebugView.cs
- FileSecurity.cs
- SplineKeyFrames.cs
- InputElement.cs
- InstanceData.cs
- TypeSystem.cs
- BasicBrowserDialog.cs
- UnsafeNativeMethods.cs
- TextEmbeddedObject.cs
- EventSetterHandlerConverter.cs
- XhtmlCssHandler.cs
- XmlEnumAttribute.cs
- ListSortDescriptionCollection.cs
- DelegatingHeader.cs
- GetPageCompletedEventArgs.cs
- RevocationPoint.cs
- CodeTypeParameterCollection.cs
- GifBitmapEncoder.cs
- SemanticAnalyzer.cs
- LinkConverter.cs
- dbdatarecord.cs
- String.cs
- XmlCollation.cs
- CompilerState.cs
- SafeLibraryHandle.cs
- StringReader.cs
- StringBlob.cs
- ParameterReplacerVisitor.cs
- EntityStoreSchemaGenerator.cs
- FontUnit.cs
- basecomparevalidator.cs
- UiaCoreApi.cs
- ImageCodecInfoPrivate.cs
- StrokeNodeData.cs
- FileLevelControlBuilderAttribute.cs
- LineBreak.cs
- UrlAuthFailedErrorFormatter.cs
- ToolStripContextMenu.cs
- ExecutionEngineException.cs
- Collection.cs
- BinaryFormatter.cs
- DbParameterCollection.cs
- ManagementOperationWatcher.cs
- ArrayElementGridEntry.cs
- BinaryQueryOperator.cs
- QilStrConcat.cs
- BrowserCapabilitiesCompiler.cs
- VersionConverter.cs
- NotCondition.cs
- Table.cs
- HyperLinkStyle.cs