Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NativeMethods.cs
- PageRanges.cs
- System.Data_BID.cs
- SamlSecurityToken.cs
- ListControlBoundActionList.cs
- FileUtil.cs
- CodeCatchClauseCollection.cs
- Grant.cs
- HebrewNumber.cs
- PlatformNotSupportedException.cs
- ProcessInputEventArgs.cs
- Vector3DAnimationBase.cs
- ImagingCache.cs
- SafeCryptoHandles.cs
- ContainerParaClient.cs
- ToolConsole.cs
- DifferencingCollection.cs
- AsymmetricAlgorithm.cs
- TabItemWrapperAutomationPeer.cs
- EncodingDataItem.cs
- RetrieveVirtualItemEventArgs.cs
- Utils.cs
- ADMembershipUser.cs
- TraceSection.cs
- SpinLock.cs
- ActivityCodeGenerator.cs
- _LoggingObject.cs
- DataServicePagingProviderWrapper.cs
- ProcessInfo.cs
- FlowDocumentReaderAutomationPeer.cs
- ScrollBar.cs
- InstanceDataCollection.cs
- ChangeTracker.cs
- CompilerErrorCollection.cs
- WindowsContainer.cs
- ItemChangedEventArgs.cs
- DBPropSet.cs
- WindowPattern.cs
- DragCompletedEventArgs.cs
- CustomTypeDescriptor.cs
- EnumerableWrapperWeakToStrong.cs
- CodeMemberField.cs
- UidManager.cs
- ObjectItemConventionAssemblyLoader.cs
- DataGridParentRows.cs
- KnownBoxes.cs
- RemotingSurrogateSelector.cs
- CompoundFileReference.cs
- DataGridColumnsPage.cs
- FixedTextSelectionProcessor.cs
- QuotedStringFormatReader.cs
- CodeTypeReferenceExpression.cs
- FixedHyperLink.cs
- ChtmlImageAdapter.cs
- Queue.cs
- SchemaImporterExtension.cs
- ExceptionUtil.cs
- ComboBoxRenderer.cs
- UICuesEvent.cs
- RemoteWebConfigurationHost.cs
- ChangesetResponse.cs
- VisualBrush.cs
- TypeUtil.cs
- DeclarativeCatalogPart.cs
- ContentIterators.cs
- DesignConnection.cs
- TypeSystem.cs
- SystemNetworkInterface.cs
- DetailsViewPageEventArgs.cs
- SoapConverter.cs
- KnownColorTable.cs
- AtomContentProperty.cs
- CatalogZone.cs
- CalendarTable.cs
- Regex.cs
- StaticTextPointer.cs
- Point3DAnimationBase.cs
- CopyAction.cs
- ToolStripRenderer.cs
- _NtlmClient.cs
- WindowShowOrOpenTracker.cs
- SettingsAttributeDictionary.cs
- PerfService.cs
- StoragePropertyMapping.cs
- XmlCharacterData.cs
- WebBrowser.cs
- CodeAccessPermission.cs
- EmissiveMaterial.cs
- DmlSqlGenerator.cs
- WebPartCloseVerb.cs
- XPathDocumentNavigator.cs
- DiscoveryClientReferences.cs
- XmlStreamNodeWriter.cs
- PageHandlerFactory.cs
- Hex.cs
- FlowLayout.cs
- TableAutomationPeer.cs
- WindowsListViewItemCheckBox.cs
- SqlDataAdapter.cs
- Dynamic.cs