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
- TabItem.cs
- Point3D.cs
- ExceptionUtil.cs
- WebPartCollection.cs
- LassoSelectionBehavior.cs
- Formatter.cs
- CreateUserWizard.cs
- SyntaxCheck.cs
- EventMappingSettings.cs
- PermissionSetTriple.cs
- Boolean.cs
- WeakReferenceList.cs
- InternalPermissions.cs
- CompilationRelaxations.cs
- AudioStateChangedEventArgs.cs
- SecurityPermission.cs
- DecoderReplacementFallback.cs
- VsPropertyGrid.cs
- Command.cs
- AdRotatorDesigner.cs
- PTConverter.cs
- RichTextBoxDesigner.cs
- TimeSpanOrInfiniteConverter.cs
- CodeSubDirectoriesCollection.cs
- SerializationException.cs
- WebPartConnection.cs
- CodeDelegateInvokeExpression.cs
- MergeFilterQuery.cs
- ConfigurationElementProperty.cs
- ItemCheckedEvent.cs
- ProtocolsConfigurationHandler.cs
- ToolBarButtonClickEvent.cs
- WrappedIUnknown.cs
- ClientUtils.cs
- RepeaterCommandEventArgs.cs
- UnaryOperationBinder.cs
- TimeSpanStorage.cs
- ListItem.cs
- ImageAttributes.cs
- ContextBase.cs
- BindingParameterCollection.cs
- IntegerValidatorAttribute.cs
- ExeConfigurationFileMap.cs
- _ConnectStream.cs
- EventLogPermissionHolder.cs
- TimelineGroup.cs
- ToolboxCategory.cs
- BidPrivateBase.cs
- ItemCheckEvent.cs
- OLEDB_Enum.cs
- WebBrowserSiteBase.cs
- UriGenerator.cs
- XhtmlBasicLiteralTextAdapter.cs
- WaitHandleCannotBeOpenedException.cs
- XmlSchemaSimpleType.cs
- TypeBuilderInstantiation.cs
- AuthenticationServiceManager.cs
- SchemaSetCompiler.cs
- SecurityValidationBehavior.cs
- TextLineResult.cs
- ExpressionConverter.cs
- XPathNavigator.cs
- TTSEngineTypes.cs
- BitmapEffectGroup.cs
- MetadataException.cs
- ClientRuntimeConfig.cs
- GridItem.cs
- TypeUtil.cs
- FrameSecurityDescriptor.cs
- FixedSOMPageConstructor.cs
- XhtmlBasicCommandAdapter.cs
- Rect3DConverter.cs
- Form.cs
- XslAstAnalyzer.cs
- ListSortDescriptionCollection.cs
- ExpanderAutomationPeer.cs
- DBSqlParserTable.cs
- PassportPrincipal.cs
- StringHelper.cs
- Root.cs
- ClosableStream.cs
- StylusEditingBehavior.cs
- _NativeSSPI.cs
- SoapTransportImporter.cs
- Expander.cs
- CheckBoxBaseAdapter.cs
- DataListItemEventArgs.cs
- ImageAnimator.cs
- MethodImplAttribute.cs
- PersianCalendar.cs
- AQNBuilder.cs
- ButtonBase.cs
- mongolianshape.cs
- DataSourceNameHandler.cs
- PropertyBuilder.cs
- IdentifierService.cs
- TraceFilter.cs
- ButtonStandardAdapter.cs
- OleDbRowUpdatedEvent.cs
- RedBlackList.cs