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 / Point4D.cs / 1 / Point4D.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: 4D point implementation.
//
// See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/04/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System.Windows;
using System.Windows.Media.Media3D;
using System;
namespace System.Windows.Media.Media3D
{
///
/// Point4D - 4D point representation.
/// Defaults to (0,0,0,0).
///
public partial struct Point4D
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Constructor that sets point's initial values.
///
/// Value of the X coordinate of the new point.
/// Value of the Y coordinate of the new point.
/// Value of the Z coordinate of the new point.
/// Value of the W coordinate of the new point.
public Point4D(double x, double y, double z, double w)
{
_x = x;
_y = y;
_z = z;
_w = w;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Offset - update point position by adding deltaX to X, deltaY to Y, deltaZ to Z, and deltaW to W.
///
/// Offset in the X direction.
/// Offset in the Y direction.
/// Offset in the Z direction.
/// Offset in the W direction.
public void Offset(double deltaX, double deltaY, double deltaZ, double deltaW)
{
_x += deltaX;
_y += deltaY;
_z += deltaZ;
_w += deltaW;
}
///
/// Addition.
///
/// First point being added.
/// Second point being added.
/// Result of addition.
public static Point4D operator +(Point4D point1, Point4D point2)
{
return new Point4D(point1._x + point2._x,
point1._y + point2._y,
point1._z + point2._z,
point1._w + point2._w);
}
///
/// Addition.
///
/// First point being added.
/// Second point being added.
/// Result of addition.
public static Point4D Add(Point4D point1, Point4D point2)
{
return new Point4D(point1._x + point2._x,
point1._y + point2._y,
point1._z + point2._z,
point1._w + point2._w);
}
///
/// Subtraction.
///
/// Point from which we are subtracting the second point.
/// Point being subtracted.
/// Vector between the two points.
public static Point4D operator -(Point4D point1, Point4D point2)
{
return new Point4D(point1._x - point2._x,
point1._y - point2._y,
point1._z - point2._z,
point1._w - point2._w);
}
///
/// Subtraction.
///
/// Point from which we are subtracting the second point.
/// Point being subtracted.
/// Vector between the two points.
public static Point4D Subtract(Point4D point1, Point4D point2)
{
return new Point4D(point1._x - point2._x,
point1._y - point2._y,
point1._z - point2._z,
point1._w - point2._w);
}
///
/// Point4D * Matrix3D multiplication.
///
/// Point being transformed.
/// Transformation matrix applied to the point.
/// Result of the transformation matrix applied to the point.
public static Point4D operator *(Point4D point, Matrix3D matrix)
{
return matrix.Transform(point);
}
///
/// Point4D * Matrix3D multiplication.
///
/// Point being transformed.
/// Transformation matrix applied to the point.
/// Result of the transformation matrix applied to the point.
public static Point4D Multiply(Point4D point, Matrix3D matrix)
{
return matrix.Transform(point);
}
#endregion Public Methods
}
}
// 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: 4D point implementation.
//
// See spec at http://avalon/medialayer/Specifications/Avalon3D%20API%20Spec.mht
//
// History:
// 06/04/2003 : t-gregr - Created
//
//---------------------------------------------------------------------------
using System.Windows;
using System.Windows.Media.Media3D;
using System;
namespace System.Windows.Media.Media3D
{
///
/// Point4D - 4D point representation.
/// Defaults to (0,0,0,0).
///
public partial struct Point4D
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Constructor that sets point's initial values.
///
/// Value of the X coordinate of the new point.
/// Value of the Y coordinate of the new point.
/// Value of the Z coordinate of the new point.
/// Value of the W coordinate of the new point.
public Point4D(double x, double y, double z, double w)
{
_x = x;
_y = y;
_z = z;
_w = w;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Offset - update point position by adding deltaX to X, deltaY to Y, deltaZ to Z, and deltaW to W.
///
/// Offset in the X direction.
/// Offset in the Y direction.
/// Offset in the Z direction.
/// Offset in the W direction.
public void Offset(double deltaX, double deltaY, double deltaZ, double deltaW)
{
_x += deltaX;
_y += deltaY;
_z += deltaZ;
_w += deltaW;
}
///
/// Addition.
///
/// First point being added.
/// Second point being added.
/// Result of addition.
public static Point4D operator +(Point4D point1, Point4D point2)
{
return new Point4D(point1._x + point2._x,
point1._y + point2._y,
point1._z + point2._z,
point1._w + point2._w);
}
///
/// Addition.
///
/// First point being added.
/// Second point being added.
/// Result of addition.
public static Point4D Add(Point4D point1, Point4D point2)
{
return new Point4D(point1._x + point2._x,
point1._y + point2._y,
point1._z + point2._z,
point1._w + point2._w);
}
///
/// Subtraction.
///
/// Point from which we are subtracting the second point.
/// Point being subtracted.
/// Vector between the two points.
public static Point4D operator -(Point4D point1, Point4D point2)
{
return new Point4D(point1._x - point2._x,
point1._y - point2._y,
point1._z - point2._z,
point1._w - point2._w);
}
///
/// Subtraction.
///
/// Point from which we are subtracting the second point.
/// Point being subtracted.
/// Vector between the two points.
public static Point4D Subtract(Point4D point1, Point4D point2)
{
return new Point4D(point1._x - point2._x,
point1._y - point2._y,
point1._z - point2._z,
point1._w - point2._w);
}
///
/// Point4D * Matrix3D multiplication.
///
/// Point being transformed.
/// Transformation matrix applied to the point.
/// Result of the transformation matrix applied to the point.
public static Point4D operator *(Point4D point, Matrix3D matrix)
{
return matrix.Transform(point);
}
///
/// Point4D * Matrix3D multiplication.
///
/// Point being transformed.
/// Transformation matrix applied to the point.
/// Result of the transformation matrix applied to the point.
public static Point4D Multiply(Point4D point, Matrix3D matrix)
{
return matrix.Transform(point);
}
#endregion Public Methods
}
}
// 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
- XmlSchemaSimpleTypeList.cs
- DrawingGroupDrawingContext.cs
- AutomationFocusChangedEventArgs.cs
- CodeMemberField.cs
- SmiEventSink.cs
- TextTabProperties.cs
- MultidimensionalArrayItemReference.cs
- ConversionHelper.cs
- X509CertificateChain.cs
- WebPartConnectionsConnectVerb.cs
- DataSpaceManager.cs
- HyperLink.cs
- UrlMappingsSection.cs
- XmlSchemaAnnotated.cs
- DriveNotFoundException.cs
- WebPartEditorOkVerb.cs
- DetailsViewPageEventArgs.cs
- AddInServer.cs
- ResXResourceWriter.cs
- WindowsImpersonationContext.cs
- GridPattern.cs
- LoginCancelEventArgs.cs
- Task.cs
- DataServiceRequestException.cs
- ZoneMembershipCondition.cs
- brushes.cs
- RenderTargetBitmap.cs
- DashStyle.cs
- Hash.cs
- TextWriter.cs
- SqlDataSourceWizardForm.cs
- QilReference.cs
- NamespaceInfo.cs
- ToolStripPanelCell.cs
- RootBrowserWindowAutomationPeer.cs
- BulletChrome.cs
- OleDbErrorCollection.cs
- XmlSchemaInfo.cs
- SqlProviderUtilities.cs
- BoundField.cs
- SourceFileInfo.cs
- ActiveXSite.cs
- SqlDataSourceFilteringEventArgs.cs
- FixedSOMPageElement.cs
- PageEventArgs.cs
- XamlTemplateSerializer.cs
- ChannelTerminatedException.cs
- ColumnResult.cs
- SqlMethodAttribute.cs
- XmlSchemaChoice.cs
- DetailsView.cs
- MemberHolder.cs
- URL.cs
- securitycriticaldataformultiplegetandset.cs
- Panel.cs
- ListSourceHelper.cs
- AspNetSynchronizationContext.cs
- NGCSerializer.cs
- ResourceDictionaryCollection.cs
- SelectionManager.cs
- SyndicationFeedFormatter.cs
- MultiBinding.cs
- RegisteredArrayDeclaration.cs
- StylusPlugin.cs
- OdbcConnectionOpen.cs
- SqlTopReducer.cs
- CapabilitiesSection.cs
- Exceptions.cs
- EFDataModelProvider.cs
- HandlerWithFactory.cs
- SourceChangedEventArgs.cs
- PropertyRecord.cs
- DateTimePickerDesigner.cs
- isolationinterop.cs
- TypeDependencyAttribute.cs
- CompilerError.cs
- SelectionEditingBehavior.cs
- TableLayout.cs
- AlignmentXValidation.cs
- ListCollectionView.cs
- TemplateColumn.cs
- CustomError.cs
- EventDescriptorCollection.cs
- LocatorManager.cs
- SID.cs
- ApplicationDirectoryMembershipCondition.cs
- CorrelationActionMessageFilter.cs
- HttpCacheParams.cs
- BindingExpressionUncommonField.cs
- DataListItemCollection.cs
- Action.cs
- filewebresponse.cs
- TraceUtility.cs
- MULTI_QI.cs
- HtmlTableRowCollection.cs
- TrustManagerMoreInformation.cs
- Cursor.cs
- ImpersonateTokenRef.cs
- CompiledQuery.cs
- BindingObserver.cs