Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ForeignConstraint.cs
- SelectedPathEditor.cs
- InfoCardProofToken.cs
- BrowserInteropHelper.cs
- ImageSourceValueSerializer.cs
- ProfileGroupSettingsCollection.cs
- WeakEventTable.cs
- Emitter.cs
- TokenBasedSet.cs
- MarkupExtensionParser.cs
- QilLiteral.cs
- DivideByZeroException.cs
- LocalizationComments.cs
- DateTimeFormat.cs
- WebHttpBindingElement.cs
- DefinitionBase.cs
- ConsumerConnectionPointCollection.cs
- WindowsTooltip.cs
- IndentTextWriter.cs
- ConditionBrowserDialog.cs
- HWStack.cs
- PropertyOverridesDialog.cs
- NullRuntimeConfig.cs
- FrameSecurityDescriptor.cs
- EncoderParameters.cs
- CompilationRelaxations.cs
- StylusEventArgs.cs
- EnumValAlphaComparer.cs
- XmlTextAttribute.cs
- SqlMetaData.cs
- TempEnvironment.cs
- TableCell.cs
- PropertySet.cs
- StaticTextPointer.cs
- OneOfTypeConst.cs
- CommandManager.cs
- LineMetrics.cs
- WebPartActionVerb.cs
- DataObject.cs
- WebRequestModulesSection.cs
- SystemTcpStatistics.cs
- ListItemCollection.cs
- Validator.cs
- DynamicResourceExtension.cs
- UpdatePanel.cs
- ToolTipAutomationPeer.cs
- ActivityLocationReferenceEnvironment.cs
- ContextQuery.cs
- _AcceptOverlappedAsyncResult.cs
- PublisherMembershipCondition.cs
- SHA384.cs
- XPathNodeInfoAtom.cs
- RepeatBehavior.cs
- GridViewRowPresenter.cs
- NativeCppClassAttribute.cs
- UserControlBuildProvider.cs
- DesignerInterfaces.cs
- TypeLibConverter.cs
- DisplayInformation.cs
- LateBoundBitmapDecoder.cs
- ForeignConstraint.cs
- DetailsView.cs
- TransactionTable.cs
- SmtpDigestAuthenticationModule.cs
- FamilyTypefaceCollection.cs
- MaskedTextBoxDesignerActionList.cs
- PositiveTimeSpanValidator.cs
- HTMLTagNameToTypeMapper.cs
- DownloadProgressEventArgs.cs
- Vector3DIndependentAnimationStorage.cs
- coordinatorscratchpad.cs
- ScaleTransform3D.cs
- NodeFunctions.cs
- SkewTransform.cs
- TextInfo.cs
- SystemIPAddressInformation.cs
- SuppressMergeCheckAttribute.cs
- HashAlgorithm.cs
- MDIClient.cs
- SchemaElementLookUpTableEnumerator.cs
- UnhandledExceptionEventArgs.cs
- XmlWrappingWriter.cs
- SimpleType.cs
- OleDbTransaction.cs
- Rectangle.cs
- cache.cs
- Wizard.cs
- EncoderFallback.cs
- ResourceExpression.cs
- KnownBoxes.cs
- AmbientLight.cs
- RangeValidator.cs
- ToolStripDropDownItem.cs
- NegotiateStream.cs
- SchemaImporterExtensionElementCollection.cs
- Line.cs
- DatePicker.cs
- SchemaSetCompiler.cs
- EditorAttribute.cs
- XmlSchemaAny.cs