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
- SendingRequestEventArgs.cs
- CustomValidator.cs
- RegisteredExpandoAttribute.cs
- WindowsStartMenu.cs
- GridErrorDlg.cs
- FragmentQueryProcessor.cs
- SqlDataSourceParameterParser.cs
- TemplatePropertyEntry.cs
- XmlElementList.cs
- EntityRecordInfo.cs
- DataGridViewTextBoxEditingControl.cs
- StyleCollection.cs
- Semaphore.cs
- SoapEnumAttribute.cs
- SqlDataSourceQueryConverter.cs
- bidPrivateBase.cs
- SurrogateEncoder.cs
- ProfileService.cs
- ValidatorCompatibilityHelper.cs
- RuleElement.cs
- Application.cs
- NameValuePair.cs
- UIElement3D.cs
- PassportAuthenticationEventArgs.cs
- EventsTab.cs
- QueryCacheEntry.cs
- TraceHandlerErrorFormatter.cs
- TreeViewCancelEvent.cs
- ZoneButton.cs
- AliasExpr.cs
- MbpInfo.cs
- RadioButtonList.cs
- XmlStreamStore.cs
- _DigestClient.cs
- AutomationIdentifierGuids.cs
- Bidi.cs
- SourceSwitch.cs
- HttpConfigurationContext.cs
- HttpApplication.cs
- XslAst.cs
- SoapExtensionImporter.cs
- BaseUriHelper.cs
- AtlasWeb.Designer.cs
- NestedContainer.cs
- CodeExpressionRuleDeclaration.cs
- SqlConnectionHelper.cs
- SecurityElement.cs
- UpdateManifestForBrowserApplication.cs
- GlyphingCache.cs
- ScalarConstant.cs
- ScrollProviderWrapper.cs
- WsdlParser.cs
- FormatConvertedBitmap.cs
- CompiledRegexRunner.cs
- NestedContainer.cs
- ButtonPopupAdapter.cs
- ResourceLoader.cs
- CodeTypeDeclaration.cs
- SecurityTokenReferenceStyle.cs
- SQLChars.cs
- GPPOINTF.cs
- EventManager.cs
- DataViewSettingCollection.cs
- CommonXSendMessage.cs
- ResolvedKeyFrameEntry.cs
- RemotingServices.cs
- safePerfProviderHandle.cs
- MailMessageEventArgs.cs
- RulePatternOps.cs
- EntityDataSourceContextCreatingEventArgs.cs
- ReservationCollection.cs
- PreviewPageInfo.cs
- EventSinkHelperWriter.cs
- ActivationArguments.cs
- TypeSystem.cs
- MetaData.cs
- XmlQualifiedName.cs
- XmlMtomReader.cs
- SBCSCodePageEncoding.cs
- WindowsIdentity.cs
- AttachmentService.cs
- CopyNodeSetAction.cs
- SQLDouble.cs
- PropVariant.cs
- SqlNotificationEventArgs.cs
- SelectionEditor.cs
- KnowledgeBase.cs
- SplitterEvent.cs
- BadImageFormatException.cs
- DoWorkEventArgs.cs
- EntityContainerAssociationSetEnd.cs
- KoreanLunisolarCalendar.cs
- DiscoveryClientDocuments.cs
- SoapClientProtocol.cs
- nulltextcontainer.cs
- UserPreferenceChangingEventArgs.cs
- ItemDragEvent.cs
- WorkflowApplication.cs
- DynamicAttribute.cs
- SystemFonts.cs