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
- PlanCompilerUtil.cs
- TreeViewDataItemAutomationPeer.cs
- JsonEncodingStreamWrapper.cs
- XmlILConstructAnalyzer.cs
- StringPropertyBuilder.cs
- SatelliteContractVersionAttribute.cs
- DictionaryMarkupSerializer.cs
- HtmlInputImage.cs
- DoubleAnimationBase.cs
- ButtonField.cs
- TimerEventSubscription.cs
- Panel.cs
- DesignerAdRotatorAdapter.cs
- PageContentAsyncResult.cs
- ProcessStartInfo.cs
- StateRuntime.cs
- XamlVector3DCollectionSerializer.cs
- OdbcConnection.cs
- TypedTableBaseExtensions.cs
- ActivityDesignerLayoutSerializers.cs
- BindableTemplateBuilder.cs
- SqlDelegatedTransaction.cs
- DoubleLinkListEnumerator.cs
- MdiWindowListStrip.cs
- BuiltInExpr.cs
- PersonalizationStateQuery.cs
- StringResourceManager.cs
- ZoneButton.cs
- DictionaryChange.cs
- EmptyStringExpandableObjectConverter.cs
- ModulesEntry.cs
- ComboBox.cs
- AppearanceEditorPart.cs
- GPStream.cs
- HtmlInputHidden.cs
- CollectionsUtil.cs
- StylusPointDescription.cs
- PatternMatchRules.cs
- Currency.cs
- ServiceInstanceProvider.cs
- DateTimeFormatInfoScanner.cs
- EntityDataSourceDesigner.cs
- TraceHandler.cs
- DataGridViewComboBoxColumn.cs
- PropertiesTab.cs
- KeyValueConfigurationElement.cs
- MenuItem.cs
- Repeater.cs
- CipherData.cs
- TreeNode.cs
- SR.cs
- DataGridViewLinkColumn.cs
- ColorPalette.cs
- HierarchicalDataTemplate.cs
- HScrollBar.cs
- ExponentialEase.cs
- DataSourceCacheDurationConverter.cs
- CryptoKeySecurity.cs
- ValidationError.cs
- DataControlFieldHeaderCell.cs
- CounterSampleCalculator.cs
- AccessedThroughPropertyAttribute.cs
- ApplicationFileParser.cs
- ProxyManager.cs
- CodeTypeDeclaration.cs
- DetailsViewInsertEventArgs.cs
- Bezier.cs
- ThreadNeutralSemaphore.cs
- counter.cs
- ScrollProperties.cs
- ExceptionValidationRule.cs
- ImageField.cs
- AppDomain.cs
- SpAudioStreamWrapper.cs
- DataGridLinkButton.cs
- XmlTextReaderImpl.cs
- MultipleViewPattern.cs
- cache.cs
- Ray3DHitTestResult.cs
- StringValueConverter.cs
- SafeNativeMethodsOther.cs
- SqlCacheDependency.cs
- XDRSchema.cs
- LeftCellWrapper.cs
- EntityConnectionStringBuilderItem.cs
- ListViewSortEventArgs.cs
- ToolStripMenuItemCodeDomSerializer.cs
- TextFindEngine.cs
- DataStreamFromComStream.cs
- StrongNameMembershipCondition.cs
- RecordManager.cs
- TrackingRecord.cs
- AspNetSynchronizationContext.cs
- AccessText.cs
- MSG.cs
- Matrix3DConverter.cs
- ContextMenuService.cs
- XsdValidatingReader.cs
- GridViewColumnCollection.cs
- WeakReferenceEnumerator.cs