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
- DataServiceException.cs
- Stackframe.cs
- ConfigurationLoaderException.cs
- ConfigurationManagerInternalFactory.cs
- Rfc2898DeriveBytes.cs
- PropertyDescriptor.cs
- FragmentQuery.cs
- ImageListStreamer.cs
- Flattener.cs
- elementinformation.cs
- FacetChecker.cs
- ServiceBuildProvider.cs
- IPipelineRuntime.cs
- DesignerTransaction.cs
- InstanceView.cs
- ellipse.cs
- MaskPropertyEditor.cs
- OrderByQueryOptionExpression.cs
- EntryWrittenEventArgs.cs
- Point4DConverter.cs
- XmlName.cs
- securitycriticaldataClass.cs
- Queue.cs
- ValueTypeFixupInfo.cs
- FacetChecker.cs
- keycontainerpermission.cs
- WmlImageAdapter.cs
- DBCSCodePageEncoding.cs
- basenumberconverter.cs
- RankException.cs
- PageCatalogPart.cs
- DbConvert.cs
- QuaternionAnimation.cs
- COM2PictureConverter.cs
- ListViewInsertionMark.cs
- SiteOfOriginContainer.cs
- XmlObjectSerializerWriteContextComplex.cs
- PerfService.cs
- BindingExpressionUncommonField.cs
- WindowsListViewScroll.cs
- ActiveXHelper.cs
- StorageConditionPropertyMapping.cs
- TextSpanModifier.cs
- BuildProvidersCompiler.cs
- SqlBuffer.cs
- QuaternionAnimation.cs
- CustomLineCap.cs
- ProtocolViolationException.cs
- SpotLight.cs
- DataPointer.cs
- brushes.cs
- EncryptedPackage.cs
- ClientConfigurationHost.cs
- StateMachineSubscriptionManager.cs
- ScriptResourceInfo.cs
- D3DImage.cs
- HttpVersion.cs
- CachedCompositeFamily.cs
- CommandDevice.cs
- BindingGroup.cs
- EventLogInternal.cs
- IconHelper.cs
- Matrix3DValueSerializer.cs
- AnonymousIdentificationSection.cs
- ImageFormatConverter.cs
- NTAccount.cs
- WebServiceMethodData.cs
- ReflectPropertyDescriptor.cs
- PageTheme.cs
- EncodingInfo.cs
- DocumentViewerAutomationPeer.cs
- Pool.cs
- FeatureSupport.cs
- ImageBrush.cs
- AmbientLight.cs
- SqlVersion.cs
- XmlAtomErrorReader.cs
- FormsAuthenticationConfiguration.cs
- Point3DCollectionConverter.cs
- SByteStorage.cs
- RepeaterItemCollection.cs
- HandlerFactoryWrapper.cs
- TextLineResult.cs
- GridItemProviderWrapper.cs
- TextEncodedRawTextWriter.cs
- VerificationAttribute.cs
- CapabilitiesUse.cs
- BindingListCollectionView.cs
- LiteralControl.cs
- ParameterElement.cs
- Function.cs
- TextParagraph.cs
- SeparatorAutomationPeer.cs
- InputEventArgs.cs
- Helper.cs
- CodeTypeDeclarationCollection.cs
- InheritedPropertyChangedEventArgs.cs
- AmbientLight.cs
- ListItem.cs
- BitConverter.cs