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
- _NativeSSPI.cs
- HiddenField.cs
- Int32AnimationUsingKeyFrames.cs
- DataMisalignedException.cs
- KeyboardNavigation.cs
- MenuItemBinding.cs
- XmlnsCompatibleWithAttribute.cs
- cookieexception.cs
- SafeNativeMethods.cs
- DefaultIfEmptyQueryOperator.cs
- ByteStreamGeometryContext.cs
- NavigationProperty.cs
- MostlySingletonList.cs
- OleDbMetaDataFactory.cs
- ImageListStreamer.cs
- Util.cs
- ToolStripManager.cs
- XmlNodeList.cs
- HiddenFieldPageStatePersister.cs
- WorkflowFileItem.cs
- FixedPage.cs
- TextTreeExtractElementUndoUnit.cs
- CursorInteropHelper.cs
- ResourcesGenerator.cs
- EnumBuilder.cs
- RequestCache.cs
- HttpStaticObjectsCollectionWrapper.cs
- WebPartDescription.cs
- ListControl.cs
- SoapReflectionImporter.cs
- EncodingNLS.cs
- ColorAnimationBase.cs
- CodeAttachEventStatement.cs
- TokenizerHelper.cs
- XmlEncoding.cs
- SiteMapHierarchicalDataSourceView.cs
- hresults.cs
- DrawingAttributes.cs
- FeatureManager.cs
- CopyNodeSetAction.cs
- OdbcErrorCollection.cs
- ExpandedWrapper.cs
- TypedReference.cs
- ETagAttribute.cs
- WmlSelectionListAdapter.cs
- CompilerErrorCollection.cs
- TypeElement.cs
- FontConverter.cs
- BitFlagsGenerator.cs
- DataGridViewCellEventArgs.cs
- LoginView.cs
- Pool.cs
- DllNotFoundException.cs
- SizeAnimationUsingKeyFrames.cs
- Grammar.cs
- RadioButtonRenderer.cs
- GridProviderWrapper.cs
- HttpCapabilitiesBase.cs
- CatalogPartCollection.cs
- AggregateNode.cs
- SymmetricAlgorithm.cs
- PersonalizationProviderCollection.cs
- Stopwatch.cs
- DynamicILGenerator.cs
- base64Transforms.cs
- DBCSCodePageEncoding.cs
- Memoizer.cs
- EFDataModelProvider.cs
- XmlSchemaSequence.cs
- CookielessHelper.cs
- AnimationTimeline.cs
- FilteredReadOnlyMetadataCollection.cs
- EdmTypeAttribute.cs
- ProxyDataContractResolver.cs
- util.cs
- ZipIOCentralDirectoryFileHeader.cs
- Permission.cs
- SqlConnectionFactory.cs
- TypeBuilder.cs
- TextParentUndoUnit.cs
- XmlSchemaObjectCollection.cs
- VisualStateChangedEventArgs.cs
- WebPartConnectionsEventArgs.cs
- GCHandleCookieTable.cs
- SizeChangedEventArgs.cs
- Quaternion.cs
- DataGridViewCellFormattingEventArgs.cs
- AttributeCollection.cs
- DoubleUtil.cs
- GlyphRun.cs
- MemberPathMap.cs
- IOThreadTimer.cs
- CharKeyFrameCollection.cs
- XmlUnspecifiedAttribute.cs
- SafeReadContext.cs
- PermissionListSet.cs
- RegexCaptureCollection.cs
- RowVisual.cs
- Highlights.cs
- Matrix.cs