Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- JpegBitmapEncoder.cs
- BasicKeyConstraint.cs
- VectorKeyFrameCollection.cs
- ToolStripStatusLabel.cs
- SimpleWorkerRequest.cs
- UshortList2.cs
- List.cs
- XmlSchemaAnyAttribute.cs
- VariableQuery.cs
- FixedDSBuilder.cs
- ContentPlaceHolder.cs
- ModulesEntry.cs
- MobileCapabilities.cs
- _CacheStreams.cs
- OutOfMemoryException.cs
- PointLight.cs
- Expression.cs
- ContainerSelectorBehavior.cs
- base64Transforms.cs
- DesignerForm.cs
- PenThread.cs
- XmlSchemaAnnotated.cs
- Hashtable.cs
- EntityProviderServices.cs
- CLSCompliantAttribute.cs
- BaseResourcesBuildProvider.cs
- OverlappedAsyncResult.cs
- isolationinterop.cs
- SplitterCancelEvent.cs
- XmlLinkedNode.cs
- StyleHelper.cs
- RequestedSignatureDialog.cs
- AdRotator.cs
- ClientRuntimeConfig.cs
- SqlStream.cs
- DataGridViewIntLinkedList.cs
- HMACMD5.cs
- VBIdentifierName.cs
- CultureTableRecord.cs
- PropertyMapper.cs
- GridViewPageEventArgs.cs
- MetadataArtifactLoaderCompositeFile.cs
- XPathBinder.cs
- WebHttpBinding.cs
- ManipulationDelta.cs
- SortedSetDebugView.cs
- WebPartTransformerAttribute.cs
- NavigationWindowAutomationPeer.cs
- SinglePhaseEnlistment.cs
- DataGridTextBox.cs
- FontStretch.cs
- OperationCanceledException.cs
- ArrayTypeMismatchException.cs
- TextBounds.cs
- DropSource.cs
- RecognizedPhrase.cs
- SafeUserTokenHandle.cs
- safemediahandle.cs
- ByeMessageApril2005.cs
- MimeXmlReflector.cs
- RadioButtonBaseAdapter.cs
- GlyphRun.cs
- FunctionImportMapping.cs
- SqlDataSourceCommandEventArgs.cs
- StateItem.cs
- MimeImporter.cs
- XmlAttributeProperties.cs
- MediaContext.cs
- IgnoreSection.cs
- ReadOnlyDictionary.cs
- GiveFeedbackEvent.cs
- X509Certificate2Collection.cs
- SpnEndpointIdentity.cs
- StringCollection.cs
- OdbcErrorCollection.cs
- ImageSourceValueSerializer.cs
- DateTimeSerializationSection.cs
- WindowsFormsLinkLabel.cs
- BooleanStorage.cs
- XmlNamespaceDeclarationsAttribute.cs
- WebBrowserBase.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- OdbcFactory.cs
- UntrustedRecipientException.cs
- IPPacketInformation.cs
- TagPrefixAttribute.cs
- CodePageEncoding.cs
- MemberAssignment.cs
- Action.cs
- DbProviderFactory.cs
- FloaterParagraph.cs
- LocationChangedEventArgs.cs
- TableItemStyle.cs
- compensatingcollection.cs
- SqlAliasesReferenced.cs
- UnsafeMethods.cs
- BoolExpr.cs
- XmlHelper.cs
- FlowDocumentView.cs
- InteropExecutor.cs