Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media3D / Point4D.cs / 1 / Point4D.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: 4D point implementation. // // See spec at [....]/medialayer/Specifications/Avalon3D%20API%20Spec.mht // // History: // 06/04/2003 : [....] - 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
- TemplatePartAttribute.cs
- XmlAttributeAttribute.cs
- ReflectTypeDescriptionProvider.cs
- AutomationProperties.cs
- ToolBarTray.cs
- TextModifierScope.cs
- ViewRendering.cs
- BamlResourceContent.cs
- Dump.cs
- VsPropertyGrid.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- SchemaMapping.cs
- PublisherIdentityPermission.cs
- Duration.cs
- StylusEventArgs.cs
- NumberFormatInfo.cs
- FileVersion.cs
- ColorConverter.cs
- AssemblyInfo.cs
- XmlDocument.cs
- TableNameAttribute.cs
- InteropAutomationProvider.cs
- HtmlElementCollection.cs
- SqlDataSourceCommandEventArgs.cs
- Storyboard.cs
- ListDictionary.cs
- FontWeights.cs
- Wildcard.cs
- LogRestartAreaEnumerator.cs
- SystemColorTracker.cs
- FileDialog.cs
- XamlSerializerUtil.cs
- HtmlButton.cs
- ConfigurationElementProperty.cs
- BitmapCodecInfo.cs
- SQLMoney.cs
- WorkflowViewManager.cs
- ConfigurationManagerHelper.cs
- Transform3D.cs
- SrgsDocumentParser.cs
- LogAppendAsyncResult.cs
- PersonalizationProvider.cs
- IdentityModelStringsVersion1.cs
- Line.cs
- BinaryReader.cs
- TextView.cs
- CodeStatementCollection.cs
- DecoderExceptionFallback.cs
- StrokeNodeOperations2.cs
- ComboBoxItem.cs
- IItemProperties.cs
- MdImport.cs
- WebPartConnectVerb.cs
- ReflectionServiceProvider.cs
- ArrangedElement.cs
- SecurityRequiresReviewAttribute.cs
- AffineTransform3D.cs
- InstanceDescriptor.cs
- DispatcherSynchronizationContext.cs
- ModulesEntry.cs
- CuspData.cs
- InitializationEventAttribute.cs
- DrawingImage.cs
- LinqDataSourceContextEventArgs.cs
- MetafileHeaderWmf.cs
- PenThread.cs
- XmlValidatingReaderImpl.cs
- HttpListenerRequest.cs
- smtppermission.cs
- NTAccount.cs
- ServicePointManager.cs
- TemplateContainer.cs
- SqlError.cs
- QuotedPrintableStream.cs
- Control.cs
- PackageRelationship.cs
- BuildResultCache.cs
- SelectionRange.cs
- TaskFactory.cs
- TakeOrSkipQueryOperator.cs
- Effect.cs
- SessionStateContainer.cs
- Expr.cs
- EmbeddedMailObject.cs
- SqlDependencyUtils.cs
- Visual3D.cs
- RawAppCommandInputReport.cs
- DrawingContextDrawingContextWalker.cs
- FormView.cs
- SystemWebSectionGroup.cs
- ParallelActivityDesigner.cs
- SqlConnectionStringBuilder.cs
- LayoutTable.cs
- TextEditorCharacters.cs
- MD5CryptoServiceProvider.cs
- GlobalizationAssembly.cs
- CodeAttachEventStatement.cs
- GestureRecognitionResult.cs
- TextViewBase.cs
- DictionaryTraceRecord.cs