Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- DuplicateWaitObjectException.cs
- GridViewColumn.cs
- CombinedGeometry.cs
- TCPListener.cs
- ApplicationSecurityManager.cs
- PartialTrustVisibleAssembly.cs
- SQLDecimal.cs
- DataGridViewButtonCell.cs
- DataSourceXmlSerializer.cs
- DataGridViewDesigner.cs
- ConnectionStringsExpressionBuilder.cs
- DesignerDeviceConfig.cs
- PackageRelationship.cs
- RectValueSerializer.cs
- TextTreeObjectNode.cs
- SerializationIncompleteException.cs
- StringResourceManager.cs
- PriorityBinding.cs
- SerTrace.cs
- versioninfo.cs
- TextEffect.cs
- DataGridParentRows.cs
- LocatorGroup.cs
- WmlLiteralTextAdapter.cs
- PersonalizationState.cs
- elementinformation.cs
- ExecutedRoutedEventArgs.cs
- ActivityExecutorSurrogate.cs
- NamespaceCollection.cs
- XmlSchemaObjectCollection.cs
- GB18030Encoding.cs
- DataGridViewSelectedCellCollection.cs
- PropertyPath.cs
- RoleBoolean.cs
- ProcessThread.cs
- SrgsItemList.cs
- EdmPropertyAttribute.cs
- XmlCharCheckingWriter.cs
- ObjectStateManagerMetadata.cs
- ADConnectionHelper.cs
- XmlFormatExtensionPrefixAttribute.cs
- Simplifier.cs
- RoutedEventHandlerInfo.cs
- ArraySegment.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- MobileControlPersister.cs
- RichTextBoxDesigner.cs
- PropertyValueChangedEvent.cs
- RegisteredScript.cs
- COM2IDispatchConverter.cs
- SuppressMessageAttribute.cs
- Margins.cs
- TrustLevelCollection.cs
- ScriptReferenceEventArgs.cs
- DBConnection.cs
- X509Utils.cs
- WebHttpBinding.cs
- ListBoxItem.cs
- XmlIlVisitor.cs
- KoreanCalendar.cs
- TemplateControl.cs
- ToolStripItemCollection.cs
- HtmlAnchor.cs
- QueryContinueDragEvent.cs
- CryptoStream.cs
- ResolveNameEventArgs.cs
- WaitForChangedResult.cs
- UnsafeNativeMethods.cs
- StateInitializationDesigner.cs
- RtfFormatStack.cs
- Scene3D.cs
- AxisAngleRotation3D.cs
- SqlBooleanizer.cs
- RegionInfo.cs
- ObjectToIdCache.cs
- SoapHeaderException.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- RtfControls.cs
- MatrixStack.cs
- ZoomingMessageFilter.cs
- Win32KeyboardDevice.cs
- MergePropertyDescriptor.cs
- RequestCacheManager.cs
- StringSource.cs
- SchemeSettingElementCollection.cs
- UnsafeNativeMethods.cs
- ProvideValueServiceProvider.cs
- Int16KeyFrameCollection.cs
- FormsAuthenticationCredentials.cs
- CodeBlockBuilder.cs
- CmsInterop.cs
- DocComment.cs
- OutputWindow.cs
- CodeDomConfigurationHandler.cs
- SchemaMapping.cs
- MarshalByRefObject.cs
- __FastResourceComparer.cs
- ActivationArguments.cs
- SeparatorAutomationPeer.cs
- OleDbCommand.cs