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
- AddInContractAttribute.cs
- XmlILModule.cs
- ResourceDefaultValueAttribute.cs
- DataPagerFieldItem.cs
- PKCS1MaskGenerationMethod.cs
- LabelLiteral.cs
- SQLBinary.cs
- embossbitmapeffect.cs
- HideDisabledControlAdapter.cs
- PropertyEmitterBase.cs
- SerializableAuthorizationContext.cs
- HighContrastHelper.cs
- XmlBinaryReader.cs
- DataGridItemEventArgs.cs
- PathFigureCollection.cs
- PageBreakRecord.cs
- WsatServiceCertificate.cs
- EntryPointNotFoundException.cs
- HtmlHead.cs
- TraceSwitch.cs
- HealthMonitoringSection.cs
- KeyboardEventArgs.cs
- CategoryAttribute.cs
- EntityProxyTypeInfo.cs
- FrameworkContentElement.cs
- AutomationElement.cs
- MemoryPressure.cs
- CmsUtils.cs
- TemplateBuilder.cs
- RtfToXamlReader.cs
- PassportAuthentication.cs
- StateDesigner.Helpers.cs
- DateTimeUtil.cs
- DomainLiteralReader.cs
- AuthenticationManager.cs
- Helpers.cs
- HMACSHA512.cs
- Model3D.cs
- PromptBuilder.cs
- TransformCollection.cs
- ParseElementCollection.cs
- DeferredElementTreeState.cs
- HtmlInputReset.cs
- ConstraintCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- ImageCodecInfo.cs
- OutArgument.cs
- SqlXmlStorage.cs
- InfiniteIntConverter.cs
- DispatcherHookEventArgs.cs
- SqlNamer.cs
- Quaternion.cs
- WebServiceEndpoint.cs
- AttributeUsageAttribute.cs
- TextViewBase.cs
- TableAdapterManagerMethodGenerator.cs
- Size3D.cs
- PtsPage.cs
- ConfigXmlSignificantWhitespace.cs
- EventLogSession.cs
- CompositeKey.cs
- MouseGesture.cs
- SmtpClient.cs
- ObjectDataProvider.cs
- KnownColorTable.cs
- XmlParserContext.cs
- ArraySortHelper.cs
- Floater.cs
- WebDescriptionAttribute.cs
- SafeLibraryHandle.cs
- ClientSettingsSection.cs
- InkPresenterAutomationPeer.cs
- FileDialog_Vista.cs
- RtfFormatStack.cs
- HttpCapabilitiesEvaluator.cs
- HttpListenerRequest.cs
- FieldNameLookup.cs
- UrlMapping.cs
- UnauthorizedWebPart.cs
- ColorAnimationUsingKeyFrames.cs
- RenderDataDrawingContext.cs
- Thread.cs
- BitmapPalette.cs
- FlowLayoutSettings.cs
- WebPageTraceListener.cs
- SchemaConstraints.cs
- MsmqBindingBase.cs
- PerfCounterSection.cs
- VoiceInfo.cs
- ImplicitInputBrush.cs
- CursorEditor.cs
- IntegerFacetDescriptionElement.cs
- ColorMatrix.cs
- CompositeCollection.cs
- externdll.cs
- NumericUpDown.cs
- XPathScanner.cs
- DebugHandleTracker.cs
- HMACSHA256.cs
- PlatformNotSupportedException.cs