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
- DataAdapter.cs
- MediaEntryAttribute.cs
- HandlerBase.cs
- FailedToStartupUIException.cs
- MouseEvent.cs
- WindowPattern.cs
- PassportAuthenticationModule.cs
- XmlnsDictionary.cs
- TagMapCollection.cs
- CompilerGlobalScopeAttribute.cs
- Brush.cs
- TransformDescriptor.cs
- EncodingDataItem.cs
- XmlSchemaSimpleContent.cs
- WebServiceResponseDesigner.cs
- securitycriticaldataformultiplegetandset.cs
- XPathDescendantIterator.cs
- EncryptedData.cs
- WindowsProgressbar.cs
- ToolStripRendererSwitcher.cs
- WebPartEditorCancelVerb.cs
- XmlEnumAttribute.cs
- indexingfiltermarshaler.cs
- XmlAttributeCollection.cs
- SmiRecordBuffer.cs
- DataKeyArray.cs
- TableParagraph.cs
- NotSupportedException.cs
- SourceElementsCollection.cs
- DragEventArgs.cs
- CodePrimitiveExpression.cs
- BaseAppDomainProtocolHandler.cs
- TextParagraphProperties.cs
- Decorator.cs
- SatelliteContractVersionAttribute.cs
- Bitmap.cs
- DockPatternIdentifiers.cs
- GreenMethods.cs
- ImageAutomationPeer.cs
- Bezier.cs
- RtfToken.cs
- InvalidOperationException.cs
- DBConnection.cs
- RbTree.cs
- SelectionItemProviderWrapper.cs
- TreeViewDesigner.cs
- ServiceObjectContainer.cs
- StateValidator.cs
- _HTTPDateParse.cs
- ConfigurationElement.cs
- ReadOnlyObservableCollection.cs
- NavigatingCancelEventArgs.cs
- SmiEventSink_DeferedProcessing.cs
- XMLDiffLoader.cs
- EncodingTable.cs
- ToolTip.cs
- JoinGraph.cs
- ReadContentAsBinaryHelper.cs
- SoapExtensionImporter.cs
- XmlStringTable.cs
- TabPageDesigner.cs
- WindowsSlider.cs
- PropertyDescriptorGridEntry.cs
- XamlStyleSerializer.cs
- EntityDataReader.cs
- EnumValidator.cs
- HttpCookieCollection.cs
- SQLString.cs
- BuiltInExpr.cs
- DataService.cs
- SharedPersonalizationStateInfo.cs
- InternalMappingException.cs
- Journaling.cs
- TypeNameHelper.cs
- GridViewCommandEventArgs.cs
- ObjectStateManagerMetadata.cs
- AssemblyInfo.cs
- DataTableClearEvent.cs
- UmAlQuraCalendar.cs
- AnnotationComponentChooser.cs
- Polyline.cs
- MenuItemCollection.cs
- WaitHandle.cs
- FormViewUpdateEventArgs.cs
- ParameterModifier.cs
- X509RecipientCertificateServiceElement.cs
- HttpCapabilitiesBase.cs
- ReadOnlyAttribute.cs
- DrawListViewItemEventArgs.cs
- BufferBuilder.cs
- SafeArrayRankMismatchException.cs
- SubclassTypeValidatorAttribute.cs
- SqlMethodAttribute.cs
- DuplexClientBase.cs
- AutomationTextAttribute.cs
- ServiceDescriptionReflector.cs
- TaskExtensions.cs
- ProjectionCamera.cs
- QilXmlWriter.cs
- DataGridViewColumn.cs