Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media3D / Point4D.cs / 1305600 / 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
- DetailsViewPageEventArgs.cs
- SoapAttributeAttribute.cs
- CommunicationException.cs
- ValidationResult.cs
- TextEndOfParagraph.cs
- NavigationWindowAutomationPeer.cs
- TextEditorCharacters.cs
- InlinedAggregationOperator.cs
- Variable.cs
- ReachBasicContext.cs
- TabItemAutomationPeer.cs
- XmlSerializationWriter.cs
- MessageQueueKey.cs
- InstanceDataCollection.cs
- Block.cs
- MulticastNotSupportedException.cs
- MappingMetadataHelper.cs
- InternalPermissions.cs
- ListSortDescription.cs
- OpCodes.cs
- Stylus.cs
- FixedHyperLink.cs
- ReaderWriterLockWrapper.cs
- CalendarDateRangeChangingEventArgs.cs
- BitmapSizeOptions.cs
- GlyphInfoList.cs
- RoleManagerSection.cs
- DBCSCodePageEncoding.cs
- X509ThumbprintKeyIdentifierClause.cs
- CommandDevice.cs
- TextEditorMouse.cs
- OutputCacheModule.cs
- WebPartTracker.cs
- PrePrepareMethodAttribute.cs
- ScriptReferenceEventArgs.cs
- PresentationSource.cs
- PeerNodeAddress.cs
- TypePropertyEditor.cs
- NotConverter.cs
- PrinterSettings.cs
- VScrollBar.cs
- DrawingContext.cs
- HtmlInputText.cs
- CompoundFileStorageReference.cs
- SystemColorTracker.cs
- DataGridViewCellStyleBuilderDialog.cs
- XmlExpressionDumper.cs
- UseAttributeSetsAction.cs
- RenderingBiasValidation.cs
- PointConverter.cs
- TracingConnectionListener.cs
- AppSettingsSection.cs
- DateRangeEvent.cs
- ExceptionHandlers.cs
- HyperLinkStyle.cs
- CompoundFileReference.cs
- BezierSegment.cs
- DependencyPropertyValueSerializer.cs
- LiteralControl.cs
- MgmtResManager.cs
- KerberosSecurityTokenProvider.cs
- AxHost.cs
- SignatureResourcePool.cs
- GridViewRowCollection.cs
- GetUserPreferenceRequest.cs
- Internal.cs
- ToolStripRenderEventArgs.cs
- RuntimeConfig.cs
- CompiledQuery.cs
- PlanCompiler.cs
- ViewManager.cs
- CultureInfo.cs
- ExpandedWrapper.cs
- DesigntimeLicenseContextSerializer.cs
- UrlPath.cs
- ThreadStaticAttribute.cs
- MethodRental.cs
- ModelServiceImpl.cs
- WebMethodAttribute.cs
- DriveNotFoundException.cs
- TypeUtil.cs
- CryptoProvider.cs
- MailAddress.cs
- PropertyDescriptorCollection.cs
- ArraySet.cs
- ControlCodeDomSerializer.cs
- StrokeCollectionDefaultValueFactory.cs
- ProgressBarHighlightConverter.cs
- PolicyValidationException.cs
- XPathChildIterator.cs
- SimpleHandlerBuildProvider.cs
- XamlStream.cs
- ContentDisposition.cs
- Operators.cs
- ShaderEffect.cs
- TranslateTransform.cs
- PaintEvent.cs
- CookieHandler.cs
- EntityDataSourceValidationException.cs
- HttpsChannelFactory.cs