Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ComplexTypeEmitter.cs
- TextTreeTextNode.cs
- Int64.cs
- OpCellTreeNode.cs
- XmlSchemaAnnotation.cs
- LineMetrics.cs
- Thumb.cs
- EventProxy.cs
- AuthenticatedStream.cs
- DemultiplexingClientMessageFormatter.cs
- Iis7Helper.cs
- RSAOAEPKeyExchangeFormatter.cs
- ErrorInfoXmlDocument.cs
- ServiceBehaviorAttribute.cs
- OverloadGroupAttribute.cs
- WebPart.cs
- InstanceDescriptor.cs
- FileChangesMonitor.cs
- PersistChildrenAttribute.cs
- ISAPIWorkerRequest.cs
- ReadOnlyDataSourceView.cs
- WindowsListViewGroupHelper.cs
- CallContext.cs
- ConfigurationValidatorBase.cs
- MediaPlayer.cs
- ImageFormat.cs
- CachedCompositeFamily.cs
- ExpressionLink.cs
- KeyTime.cs
- XmlAttributeProperties.cs
- Double.cs
- Transform3DCollection.cs
- ISAPIRuntime.cs
- SchemaMapping.cs
- WS2007HttpBindingElement.cs
- LinkedResource.cs
- BypassElement.cs
- XmlSecureResolver.cs
- LingerOption.cs
- HtmlTernaryTree.cs
- XmlDictionaryWriter.cs
- RtType.cs
- XhtmlBasicPageAdapter.cs
- DeflateStream.cs
- UnmanagedMemoryStream.cs
- QuaternionIndependentAnimationStorage.cs
- _OSSOCK.cs
- SchemaNames.cs
- FontFamily.cs
- ObjectSecurity.cs
- RightsManagementErrorHandler.cs
- COM2TypeInfoProcessor.cs
- SubpageParagraph.cs
- DayRenderEvent.cs
- Vector3DAnimationBase.cs
- Typeface.cs
- UrlAuthFailedErrorFormatter.cs
- ZipIOExtraFieldZip64Element.cs
- BreakRecordTable.cs
- SharedStatics.cs
- IssuanceLicense.cs
- StylusPointProperty.cs
- ContainerFilterService.cs
- PartialCachingAttribute.cs
- SimpleWorkerRequest.cs
- NamespaceEmitter.cs
- RelationshipSet.cs
- MultiView.cs
- SpecialTypeDataContract.cs
- URLString.cs
- RoutedPropertyChangedEventArgs.cs
- EnumMember.cs
- AttributeCollection.cs
- CursorConverter.cs
- Component.cs
- SeverityFilter.cs
- Int64AnimationBase.cs
- WebBrowserHelper.cs
- ArrayList.cs
- TableChangeProcessor.cs
- ColorContext.cs
- PolicyUnit.cs
- RoleManagerSection.cs
- NativeMethods.cs
- ParseChildrenAsPropertiesAttribute.cs
- COAUTHINFO.cs
- BinaryFormatter.cs
- OutputCacheProfileCollection.cs
- BitConverter.cs
- ResourcePool.cs
- XmlSchemaIdentityConstraint.cs
- DataGridViewTextBoxColumn.cs
- UnsafeNativeMethods.cs
- CodeDomLoader.cs
- UnaryQueryOperator.cs
- ReadWriteObjectLock.cs
- PropertyToken.cs
- CalculatedColumn.cs
- Thumb.cs
- MimeBasePart.cs