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
- PriorityChain.cs
- CodeTypeOfExpression.cs
- SHA256.cs
- SectionRecord.cs
- TypeDependencyAttribute.cs
- AssemblyBuilderData.cs
- linebase.cs
- ViewManager.cs
- InfocardChannelParameter.cs
- Fx.cs
- SqlTriggerContext.cs
- ByteAnimationUsingKeyFrames.cs
- ToolTipService.cs
- XmlSchemaSet.cs
- FacetValueContainer.cs
- ExceptionRoutedEventArgs.cs
- Avt.cs
- SettingsAttributes.cs
- WindowsEditBox.cs
- InstanceData.cs
- RemotingClientProxy.cs
- DrawingDrawingContext.cs
- TabPanel.cs
- PolicyLevel.cs
- EventProviderBase.cs
- StateDesigner.Helpers.cs
- Range.cs
- ScrollBar.cs
- FontFamily.cs
- WebPartHelpVerb.cs
- MeasureData.cs
- DriveNotFoundException.cs
- SessionStateModule.cs
- DBDataPermissionAttribute.cs
- SrgsDocument.cs
- CultureInfoConverter.cs
- SpanIndex.cs
- MetaData.cs
- WorkflowMarkupElementEventArgs.cs
- QueryOptionExpression.cs
- HtmlToClrEventProxy.cs
- Line.cs
- PathFigureCollectionConverter.cs
- WebPartConnectVerb.cs
- PingReply.cs
- AutoGeneratedFieldProperties.cs
- DropShadowEffect.cs
- GeneralTransform3DTo2D.cs
- BeginCreateSecurityTokenRequest.cs
- QilChoice.cs
- TailPinnedEventArgs.cs
- SafeProcessHandle.cs
- RbTree.cs
- TransformerInfoCollection.cs
- FloatSumAggregationOperator.cs
- IisTraceWebEventProvider.cs
- KeyboardEventArgs.cs
- itemelement.cs
- MessageHeaderInfoTraceRecord.cs
- RegisteredScript.cs
- Walker.cs
- FlagsAttribute.cs
- ConfigurationLocation.cs
- EventWaitHandle.cs
- SymbolType.cs
- DataException.cs
- AutoCompleteStringCollection.cs
- EventManager.cs
- EventSinkHelperWriter.cs
- DecimalKeyFrameCollection.cs
- XmlNode.cs
- panel.cs
- QilSortKey.cs
- Native.cs
- TextAdaptor.cs
- BindingContext.cs
- DataGridViewAutoSizeModeEventArgs.cs
- AssemblyCache.cs
- StrongNameUtility.cs
- PreProcessInputEventArgs.cs
- VSWCFServiceContractGenerator.cs
- StringAnimationUsingKeyFrames.cs
- HighContrastHelper.cs
- PropertyDescriptorComparer.cs
- RolePrincipal.cs
- MethodBuilder.cs
- LabelDesigner.cs
- TreeNodeCollection.cs
- KeyedHashAlgorithm.cs
- AccessedThroughPropertyAttribute.cs
- WebPartActionVerb.cs
- ExpressionVisitor.cs
- EncodingFallbackAwareXmlTextWriter.cs
- ServicePointManagerElement.cs
- DetailsViewUpdatedEventArgs.cs
- SessionEndedEventArgs.cs
- MatrixStack.cs
- ContainerVisual.cs
- FilterQuery.cs
- ManifestResourceInfo.cs