Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // //// 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
- HttpGetProtocolReflector.cs
- DataMemberAttribute.cs
- StylusEditingBehavior.cs
- TargetParameterCountException.cs
- ContextMenuStrip.cs
- SmtpSection.cs
- SqlResolver.cs
- BaseParser.cs
- wpf-etw.cs
- SqlCachedBuffer.cs
- InputLanguageSource.cs
- SchemaEntity.cs
- SemanticResultKey.cs
- XmlException.cs
- SurrogateSelector.cs
- BitmapEffectRenderDataResource.cs
- ExpressionBinding.cs
- CompiledAction.cs
- ListViewCancelEventArgs.cs
- DesignTimeParseData.cs
- StoreItemCollection.cs
- BooleanFunctions.cs
- BehaviorEditorPart.cs
- ButtonChrome.cs
- SequentialUshortCollection.cs
- WmpBitmapEncoder.cs
- TextSelectionHighlightLayer.cs
- DataServiceQueryContinuation.cs
- SortedList.cs
- HostedElements.cs
- X509ChainElement.cs
- BroadcastEventHelper.cs
- TextSelectionHighlightLayer.cs
- PasswordTextNavigator.cs
- BasicViewGenerator.cs
- SchemaImporter.cs
- XmlElementAttributes.cs
- ProgressiveCrcCalculatingStream.cs
- RequestTimeoutManager.cs
- XmlDataLoader.cs
- DirectionalLight.cs
- CorrelationResolver.cs
- InstalledVoice.cs
- StatusBarDrawItemEvent.cs
- _SpnDictionary.cs
- ArrayTypeMismatchException.cs
- ObjectManager.cs
- webbrowsersite.cs
- Regex.cs
- SafeNativeMethods.cs
- MSHTMLHost.cs
- X509CertificateValidationMode.cs
- PropertyGeneratedEventArgs.cs
- unitconverter.cs
- FlowDocumentPaginator.cs
- Predicate.cs
- CombinedTcpChannel.cs
- UiaCoreApi.cs
- TerminatorSinks.cs
- DateTimeFormatInfo.cs
- EntityDataSourceView.cs
- LocatorPartList.cs
- Span.cs
- WizardForm.cs
- safemediahandle.cs
- XsltConvert.cs
- Publisher.cs
- ConfigurationProperty.cs
- ParseNumbers.cs
- WebPartActionVerb.cs
- FontCacheUtil.cs
- SchemaImporterExtensionElementCollection.cs
- ImageAutomationPeer.cs
- SafeViewOfFileHandle.cs
- RtType.cs
- SQLDoubleStorage.cs
- XmlSchemaComplexContentExtension.cs
- WindowPattern.cs
- BCLDebug.cs
- DocumentPageHost.cs
- ProcessThreadCollection.cs
- Preprocessor.cs
- Operator.cs
- CustomCredentialPolicy.cs
- XmlElement.cs
- OdbcEnvironment.cs
- CrossContextChannel.cs
- NamespaceDisplay.xaml.cs
- SqlCaseSimplifier.cs
- AnnotationDocumentPaginator.cs
- SharedPersonalizationStateInfo.cs
- BulletedList.cs
- XmlWhitespace.cs
- JumpTask.cs
- DocumentSequenceHighlightLayer.cs
- BoundColumn.cs
- ApplicationManager.cs
- ZipIOLocalFileBlock.cs
- AssemblySettingAttributes.cs
- XmlChildNodes.cs