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
- RouteValueDictionary.cs
- DCSafeHandle.cs
- CookieHandler.cs
- RuleProcessor.cs
- HttpPostedFileWrapper.cs
- ClientRoleProvider.cs
- mediapermission.cs
- CollectionViewGroupInternal.cs
- AssociationTypeEmitter.cs
- IndicFontClient.cs
- SystemKeyConverter.cs
- FormClosingEvent.cs
- PeerToPeerException.cs
- ToolStripContainerActionList.cs
- WindowsTreeView.cs
- mediaeventargs.cs
- RuleSettings.cs
- WebMessageEncoderFactory.cs
- ByteAnimationBase.cs
- SchemaTypeEmitter.cs
- InputReport.cs
- OdbcConnection.cs
- GAC.cs
- ZoneLinkButton.cs
- EncoderBestFitFallback.cs
- CommentAction.cs
- TdsRecordBufferSetter.cs
- PropertyToken.cs
- CodeEventReferenceExpression.cs
- HttpsChannelFactory.cs
- XPathParser.cs
- ProfileServiceManager.cs
- ConstructorNeedsTagAttribute.cs
- SqlFunctionAttribute.cs
- EmptyQuery.cs
- CheckBoxField.cs
- MonthCalendarDesigner.cs
- ChtmlTextWriter.cs
- SqlDataReader.cs
- InteropExecutor.cs
- UInt64.cs
- InvalidOleVariantTypeException.cs
- PersistChildrenAttribute.cs
- TreeViewImageIndexConverter.cs
- Color.cs
- RangeContentEnumerator.cs
- GroupedContextMenuStrip.cs
- ToolStripMenuItemDesigner.cs
- MetadataArtifactLoader.cs
- MarkupExtensionReturnTypeAttribute.cs
- DesignerCategoryAttribute.cs
- TemplateControl.cs
- SqlFlattener.cs
- ContentPathSegment.cs
- NativeWindow.cs
- EntityDesignerBuildProvider.cs
- TableLayout.cs
- oledbconnectionstring.cs
- DataListDesigner.cs
- GetLedgerRequest.cs
- SharedConnectionInfo.cs
- SafeCloseHandleCritical.cs
- XmlILIndex.cs
- WebPartDisplayModeCollection.cs
- MatrixKeyFrameCollection.cs
- HitTestResult.cs
- Base64Stream.cs
- ProgramPublisher.cs
- SqlNamer.cs
- DocumentAutomationPeer.cs
- ListControl.cs
- SessionParameter.cs
- AssemblyHash.cs
- ContextMenuStripGroup.cs
- InheritanceAttribute.cs
- FtpRequestCacheValidator.cs
- Int32Rect.cs
- ZipIOExtraFieldElement.cs
- MorphHelpers.cs
- Point4DConverter.cs
- KeyGestureConverter.cs
- ServiceDescriptionSerializer.cs
- Profiler.cs
- BamlLocalizer.cs
- TreeNodeClickEventArgs.cs
- TextFormatter.cs
- WindowExtensionMethods.cs
- WindowHideOrCloseTracker.cs
- ValuePatternIdentifiers.cs
- ListView.cs
- XmlSignificantWhitespace.cs
- ConnectionPool.cs
- ViewBase.cs
- ListChunk.cs
- UrlPropertyAttribute.cs
- StylusPointDescription.cs
- LeftCellWrapper.cs
- DataControlCommands.cs
- EncoderParameters.cs
- IgnoreSectionHandler.cs