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
- CellRelation.cs
- CompensableActivity.cs
- XPathMessageFilterElement.cs
- DataGridViewAdvancedBorderStyle.cs
- PropertyChangingEventArgs.cs
- KnownTypesHelper.cs
- DynamicMetaObjectBinder.cs
- Baml2006ReaderContext.cs
- MissingMethodException.cs
- Decimal.cs
- WinFormsComponentEditor.cs
- Exceptions.cs
- FormView.cs
- SvcMapFileSerializer.cs
- WorkflowPrinting.cs
- ExceptQueryOperator.cs
- DebugView.cs
- ListBox.cs
- PanelDesigner.cs
- CollectionBase.cs
- HierarchicalDataBoundControlAdapter.cs
- ContextToken.cs
- ACL.cs
- TaskDesigner.cs
- LinqDataSourceStatusEventArgs.cs
- EventSinkHelperWriter.cs
- Emitter.cs
- HttpListenerException.cs
- StylusButton.cs
- DrawListViewSubItemEventArgs.cs
- HttpValueCollection.cs
- MbpInfo.cs
- MachineKeySection.cs
- TextElementEditingBehaviorAttribute.cs
- DBCSCodePageEncoding.cs
- DuplexSecurityProtocolFactory.cs
- OutgoingWebResponseContext.cs
- Events.cs
- ListViewItemEventArgs.cs
- ForEachAction.cs
- XmlSchemaSimpleTypeUnion.cs
- HtmlTableCellCollection.cs
- SortableBindingList.cs
- DoubleLinkList.cs
- MetadataArtifactLoaderResource.cs
- XmlHierarchicalDataSourceView.cs
- ObjectDataSource.cs
- MobileTextWriter.cs
- Polygon.cs
- Pair.cs
- CustomError.cs
- TablePattern.cs
- DateTimeOffset.cs
- Label.cs
- AttachInfo.cs
- AutoCompleteStringCollection.cs
- HttpApplicationFactory.cs
- NegotiateStream.cs
- NumericPagerField.cs
- WindowsListViewItem.cs
- WindowsAltTab.cs
- MessageEnumerator.cs
- RequiredAttributeAttribute.cs
- WebPartEditorCancelVerb.cs
- BoundField.cs
- PictureBox.cs
- ToolbarAUtomationPeer.cs
- SqlDataSourceCustomCommandEditor.cs
- ValueOfAction.cs
- QueryUtil.cs
- RtType.cs
- CompilationPass2TaskInternal.cs
- SecurityTokenParametersEnumerable.cs
- XmlUtil.cs
- ProfileGroupSettingsCollection.cs
- DataControlPagerLinkButton.cs
- ChangesetResponse.cs
- PublisherIdentityPermission.cs
- PerformanceCounterPermissionEntry.cs
- SmiEventSink_DeferedProcessing.cs
- SizeAnimationUsingKeyFrames.cs
- CommandDevice.cs
- DataServiceStreamResponse.cs
- ListViewDeleteEventArgs.cs
- TagMapInfo.cs
- DelegatingConfigHost.cs
- XmlSchemaImport.cs
- ConnectionManagementElement.cs
- BlurEffect.cs
- BinaryObjectReader.cs
- DefaultProfileManager.cs
- DataSetMappper.cs
- OleDbCommand.cs
- MetadataArtifactLoaderCompositeFile.cs
- WriteFileContext.cs
- TileModeValidation.cs
- PasswordBoxAutomationPeer.cs
- LinearKeyFrames.cs
- CounterSetInstanceCounterDataSet.cs
- ThreadExceptionEvent.cs