Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DocumentEventArgs.cs
- Roles.cs
- SettingsSavedEventArgs.cs
- URLMembershipCondition.cs
- TemplatedAdorner.cs
- InstanceCollisionException.cs
- ArrayList.cs
- SoundPlayer.cs
- DBSqlParser.cs
- CompilerHelpers.cs
- DisposableCollectionWrapper.cs
- PageClientProxyGenerator.cs
- SiteOfOriginPart.cs
- AppSettingsSection.cs
- FixedFindEngine.cs
- CookieProtection.cs
- XmlILStorageConverter.cs
- InteropAutomationProvider.cs
- DbException.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- WindowsToolbarAsMenu.cs
- DataGridTableCollection.cs
- WebEventCodes.cs
- XmlHelper.cs
- ContractMethodInfo.cs
- _UriTypeConverter.cs
- ValidatedControlConverter.cs
- TextSpanModifier.cs
- ItemCollection.cs
- IPEndPoint.cs
- indexingfiltermarshaler.cs
- CompleteWizardStep.cs
- EventLogReader.cs
- EmptyReadOnlyDictionaryInternal.cs
- OutputCacheSettings.cs
- DbSourceCommand.cs
- Configuration.cs
- Vector.cs
- PointKeyFrameCollection.cs
- DesignSurfaceManager.cs
- MessageBox.cs
- WizardPanel.cs
- ArrangedElement.cs
- NullExtension.cs
- ObjectPropertyMapping.cs
- RecognizedPhrase.cs
- HttpHandlerActionCollection.cs
- NameValueCollection.cs
- WaitHandleCannotBeOpenedException.cs
- RequestCachingSection.cs
- SocketAddress.cs
- Win32.cs
- ListDictionary.cs
- CollectionChangeEventArgs.cs
- BindingsCollection.cs
- NodeLabelEditEvent.cs
- DbMetaDataCollectionNames.cs
- DateTimeConverter.cs
- SamlAuthenticationStatement.cs
- VerificationException.cs
- TokenBasedSet.cs
- SQLMembershipProvider.cs
- TdsParserHelperClasses.cs
- XDeferredAxisSource.cs
- XmlILAnnotation.cs
- EntityContainerEmitter.cs
- ProxyHwnd.cs
- XmlExtensionFunction.cs
- OperatingSystem.cs
- NullableIntAverageAggregationOperator.cs
- GridErrorDlg.cs
- OutputCache.cs
- DataGridItemCollection.cs
- BaseCAMarshaler.cs
- AsnEncodedData.cs
- AgileSafeNativeMemoryHandle.cs
- TextEditorParagraphs.cs
- GACMembershipCondition.cs
- ImplicitInputBrush.cs
- RefreshPropertiesAttribute.cs
- MemoryPressure.cs
- WebPartTransformerCollection.cs
- formatstringdialog.cs
- LinearGradientBrush.cs
- Model3DCollection.cs
- DragStartedEventArgs.cs
- XmlDictionaryReaderQuotas.cs
- Decorator.cs
- SqlXmlStorage.cs
- CancellationTokenSource.cs
- XmlAttributeHolder.cs
- SafeCryptHandles.cs
- SystemIPGlobalStatistics.cs
- TraceContextEventArgs.cs
- ReferencedAssembly.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TextEvent.cs
- PageFunction.cs
- TranslateTransform3D.cs
- StringArrayConverter.cs