Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- UDPClient.cs
- Environment.cs
- VisualTreeHelper.cs
- GPRECT.cs
- CounterNameConverter.cs
- NamedPipeHostedTransportConfiguration.cs
- CngAlgorithm.cs
- SqlXml.cs
- AdditionalEntityFunctions.cs
- EmissiveMaterial.cs
- ByteAnimation.cs
- ListViewContainer.cs
- RuleInfoComparer.cs
- StorageEntitySetMapping.cs
- relpropertyhelper.cs
- StreamingContext.cs
- TransformConverter.cs
- TypeSystemHelpers.cs
- HMACSHA256.cs
- SqlDataSourceCommandEventArgs.cs
- ToolStripStatusLabel.cs
- HtmlInputSubmit.cs
- HelloOperationAsyncResult.cs
- AsyncOperation.cs
- URI.cs
- MethodExpr.cs
- Transform3DCollection.cs
- XmlBindingWorker.cs
- SoapParser.cs
- DataGridTextBox.cs
- WCFServiceClientProxyGenerator.cs
- ListBindingConverter.cs
- DictionarySectionHandler.cs
- UriTemplateEquivalenceComparer.cs
- Storyboard.cs
- XmlnsDefinitionAttribute.cs
- CriticalHandle.cs
- ReadWriteSpinLock.cs
- ZipIOBlockManager.cs
- EventLogLink.cs
- ParseNumbers.cs
- ToolStripSeparatorRenderEventArgs.cs
- SessionStateItemCollection.cs
- CompiledQueryCacheEntry.cs
- EasingKeyFrames.cs
- WebHeaderCollection.cs
- BitVector32.cs
- CompositeCollectionView.cs
- IPCCacheManager.cs
- RSAPKCS1KeyExchangeFormatter.cs
- Panel.cs
- _StreamFramer.cs
- TdsParameterSetter.cs
- EntityDataSourceContextDisposingEventArgs.cs
- PackageDigitalSignatureManager.cs
- PathFigureCollectionConverter.cs
- CompositeTypefaceMetrics.cs
- TdsParser.cs
- ValueQuery.cs
- StrokeDescriptor.cs
- InvokeProviderWrapper.cs
- ContentElement.cs
- ApplicationBuildProvider.cs
- TypeDependencyAttribute.cs
- WS2007FederationHttpBindingCollectionElement.cs
- RawUIStateInputReport.cs
- IncrementalCompileAnalyzer.cs
- WebReferencesBuildProvider.cs
- LicenseException.cs
- WindowsStartMenu.cs
- MachineKeySection.cs
- DesignerActionGlyph.cs
- WCFModelStrings.Designer.cs
- RectConverter.cs
- ScrollEvent.cs
- BindingContext.cs
- KeyEventArgs.cs
- RepeaterItem.cs
- ReadOnlyAttribute.cs
- CommandField.cs
- ExpandCollapsePattern.cs
- WebBrowserEvent.cs
- Path.cs
- BamlRecordWriter.cs
- QueryReaderSettings.cs
- HMACSHA512.cs
- ComponentDispatcher.cs
- CollectionViewGroupInternal.cs
- ConnectionInterfaceCollection.cs
- WebScriptEnablingElement.cs
- TextChange.cs
- WmpBitmapEncoder.cs
- FileDetails.cs
- MenuItemBindingCollection.cs
- ValueQuery.cs
- ProxyHelper.cs
- Camera.cs
- ToolStripScrollButton.cs
- XmlSchemaComplexType.cs
- Container.cs