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
- SelectionHighlightInfo.cs
- Encoder.cs
- ObjectNavigationPropertyMapping.cs
- MailWebEventProvider.cs
- PointLight.cs
- MembershipUser.cs
- DetailsViewPagerRow.cs
- CompatibleComparer.cs
- SafeTimerHandle.cs
- SettingsPropertyIsReadOnlyException.cs
- DataMemberListEditor.cs
- iisPickupDirectory.cs
- DbParameterHelper.cs
- EnumDataContract.cs
- CryptoKeySecurity.cs
- ComponentResourceManager.cs
- TraceShell.cs
- SqlDataSourceStatusEventArgs.cs
- HttpCookie.cs
- BlobPersonalizationState.cs
- ParameterBuilder.cs
- XamlPoint3DCollectionSerializer.cs
- ConfigXmlAttribute.cs
- EntryPointNotFoundException.cs
- DependencyPropertyAttribute.cs
- DesignerDataSourceView.cs
- ExtentKey.cs
- TypeHelpers.cs
- WindowsGraphicsWrapper.cs
- MultipartIdentifier.cs
- cryptoapiTransform.cs
- HitTestWithPointDrawingContextWalker.cs
- MetadataCollection.cs
- WebSysDescriptionAttribute.cs
- CommonObjectSecurity.cs
- OperationInvokerBehavior.cs
- CoreChannel.cs
- AsynchronousChannel.cs
- XPathDocumentIterator.cs
- UndoManager.cs
- SqlProfileProvider.cs
- RemoteWebConfigurationHost.cs
- DataListItem.cs
- StorageInfo.cs
- AttributeUsageAttribute.cs
- ReliabilityContractAttribute.cs
- OdbcConnectionPoolProviderInfo.cs
- MethodBuilderInstantiation.cs
- HierarchicalDataBoundControl.cs
- FieldCollectionEditor.cs
- SafeArrayTypeMismatchException.cs
- NativeMethods.cs
- ReadOnlyTernaryTree.cs
- LockedHandleGlyph.cs
- PerspectiveCamera.cs
- GridViewPageEventArgs.cs
- XmlNodeChangedEventArgs.cs
- ObservableCollection.cs
- LocatorBase.cs
- ChunkedMemoryStream.cs
- FontInfo.cs
- FigureParaClient.cs
- TokenizerHelper.cs
- dataobject.cs
- mediaclock.cs
- HMACSHA1.cs
- IxmlLineInfo.cs
- DiagnosticsConfigurationHandler.cs
- PropertyItem.cs
- FloaterBaseParaClient.cs
- ObjectResult.cs
- WindowsSolidBrush.cs
- MouseOverProperty.cs
- XmlEntity.cs
- TextDecoration.cs
- ProviderConnectionPoint.cs
- GraphicsContext.cs
- BuilderInfo.cs
- SemanticAnalyzer.cs
- MediaScriptCommandRoutedEventArgs.cs
- ProcessExitedException.cs
- ProcessThread.cs
- XmlAttributes.cs
- BaseAddressPrefixFilterElement.cs
- NamedPipeTransportManager.cs
- ExceptionHelpers.cs
- FormsIdentity.cs
- DescendantOverDescendantQuery.cs
- SaveFileDialog.cs
- ToolStripTemplateNode.cs
- MenuCommands.cs
- DetailsView.cs
- SqlInternalConnectionSmi.cs
- TextTabProperties.cs
- RtfToXamlLexer.cs
- ISAPIApplicationHost.cs
- LinkDescriptor.cs
- OutputCacheProfileCollection.cs
- TextServicesCompartmentContext.cs
- IgnoreFileBuildProvider.cs