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
- StrongNameUtility.cs
- MessageCredentialType.cs
- ContainerUtilities.cs
- TaiwanLunisolarCalendar.cs
- CheckBoxPopupAdapter.cs
- ClientApiGenerator.cs
- ArglessEventHandlerProxy.cs
- SafeMarshalContext.cs
- NavigationService.cs
- _AutoWebProxyScriptEngine.cs
- InternalUserCancelledException.cs
- CodeSnippetExpression.cs
- VectorConverter.cs
- FragmentQuery.cs
- Proxy.cs
- HttpListenerResponse.cs
- WebPartZone.cs
- UnsafeNativeMethodsPenimc.cs
- DeferredReference.cs
- SamlSubject.cs
- Object.cs
- cookiecontainer.cs
- TrackingDataItem.cs
- cryptoapiTransform.cs
- ChangeBlockUndoRecord.cs
- DataGridTextBox.cs
- CodeTryCatchFinallyStatement.cs
- TextPattern.cs
- ContextMenuStrip.cs
- PointAnimation.cs
- X509Certificate2.cs
- RemotingHelper.cs
- AppDomainFactory.cs
- RemoteWebConfigurationHostStream.cs
- SchemaManager.cs
- OdbcPermission.cs
- DefaultAsyncDataDispatcher.cs
- AuthStoreRoleProvider.cs
- DataGridrowEditEndingEventArgs.cs
- CodeEntryPointMethod.cs
- ProfileModule.cs
- _SslState.cs
- ToolStripSeparatorRenderEventArgs.cs
- SqlWriter.cs
- Matrix3D.cs
- WorkflowApplication.cs
- BitHelper.cs
- EntityCommandDefinition.cs
- MemberRelationshipService.cs
- RegexRunner.cs
- Validator.cs
- ComponentConverter.cs
- AffineTransform3D.cs
- TreeSet.cs
- CharAnimationUsingKeyFrames.cs
- BoundColumn.cs
- DnsPermission.cs
- StreamUpdate.cs
- ToolZone.cs
- DataColumnMapping.cs
- ResourceReader.cs
- SpellerInterop.cs
- BatchWriter.cs
- ControlUtil.cs
- Win32.cs
- ManifestResourceInfo.cs
- DefaultSerializationProviderAttribute.cs
- HostProtectionException.cs
- MonthCalendar.cs
- StringUtil.cs
- StructuredProperty.cs
- TypeSystem.cs
- ColumnWidthChangedEvent.cs
- TextWriterEngine.cs
- DocumentXmlWriter.cs
- StickyNote.cs
- WindowsScrollBarBits.cs
- XPathAxisIterator.cs
- WindowsScrollBarBits.cs
- ErrorWebPart.cs
- WindowProviderWrapper.cs
- CodeVariableReferenceExpression.cs
- TileModeValidation.cs
- TreeNodeBindingCollection.cs
- FontSourceCollection.cs
- OracleBFile.cs
- CredentialCache.cs
- ReachSerializationCacheItems.cs
- UnsafeNativeMethods.cs
- TouchesOverProperty.cs
- controlskin.cs
- ParsedAttributeCollection.cs
- BinHexEncoder.cs
- MenuCommands.cs
- ProfileModule.cs
- PopupEventArgs.cs
- HttpApplication.cs
- TraceSection.cs
- CollectionAdapters.cs
- xmlfixedPageInfo.cs