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
- Label.cs
- Matrix3D.cs
- MimeFormImporter.cs
- ActivityBuilderHelper.cs
- ZipFileInfoCollection.cs
- ETagAttribute.cs
- GestureRecognizer.cs
- StoryFragments.cs
- GridViewRowCollection.cs
- SslStream.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- SimpleBitVector32.cs
- DbgUtil.cs
- Polygon.cs
- StickyNoteAnnotations.cs
- PagesChangedEventArgs.cs
- IListConverters.cs
- EnumConverter.cs
- Activator.cs
- TextEffectResolver.cs
- StructuralObject.cs
- WCFServiceClientProxyGenerator.cs
- CharEnumerator.cs
- InstanceDataCollection.cs
- DataGridCellClipboardEventArgs.cs
- UnauthorizedAccessException.cs
- DbConnectionPoolIdentity.cs
- CompareValidator.cs
- cache.cs
- AbsoluteQuery.cs
- MergeFailedEvent.cs
- ADMembershipUser.cs
- AsynchronousChannel.cs
- CreationContext.cs
- ListDictionaryInternal.cs
- PropertyPath.cs
- XmlExpressionDumper.cs
- SpotLight.cs
- DefaultObjectMappingItemCollection.cs
- SerializationStore.cs
- DbConnectionStringBuilder.cs
- AssemblyEvidenceFactory.cs
- DataServiceException.cs
- Int64Animation.cs
- FilterQuery.cs
- ImageUrlEditor.cs
- ControlAdapter.cs
- XmlEncodedRawTextWriter.cs
- BasicBrowserDialog.cs
- MaskedTextProvider.cs
- FilterQueryOptionExpression.cs
- InvalidOperationException.cs
- AnnotationResource.cs
- AssemblyBuilder.cs
- DynamicResourceExtension.cs
- DeadCharTextComposition.cs
- SystemGatewayIPAddressInformation.cs
- DefaultSection.cs
- XmlUtil.cs
- AuthorizationRule.cs
- Native.cs
- Point3D.cs
- StateMachineAction.cs
- Types.cs
- SelectionRange.cs
- StyleSheet.cs
- TypeContext.cs
- PropVariant.cs
- SqlNotificationEventArgs.cs
- EntityDataSourceEntitySetNameItem.cs
- PackageStore.cs
- StatusBar.cs
- HyperLinkStyle.cs
- EntityDataSourceStatementEditor.cs
- Environment.cs
- OneToOneMappingSerializer.cs
- SamlSecurityTokenAuthenticator.cs
- EncoderBestFitFallback.cs
- MetabaseServerConfig.cs
- DrawingState.cs
- ReadOnlyDictionary.cs
- DrawingVisual.cs
- UnknownWrapper.cs
- UnsafeNativeMethods.cs
- ToolboxItemAttribute.cs
- NotSupportedException.cs
- XDeferredAxisSource.cs
- DataContractSerializerFaultFormatter.cs
- SapiRecoInterop.cs
- FrameworkContentElement.cs
- DataColumnMapping.cs
- UriParserTemplates.cs
- ObjectFullSpanRewriter.cs
- NavigationProgressEventArgs.cs
- RbTree.cs
- AutomationProperties.cs
- XamlGridLengthSerializer.cs
- BaseCAMarshaler.cs
- BindingManagerDataErrorEventArgs.cs
- AsymmetricSignatureFormatter.cs