Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / MS / Internal / Media3D / GeneralTransform3DTo2DTo3D.cs / 1 / GeneralTransform3DTo2DTo3D.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Declaration of the GeneralTransform3DTo2DTo3D class.
//
//---------------------------------------------------------------------------
using MS.Internal;
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition;
using System.Windows.Markup;
using System.Windows.Media.Media3D;
using MS.Internal.PresentationCore;
namespace MS.Internal.Media3D
{
///
/// GeneralTransform3DTo2DTo3D class provides services to transform points from 3D to 2D to 3D
///
internal class GeneralTransform3DTo2DTo3D : GeneralTransform3D
{
internal GeneralTransform3DTo2DTo3D()
{
}
internal GeneralTransform3DTo2DTo3D(GeneralTransform3DTo2D transform3DTo2D,
GeneralTransform2DTo3D transform2DTo3D)
{
Debug.Assert(transform3DTo2D != null && transform2DTo3D != null);
_transform3DTo2D = (GeneralTransform3DTo2D)transform3DTo2D.GetAsFrozen();
_transform2DTo3D = (GeneralTransform2DTo3D)transform2DTo3D.GetAsFrozen();
}
///
/// Transform a point
///
/// Input point
/// Output point
/// True if the point was transformed successfuly, false otherwise
public override bool TryTransform(Point3D inPoint, out Point3D result)
{
Point intermediate2DPoint = new Point();
result = new Point3D();
if (_transform3DTo2D == null ||
!_transform3DTo2D.TryTransform(inPoint, out intermediate2DPoint))
{
return false;
}
if (_transform2DTo3D == null ||
!_transform2DTo3D.TryTransform(intermediate2DPoint, out result))
{
return false;
}
return true;
}
///
/// Returns the inverse transform if it has an inverse, null otherwise.
/// In this case we can only transform in one direction due to the ray being created
/// so the inverse is null.
///
public override GeneralTransform3D Inverse
{
get
{
return null;
}
}
///
/// Returns a best effort affine transform
///
internal override Transform3D AffineTransform
{
[FriendAccessAllowed] // Built into Core, also used by Framework.
get
{
return null;
}
}
///
/// Transforms the bounding box to the smallest axis aligned bounding box
/// that contains all the points in the original bounding box
///
/// Bounding box
/// The transformed bounding box
public override Rect3D TransformBounds(Rect3D rect)
{
throw new NotImplementedException();
}
///
/// Implementation of Freezable.CreateInstanceCore .
///
/// The new Freezable.
protected override Freezable CreateInstanceCore()
{
return new GeneralTransform3DTo2DTo3D();
}
///
/// Implementation of Freezable.CloneCore .
///
///
protected override void CloneCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.CloneCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.CloneCurrentValueCore .
///
///
protected override void CloneCurrentValueCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.CloneCurrentValueCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.GetAsFrozenCore .
///
///
protected override void GetAsFrozenCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.GetAsFrozenCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.GetCurrentValueAsFrozenCore .
///
///
protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.GetCurrentValueAsFrozenCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Clones values that do not have corresponding DPs
///
///
private void CopyCommon(GeneralTransform3DTo2DTo3D transform)
{
_transform3DTo2D = transform._transform3DTo2D;
_transform2DTo3D = transform._transform2DTo3D;
}
GeneralTransform3DTo2D _transform3DTo2D;
GeneralTransform2DTo3D _transform2DTo3D;
}
}
// 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: Declaration of the GeneralTransform3DTo2DTo3D class.
//
//---------------------------------------------------------------------------
using MS.Internal;
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Composition;
using System.Windows.Markup;
using System.Windows.Media.Media3D;
using MS.Internal.PresentationCore;
namespace MS.Internal.Media3D
{
///
/// GeneralTransform3DTo2DTo3D class provides services to transform points from 3D to 2D to 3D
///
internal class GeneralTransform3DTo2DTo3D : GeneralTransform3D
{
internal GeneralTransform3DTo2DTo3D()
{
}
internal GeneralTransform3DTo2DTo3D(GeneralTransform3DTo2D transform3DTo2D,
GeneralTransform2DTo3D transform2DTo3D)
{
Debug.Assert(transform3DTo2D != null && transform2DTo3D != null);
_transform3DTo2D = (GeneralTransform3DTo2D)transform3DTo2D.GetAsFrozen();
_transform2DTo3D = (GeneralTransform2DTo3D)transform2DTo3D.GetAsFrozen();
}
///
/// Transform a point
///
/// Input point
/// Output point
/// True if the point was transformed successfuly, false otherwise
public override bool TryTransform(Point3D inPoint, out Point3D result)
{
Point intermediate2DPoint = new Point();
result = new Point3D();
if (_transform3DTo2D == null ||
!_transform3DTo2D.TryTransform(inPoint, out intermediate2DPoint))
{
return false;
}
if (_transform2DTo3D == null ||
!_transform2DTo3D.TryTransform(intermediate2DPoint, out result))
{
return false;
}
return true;
}
///
/// Returns the inverse transform if it has an inverse, null otherwise.
/// In this case we can only transform in one direction due to the ray being created
/// so the inverse is null.
///
public override GeneralTransform3D Inverse
{
get
{
return null;
}
}
///
/// Returns a best effort affine transform
///
internal override Transform3D AffineTransform
{
[FriendAccessAllowed] // Built into Core, also used by Framework.
get
{
return null;
}
}
///
/// Transforms the bounding box to the smallest axis aligned bounding box
/// that contains all the points in the original bounding box
///
/// Bounding box
/// The transformed bounding box
public override Rect3D TransformBounds(Rect3D rect)
{
throw new NotImplementedException();
}
///
/// Implementation of Freezable.CreateInstanceCore .
///
/// The new Freezable.
protected override Freezable CreateInstanceCore()
{
return new GeneralTransform3DTo2DTo3D();
}
///
/// Implementation of Freezable.CloneCore .
///
///
protected override void CloneCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.CloneCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.CloneCurrentValueCore .
///
///
protected override void CloneCurrentValueCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.CloneCurrentValueCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.GetAsFrozenCore .
///
///
protected override void GetAsFrozenCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.GetAsFrozenCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Implementation of Freezable.GetCurrentValueAsFrozenCore .
///
///
protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable)
{
GeneralTransform3DTo2DTo3D transform = (GeneralTransform3DTo2DTo3D)sourceFreezable;
base.GetCurrentValueAsFrozenCore(sourceFreezable);
CopyCommon(transform);
}
///
/// Clones values that do not have corresponding DPs
///
///
private void CopyCommon(GeneralTransform3DTo2DTo3D transform)
{
_transform3DTo2D = transform._transform3DTo2D;
_transform2DTo3D = transform._transform2DTo3D;
}
GeneralTransform3DTo2D _transform3DTo2D;
GeneralTransform2DTo3D _transform2DTo3D;
}
}
// 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
- Rotation3DAnimation.cs
- ObjectViewEntityCollectionData.cs
- LogReservationCollection.cs
- DataGridViewRowCancelEventArgs.cs
- SpeechDetectedEventArgs.cs
- DelegatedStream.cs
- XmlSchemaImporter.cs
- UserPrincipalNameElement.cs
- DetailsViewDeletedEventArgs.cs
- XamlTypeMapperSchemaContext.cs
- VirtualDirectoryMappingCollection.cs
- PenContexts.cs
- ParameterSubsegment.cs
- MenuCommand.cs
- DPAPIProtectedConfigurationProvider.cs
- Registry.cs
- PieceDirectory.cs
- Journaling.cs
- CssStyleCollection.cs
- ViewGenerator.cs
- DependencyPropertyKind.cs
- HttpWebRequest.cs
- _CookieModule.cs
- InstanceBehavior.cs
- ClonableStack.cs
- WebFaultClientMessageInspector.cs
- Misc.cs
- Parser.cs
- TypeSystem.cs
- TextModifierScope.cs
- DetailsViewInsertedEventArgs.cs
- SspiHelper.cs
- VersionedStream.cs
- Transactions.cs
- Button.cs
- CallContext.cs
- DockPatternIdentifiers.cs
- InstanceDescriptor.cs
- TailCallAnalyzer.cs
- PixelFormat.cs
- CompositeTypefaceMetrics.cs
- ConnectionConsumerAttribute.cs
- PageHandlerFactory.cs
- Brush.cs
- RadioButtonList.cs
- SafeNativeMethods.cs
- Material.cs
- ContentPropertyAttribute.cs
- NamespaceDecl.cs
- TiffBitmapDecoder.cs
- ParameterBuilder.cs
- BitmapFrameDecode.cs
- MessageDecoder.cs
- MembershipSection.cs
- ColorAnimationBase.cs
- SecurityState.cs
- MultiSelectRootGridEntry.cs
- HwndProxyElementProvider.cs
- AuthStoreRoleProvider.cs
- sapiproxy.cs
- TableDesigner.cs
- HierarchicalDataBoundControlAdapter.cs
- TemplateBaseAction.cs
- StrongBox.cs
- GridItemPattern.cs
- JsonFormatGeneratorStatics.cs
- DocumentXmlWriter.cs
- WebPartZone.cs
- XmlNamespaceMappingCollection.cs
- Formatter.cs
- HttpRuntime.cs
- VerticalAlignConverter.cs
- List.cs
- TextServicesCompartmentEventSink.cs
- XPathSingletonIterator.cs
- MenuItemCollection.cs
- DataGridViewRowHeaderCell.cs
- DataGridViewControlCollection.cs
- RootBuilder.cs
- DataServiceExpressionVisitor.cs
- AstNode.cs
- ResourceSetExpression.cs
- MenuTracker.cs
- DispatcherOperation.cs
- DurableEnlistmentState.cs
- PackageDigitalSignature.cs
- TableRow.cs
- ParserStack.cs
- SqlReorderer.cs
- MessageBuilder.cs
- SHA384Managed.cs
- LassoHelper.cs
- ContextDataSourceContextData.cs
- CalendarDataBindingHandler.cs
- Parameter.cs
- StartFileNameEditor.cs
- CodeTypeMember.cs
- XmlAttributeAttribute.cs
- SequenceRange.cs
- VersionedStreamOwner.cs