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
- SqlServer2KCompatibilityAnnotation.cs
- mediapermission.cs
- Memoizer.cs
- SoapCodeExporter.cs
- ICollection.cs
- Image.cs
- UpdateCompiler.cs
- CharacterString.cs
- ClientFormsAuthenticationCredentials.cs
- FormViewInsertedEventArgs.cs
- SweepDirectionValidation.cs
- FamilyTypeface.cs
- BindingSource.cs
- XmlDocument.cs
- ProfileService.cs
- DataGridViewColumnCollectionEditor.cs
- StatusBarDrawItemEvent.cs
- LicenseManager.cs
- SamlSerializer.cs
- ExpressionBindingCollection.cs
- SessionEndingEventArgs.cs
- TaskDesigner.cs
- StringAnimationBase.cs
- SchemaMerger.cs
- SymLanguageType.cs
- NetPeerTcpBindingCollectionElement.cs
- ReflectionHelper.cs
- TextBoxLine.cs
- SettingsAttributeDictionary.cs
- SizeAnimation.cs
- DbParameterCollectionHelper.cs
- BitmapEffectCollection.cs
- OdbcError.cs
- MultiSelectRootGridEntry.cs
- TextStore.cs
- BinaryObjectReader.cs
- OpCellTreeNode.cs
- DESCryptoServiceProvider.cs
- EventData.cs
- CssClassPropertyAttribute.cs
- TerminatorSinks.cs
- StartUpEventArgs.cs
- XmlSigningNodeWriter.cs
- DeviceContexts.cs
- DurableEnlistmentState.cs
- SendingRequestEventArgs.cs
- DataList.cs
- DataGridViewLinkColumn.cs
- XamlStream.cs
- ServiceOperationParameter.cs
- TagElement.cs
- SqlFlattener.cs
- AppSettingsExpressionEditor.cs
- UnionExpr.cs
- xmlsaver.cs
- FieldToken.cs
- log.cs
- Membership.cs
- SqlMultiplexer.cs
- ExpandCollapseIsCheckedConverter.cs
- ParameterReplacerVisitor.cs
- RectangleHotSpot.cs
- TypeLoadException.cs
- ActivityCodeDomSerializationManager.cs
- TdsValueSetter.cs
- DnsEndpointIdentity.cs
- MimeTypeAttribute.cs
- GenericIdentity.cs
- UpdateCompiler.cs
- HtmlFormWrapper.cs
- IImplicitResourceProvider.cs
- Activation.cs
- DbException.cs
- InkCanvasAutomationPeer.cs
- _OSSOCK.cs
- JavascriptXmlWriterWrapper.cs
- DataGridHelper.cs
- SystemPens.cs
- FactoryGenerator.cs
- AgileSafeNativeMemoryHandle.cs
- Roles.cs
- BamlLocalizer.cs
- HttpCacheVaryByContentEncodings.cs
- ToolStripDropDownClosingEventArgs.cs
- ListenerTraceUtility.cs
- Variant.cs
- ObjectCloneHelper.cs
- MatrixTransform.cs
- MsmqBindingElementBase.cs
- Style.cs
- StorageComplexPropertyMapping.cs
- DependencyObjectPropertyDescriptor.cs
- XamlBrushSerializer.cs
- DecimalSumAggregationOperator.cs
- _NestedSingleAsyncResult.cs
- NullableConverter.cs
- ComponentChangedEvent.cs
- SqlRowUpdatingEvent.cs
- MediaContextNotificationWindow.cs
- BindingContext.cs