Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media3D / RotateTransform3D.cs / 1 / RotateTransform3D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 3D rotate transforms. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; 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 rotate transforms. /// public sealed partial class RotateTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public RotateTransform3D() {} ////// Constructor from Rotation3D. /// /// Rotation3D. public RotateTransform3D(Rotation3D rotation) { Rotation = rotation; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// Center point. public RotateTransform3D(Rotation3D rotation, Point3D center) { Rotation = rotation; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// X center /// Y center /// Z center public RotateTransform3D(Rotation3D rotation, double centerX, double centerY, double centerZ) { Rotation = rotation; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representing the rotation. /// public override Matrix3D Value { get { ReadPreamble(); Rotation3D rotation = _cachedRotationValue; if (rotation == null) { return Matrix3D.Identity; } Quaternion quaternion = rotation.InternalQuaternion; Point3D center = new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue); return Matrix3D.CreateRotationMatrix(ref quaternion, ref center); } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { matrix = matrix * Value; } } } // 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 rotate transforms. // // See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : t-gregr - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; 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 rotate transforms. /// public sealed partial class RotateTransform3D : AffineTransform3D { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Default constructor. /// public RotateTransform3D() {} ////// Constructor from Rotation3D. /// /// Rotation3D. public RotateTransform3D(Rotation3D rotation) { Rotation = rotation; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// Center point. public RotateTransform3D(Rotation3D rotation, Point3D center) { Rotation = rotation; CenterX = center.X; CenterY = center.Y; CenterZ = center.Z; } ////// Constructor from Rotation3D and center point. /// /// Rotation3D. /// X center /// Y center /// Z center public RotateTransform3D(Rotation3D rotation, double centerX, double centerY, double centerZ) { Rotation = rotation; CenterX = centerX; CenterY = centerY; CenterZ = centerZ; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Retrieves matrix representing the rotation. /// public override Matrix3D Value { get { ReadPreamble(); Rotation3D rotation = _cachedRotationValue; if (rotation == null) { return Matrix3D.Identity; } Quaternion quaternion = rotation.InternalQuaternion; Point3D center = new Point3D(_cachedCenterXValue, _cachedCenterYValue, _cachedCenterZValue); return Matrix3D.CreateRotationMatrix(ref quaternion, ref center); } } #endregion Public Properties internal override void Append(ref Matrix3D matrix) { matrix = matrix * Value; } } } // 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
- QuaternionAnimationBase.cs
- ScaleTransform.cs
- DataMemberAttribute.cs
- loginstatus.cs
- InputMethodStateTypeInfo.cs
- MemoryResponseElement.cs
- Drawing.cs
- FlowDocumentPaginator.cs
- RegisteredScript.cs
- ReliableRequestSessionChannel.cs
- XsdDataContractImporter.cs
- xamlnodes.cs
- SyntaxCheck.cs
- QilLiteral.cs
- ParallelRangeManager.cs
- PolyBezierSegment.cs
- Vector3DAnimationBase.cs
- Rect3D.cs
- TemplatePagerField.cs
- CollectionViewGroupRoot.cs
- LingerOption.cs
- GlyphCache.cs
- GestureRecognitionResult.cs
- AuthorizationRule.cs
- LineServicesCallbacks.cs
- BrowserTree.cs
- SerializableTypeCodeDomSerializer.cs
- dataobject.cs
- Merger.cs
- CommunicationObjectFaultedException.cs
- XmlCharType.cs
- NativeMethods.cs
- Single.cs
- SmiEventSink_DeferedProcessing.cs
- GregorianCalendar.cs
- RelationshipSet.cs
- ItemsChangedEventArgs.cs
- CompositionTarget.cs
- PropertyFilterAttribute.cs
- JsonReader.cs
- AssemblyAttributes.cs
- TransactionOptions.cs
- ImportContext.cs
- QueryComponents.cs
- Substitution.cs
- TypeLoadException.cs
- QueryPageSettingsEventArgs.cs
- SelectionWordBreaker.cs
- ToolBar.cs
- Selection.cs
- UniqueConstraint.cs
- GenericsInstances.cs
- ClockGroup.cs
- TemplateBindingExpression.cs
- ICspAsymmetricAlgorithm.cs
- DataColumnMapping.cs
- DoubleConverter.cs
- SimpleMailWebEventProvider.cs
- _LazyAsyncResult.cs
- EdmComplexPropertyAttribute.cs
- Size3DConverter.cs
- PropertyChangedEventArgs.cs
- DataObjectSettingDataEventArgs.cs
- ProgressBarAutomationPeer.cs
- PrintingPermission.cs
- RegisteredDisposeScript.cs
- CodeGen.cs
- CompositionAdorner.cs
- _BaseOverlappedAsyncResult.cs
- RichTextBoxDesigner.cs
- RMEnrollmentPage3.cs
- DataGridViewImageCell.cs
- EditingMode.cs
- EdmType.cs
- InstalledFontCollection.cs
- AdornedElementPlaceholder.cs
- ResourceIDHelper.cs
- Type.cs
- WorkflowElementDialogWindow.xaml.cs
- TreeNodeMouseHoverEvent.cs
- ZipPackagePart.cs
- TraceProvider.cs
- ParserContext.cs
- XmlCDATASection.cs
- GridViewRow.cs
- ProcessThread.cs
- ResourceIDHelper.cs
- WebPageTraceListener.cs
- MsmqDiagnostics.cs
- HttpListener.cs
- BufferModeSettings.cs
- MarkupCompilePass1.cs
- TextLine.cs
- TraceContextRecord.cs
- ToolStripDropDownMenu.cs
- ContextDataSourceContextData.cs
- LocalIdKeyIdentifierClause.cs
- ExpressionPrefixAttribute.cs
- SQLDoubleStorage.cs
- Transform.cs