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
- EntitySqlQueryState.cs
- DataStorage.cs
- RegexFCD.cs
- Lasso.cs
- WsdlImporterElement.cs
- SelectionRangeConverter.cs
- Stacktrace.cs
- _UriSyntax.cs
- _ChunkParse.cs
- HttpResponseInternalWrapper.cs
- HttpGetServerProtocol.cs
- SqlProviderManifest.cs
- CustomAttributeBuilder.cs
- PageFunction.cs
- FixedPageProcessor.cs
- TextRangeAdaptor.cs
- TaskHelper.cs
- XmlCharCheckingWriter.cs
- AutoResizedEvent.cs
- DeferredTextReference.cs
- UIElement3D.cs
- EntityConnectionStringBuilder.cs
- SessionPageStateSection.cs
- ToolboxSnapDragDropEventArgs.cs
- UnsafeNativeMethods.cs
- SiteMapNodeCollection.cs
- StandardBindingImporter.cs
- HttpListenerResponse.cs
- SystemIPGlobalStatistics.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- MessageProtectionOrder.cs
- MimeMultiPart.cs
- PaperSource.cs
- WebBrowserHelper.cs
- Rect3DConverter.cs
- RuntimeHandles.cs
- StackOverflowException.cs
- ContextStack.cs
- StorageFunctionMapping.cs
- HtmlInputCheckBox.cs
- Int32Rect.cs
- OleDbDataAdapter.cs
- TypeBuilder.cs
- ListViewEditEventArgs.cs
- EventLogPermission.cs
- AppDomainInfo.cs
- InputScope.cs
- XpsSerializerFactory.cs
- CodeMemberProperty.cs
- MutexSecurity.cs
- XmlCollation.cs
- LineVisual.cs
- XmlILConstructAnalyzer.cs
- WindowsAuthenticationEventArgs.cs
- PropertyValueChangedEvent.cs
- StoragePropertyMapping.cs
- ComplexObject.cs
- TokenCreationParameter.cs
- PolygonHotSpot.cs
- ELinqQueryState.cs
- SchemaMapping.cs
- HTMLTagNameToTypeMapper.cs
- WeakReferenceEnumerator.cs
- XmlNode.cs
- _ScatterGatherBuffers.cs
- oledbmetadatacolumnnames.cs
- ParseChildrenAsPropertiesAttribute.cs
- Preprocessor.cs
- CodeConditionStatement.cs
- SizeIndependentAnimationStorage.cs
- Table.cs
- Property.cs
- TypeContext.cs
- SevenBitStream.cs
- TerminatingOperationBehavior.cs
- SQLDecimal.cs
- Bitmap.cs
- TreeView.cs
- PropertyGroupDescription.cs
- FixedStringLookup.cs
- ProviderUtil.cs
- ExternalFile.cs
- LocalizabilityAttribute.cs
- Sorting.cs
- ReliableSession.cs
- DnsPermission.cs
- QilStrConcat.cs
- DataRowCollection.cs
- ErrorRuntimeConfig.cs
- RegistryExceptionHelper.cs
- FixedPageProcessor.cs
- TextInfo.cs
- HtmlElementEventArgs.cs
- BitmapEffectInput.cs
- WebPartTracker.cs
- EncodingTable.cs
- EdmMember.cs
- XamlWriter.cs
- TreePrinter.cs
- CoreSwitches.cs