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
- SmtpLoginAuthenticationModule.cs
- DrawingCollection.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- CommentEmitter.cs
- AssociationSet.cs
- TraceListeners.cs
- DataTrigger.cs
- SqlRewriteScalarSubqueries.cs
- FormattedText.cs
- FirstMatchCodeGroup.cs
- TransformationRules.cs
- FontUnit.cs
- InvalidComObjectException.cs
- ImageAttributes.cs
- PeerEndPoint.cs
- Process.cs
- XmlDataDocument.cs
- BaseCollection.cs
- SafeEventHandle.cs
- FlowDocumentReaderAutomationPeer.cs
- CancellationHandler.cs
- EntityDataSourceColumn.cs
- MeshGeometry3D.cs
- LocatorBase.cs
- FormsAuthenticationModule.cs
- TabRenderer.cs
- TransformProviderWrapper.cs
- WorkflowQueuingService.cs
- TypeGeneratedEventArgs.cs
- VisualStyleInformation.cs
- BCLDebug.cs
- ResourceExpressionBuilder.cs
- StrongNameUtility.cs
- ThreadTrace.cs
- XsltContext.cs
- ResXResourceWriter.cs
- OdbcEnvironment.cs
- CqlWriter.cs
- NamedPipeTransportElement.cs
- DynamicUpdateCommand.cs
- DateTimeOffset.cs
- AdapterUtil.cs
- TypeElement.cs
- ChtmlFormAdapter.cs
- SpeechRecognitionEngine.cs
- COM2Enum.cs
- TemplatedEditableDesignerRegion.cs
- CryptoApi.cs
- IntSecurity.cs
- AllMembershipCondition.cs
- WhereaboutsReader.cs
- ILGenerator.cs
- XmlParserContext.cs
- CacheAxisQuery.cs
- QilNode.cs
- QuadraticBezierSegment.cs
- NamespaceExpr.cs
- Single.cs
- StrokeNodeOperations.cs
- ThemeableAttribute.cs
- TransactionFilter.cs
- SequentialOutput.cs
- ReferenceSchema.cs
- securitycriticaldataformultiplegetandset.cs
- SafeArchiveContext.cs
- EntitySqlQueryCacheEntry.cs
- Misc.cs
- HtmlButton.cs
- ReadOnlyDataSourceView.cs
- DictionarySectionHandler.cs
- FixUp.cs
- DbTransaction.cs
- DictionaryContent.cs
- ThicknessAnimationUsingKeyFrames.cs
- XmlUnspecifiedAttribute.cs
- SchemaConstraints.cs
- ServicePointManagerElement.cs
- NaturalLanguageHyphenator.cs
- GroupQuery.cs
- DataServiceKeyAttribute.cs
- XmlCharCheckingWriter.cs
- ListBindingHelper.cs
- GifBitmapDecoder.cs
- MetadataStore.cs
- ToolboxItemCollection.cs
- EditingCoordinator.cs
- DiscoveryDocumentSearchPattern.cs
- HtmlInputText.cs
- XDRSchema.cs
- MetafileHeader.cs
- DescendentsWalker.cs
- XmlProcessingInstruction.cs
- DWriteFactory.cs
- HtmlControlPersistable.cs
- HGlobalSafeHandle.cs
- Dump.cs
- ListViewCommandEventArgs.cs
- SharedPerformanceCounter.cs
- OptimisticConcurrencyException.cs
- FontEmbeddingManager.cs