Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- LinkedResource.cs
- WindowsStreamSecurityBindingElement.cs
- DeferredTextReference.cs
- ValueChangedEventManager.cs
- KerberosTicketHashIdentifierClause.cs
- RoutedEvent.cs
- ComboBoxAutomationPeer.cs
- RegexInterpreter.cs
- CodeTypeReference.cs
- HtmlSelectionListAdapter.cs
- MatchSingleFxEngineOpcode.cs
- DataGridViewLayoutData.cs
- RegexRunner.cs
- SequenceNumber.cs
- RemotingException.cs
- ArraySortHelper.cs
- BlurBitmapEffect.cs
- CommandConverter.cs
- DataGridViewRowPrePaintEventArgs.cs
- WebBrowserDesigner.cs
- SQLBinaryStorage.cs
- GeometryHitTestParameters.cs
- ConsumerConnectionPoint.cs
- XmlDictionary.cs
- TrackingCondition.cs
- CompositeFontInfo.cs
- DataPagerFieldItem.cs
- PrimaryKeyTypeConverter.cs
- WebPartMovingEventArgs.cs
- ClientBuildManagerCallback.cs
- MergeFailedEvent.cs
- DataReaderContainer.cs
- OrthographicCamera.cs
- XamlTypeMapper.cs
- SQLDecimalStorage.cs
- Cursors.cs
- CodeMethodReturnStatement.cs
- Cursors.cs
- DbConnectionFactory.cs
- SchemaComplexType.cs
- ColorKeyFrameCollection.cs
- Console.cs
- HttpServerUtilityWrapper.cs
- ApplicationFileCodeDomTreeGenerator.cs
- GridViewRowPresenterBase.cs
- FtpRequestCacheValidator.cs
- SmtpReplyReader.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- System.Data_BID.cs
- AuthStoreRoleProvider.cs
- CustomGrammar.cs
- ToolStripTextBox.cs
- DesignerOptionService.cs
- AudioBase.cs
- SystemDiagnosticsSection.cs
- XmlSecureResolver.cs
- GifBitmapEncoder.cs
- SHA1CryptoServiceProvider.cs
- AddInIpcChannel.cs
- Typeface.cs
- WaitHandleCannotBeOpenedException.cs
- DataViewSetting.cs
- PeekCompletedEventArgs.cs
- SocketAddress.cs
- TraceSwitch.cs
- XmlNodeChangedEventArgs.cs
- Margins.cs
- BuildManager.cs
- ConfigurationManagerHelper.cs
- CompilerInfo.cs
- NumericExpr.cs
- ObjectConverter.cs
- AnchorEditor.cs
- BamlRecordWriter.cs
- PrivateFontCollection.cs
- FindCriteria11.cs
- BatchParser.cs
- SerializableAttribute.cs
- ModelService.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- DriveInfo.cs
- TimeSpanOrInfiniteConverter.cs
- SqlBuilder.cs
- DateTimeOffsetAdapter.cs
- SequentialOutput.cs
- XmlIlTypeHelper.cs
- XmlMemberMapping.cs
- EarlyBoundInfo.cs
- DataGridViewSelectedRowCollection.cs
- EventItfInfo.cs
- ResizeBehavior.cs
- RoutedEventValueSerializer.cs
- FileDialog.cs
- MultipleViewPattern.cs
- KeyedPriorityQueue.cs
- ControlUtil.cs
- PagesSection.cs
- Vector3DCollectionConverter.cs
- LifetimeServices.cs
- IntegerFacetDescriptionElement.cs