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
- DataGridHeaderBorder.cs
- ObjectQueryExecutionPlan.cs
- XamlReaderConstants.cs
- PropertyTab.cs
- MetaChildrenColumn.cs
- SelectedDatesCollection.cs
- ThrowHelper.cs
- TemplateControlCodeDomTreeGenerator.cs
- AsynchronousChannelMergeEnumerator.cs
- StoreAnnotationsMap.cs
- DataGridViewComboBoxCell.cs
- RoleManagerModule.cs
- OptimalTextSource.cs
- ALinqExpressionVisitor.cs
- SafeLocalAllocation.cs
- AsyncOperationManager.cs
- ConstantCheck.cs
- WebControlsSection.cs
- PolyBezierSegmentFigureLogic.cs
- FilteredXmlReader.cs
- AttachedAnnotationChangedEventArgs.cs
- ByteAnimationUsingKeyFrames.cs
- WorkflowOwnershipException.cs
- SystemKeyConverter.cs
- SystemFonts.cs
- ContentPropertyAttribute.cs
- BitmapCacheBrush.cs
- ScriptingAuthenticationServiceSection.cs
- namescope.cs
- DbConnectionStringBuilder.cs
- ComplexTypeEmitter.cs
- ISAPIRuntime.cs
- DiscoveryUtility.cs
- WebPartDescriptionCollection.cs
- Deflater.cs
- DrawingAttributeSerializer.cs
- BindingBase.cs
- DataGridViewColumnCollectionDialog.cs
- ToolStripGripRenderEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- ErrorFormatterPage.cs
- BasicExpressionVisitor.cs
- WeakReference.cs
- MenuAutoFormat.cs
- SafeCoTaskMem.cs
- AuthenticationModuleElement.cs
- FileDataSourceCache.cs
- WebPartZoneAutoFormat.cs
- AffineTransform3D.cs
- AnonymousIdentificationModule.cs
- PropertyManager.cs
- ShutDownListener.cs
- MethodRental.cs
- log.cs
- GenerateScriptTypeAttribute.cs
- SecurityContextSecurityTokenParameters.cs
- AspProxy.cs
- SqlNamer.cs
- PageVisual.cs
- keycontainerpermission.cs
- QilLoop.cs
- Screen.cs
- TableItemProviderWrapper.cs
- Line.cs
- XmlSchemaSubstitutionGroup.cs
- ResourceProviderFactory.cs
- DataReaderContainer.cs
- CodeDOMUtility.cs
- wgx_sdk_version.cs
- XmlSerializerFactory.cs
- NTAccount.cs
- WebPartTracker.cs
- MessageFault.cs
- SafeHGlobalHandleCritical.cs
- DbDataAdapter.cs
- EtwTrackingBehavior.cs
- TextTreeInsertUndoUnit.cs
- HtmlTable.cs
- PreDigestedSignedInfo.cs
- Stopwatch.cs
- StringAnimationBase.cs
- KoreanCalendar.cs
- ExceptionHandlersDesigner.cs
- PipelineModuleStepContainer.cs
- QilUnary.cs
- WorkflowInstanceProxy.cs
- ByteStack.cs
- Script.cs
- QueryConverter.cs
- Configuration.cs
- Repeater.cs
- PropertyGridCommands.cs
- DbParameterCollectionHelper.cs
- BamlResourceSerializer.cs
- SimpleType.cs
- UIElement3DAutomationPeer.cs
- WindowsFormsSectionHandler.cs
- AsymmetricKeyExchangeFormatter.cs
- XmlWrappingReader.cs
- StatusBarPanel.cs