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
- ParenthesizePropertyNameAttribute.cs
- OletxCommittableTransaction.cs
- SerialPort.cs
- ActivityCodeDomSerializer.cs
- PropertyTabAttribute.cs
- dbenumerator.cs
- ResetableIterator.cs
- PathStreamGeometryContext.cs
- EventWaitHandle.cs
- SkinBuilder.cs
- InputMethod.cs
- DocumentReference.cs
- RayMeshGeometry3DHitTestResult.cs
- Camera.cs
- RuleProcessor.cs
- InstanceDescriptor.cs
- InlineCollection.cs
- RuleInfoComparer.cs
- HostedHttpTransportManager.cs
- DropShadowBitmapEffect.cs
- EventLogStatus.cs
- Brushes.cs
- SqlComparer.cs
- PingOptions.cs
- DocumentViewerBase.cs
- AdornerLayer.cs
- SharedDp.cs
- ThumbAutomationPeer.cs
- DetailsViewModeEventArgs.cs
- CapabilitiesRule.cs
- EncoderExceptionFallback.cs
- CriticalHandle.cs
- TextBox.cs
- EmbeddedObject.cs
- safemediahandle.cs
- DataErrorValidationRule.cs
- ShaderEffect.cs
- ListMarkerLine.cs
- AccessedThroughPropertyAttribute.cs
- MexHttpBindingCollectionElement.cs
- Int64Animation.cs
- MenuItemStyleCollection.cs
- CodeDirectiveCollection.cs
- HttpCookieCollection.cs
- DateTimeUtil.cs
- HttpRequest.cs
- LockRecoveryTask.cs
- DefaultPrintController.cs
- NameGenerator.cs
- OracleRowUpdatedEventArgs.cs
- DatatypeImplementation.cs
- CorrelationToken.cs
- StructuredTypeEmitter.cs
- DataGridViewHeaderCell.cs
- SharedDp.cs
- IsolatedStorageFileStream.cs
- DesignTimeData.cs
- HtmlMeta.cs
- externdll.cs
- RawStylusInputCustomDataList.cs
- ReferencedCollectionType.cs
- TemplateField.cs
- ImmutableCommunicationTimeouts.cs
- SQLMoneyStorage.cs
- MetadataArtifactLoaderCompositeResource.cs
- ConcurrentDictionary.cs
- CodeRemoveEventStatement.cs
- DocumentationServerProtocol.cs
- TdsRecordBufferSetter.cs
- SubMenuStyle.cs
- MobileControlBuilder.cs
- ConfigurationCollectionAttribute.cs
- ListenDesigner.cs
- NativeActivityContext.cs
- KeyedCollection.cs
- FocusTracker.cs
- ControlParameter.cs
- Assembly.cs
- _OverlappedAsyncResult.cs
- Module.cs
- Dispatcher.cs
- TextBoxRenderer.cs
- httpapplicationstate.cs
- TextTreePropertyUndoUnit.cs
- objectquery_tresulttype.cs
- HyperLinkStyle.cs
- DataControlPagerLinkButton.cs
- FloaterParaClient.cs
- ProfilePropertySettings.cs
- TabControlCancelEvent.cs
- KeyValueConfigurationElement.cs
- ResourcePool.cs
- IdnElement.cs
- IDQuery.cs
- MetadataArtifactLoaderResource.cs
- PropertyGeneratedEventArgs.cs
- ListViewItemSelectionChangedEvent.cs
- IISUnsafeMethods.cs
- EventHandlerList.cs
- Color.cs