Commit graph

50 commits

Author SHA1 Message Date
thefiddler 788b039e32 Merge pull request #220 from Frassle/project
[Math] Vector3 Project and Unproject
2015-05-11 12:07:24 +02:00
Fraser Waters 75961e6895 [Math] Fix NaN issue in CalculateAngle
Clamp dot product between -1 and 1 so acos always has a valid input.
2015-02-21 10:55:39 +00:00
Fraser Waters 79fc848015 [Math] Vector3 Project and Unproject
Add methods to Vector3 to project to and from screen space.
2015-02-14 19:05:59 +00:00
Phyyl 617131066a Added multiplication operator to all vectors 2014-03-17 16:59:09 -04:00
Stefanos A f579d0fd81 Eliminated cls-compliance warnings in the math library 2013-12-15 22:02:08 +01:00
Neil White fc1a8e022b Fix for setting Matrix/Vector values by Index
Many Matrix*/Vector* implementations were throwing
IndexOutOfBoundsException when you tried to set their values via their
indexer due to a missing else statement.
2013-09-24 15:46:34 +01:00
Tom Edwards 11114ca4ea Extra maths features
- Added TranslationPart, ScalePart and RotationPart properties to
Matrix4
- Added Normalized() to Vector2/3/4, Quaternion and Matrix
2013-02-18 18:46:26 +00:00
Robert Rouhani 3a9dfc62ad Fixed extra endregion directive that prevented compilation.
Fixed some warnings about csproj files.
2013-01-16 22:11:18 -08:00
Robert Rouhani 1712057977 Removed swizzles that had duplicate components. 2013-01-16 19:21:54 -08:00
Robert Rouhani 59c652aaf8 Added all swizzle permutations up to the vector's dimension. 2013-01-16 18:01:07 -08:00
Andy Korth 6500e176df A bit of cleanup on the Vector ToStrings 2013-01-08 12:04:21 -06:00
Andy Korth 1939bc789d Added index getters and settors for Vector and Matrix classes 2013-01-03 10:39:15 -06:00
Andy Korth 84e97adf45 Address OpenTK Issue 1880 2013-01-03 10:14:59 -06:00
the_fiddler f925ec1507 Modified TransformPerspective to work correctly with orthographic projection matrices. Fixes issue [#1827]: "OpenTK.Vector3.TransformPerspective code is wrong". 2010-11-21 00:09:50 +00:00
the_fiddler adc4d1ae59 Added 1-parameter constructors. 2010-11-15 22:34:52 +00:00
the_fiddler f12cbf1cd5 Synced trunk with 1.0 branch. 2009-11-16 18:45:41 +00:00
the_fiddler c6ae9ae3fe Applied fix for use of C# 3.0 features from 1.0 branch. 2009-11-11 23:16:42 +00:00
the_fiddler eb92aa8223 Implemented Tranform(Vector, Quaternion) overloads. Fixes issue [#1028]: "[Math] Add vector transformation by quaternion". 2009-11-03 12:20:21 +00:00
the_fiddler eeda1bf866 Fixed Vector3.Transform signature to return a Vector3, not a Vector4. It was previously impossible to transform a Vector3 structure without intermediate conversions to Vector4. 2009-11-03 11:45:20 +00:00
the_fiddler 8992f90571 Replaced calls to obsolete methods.
Fixed parameters in double versions of BaryCentric() (should be double instead of float).
2009-10-06 09:51:13 +00:00
the_fiddler f926595b64 Obsoleted Scale() instance method (reason: redundant. Mult()/Multiply() instance/static methods can be used to achieve the same effect). 2009-10-06 09:45:09 +00:00
the_fiddler 65c6b29918 Added vector overloads to Multiply and Divide methods.
Renamed Sub to Subtract, Mult to Multiply and Div to Divide (reason: conform with the class library design guidelines).
Obsoleted instance Add, Sub, Mult and Div methods in favor of static ones (reason: reduce API bloat, they are completely redudant).
Improved documentation for new methods.
2009-10-06 09:42:21 +00:00
the_fiddler 00930380b5 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 3cfc3906b8 Obsoleted OpenTK.Functions in favor of OpenTK.MathHelper (reason: XNA compatibility).
Added Matrix4.LookAt overload that does not use Vector3 parameters.
2009-08-14 12:37:18 +00:00
the_fiddler df6671cb4a Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler 857003cd3f Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +00:00
the_fiddler d4aef922bc Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +00:00
the_fiddler 69b17fa43f Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler 501a728532 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +00:00
the_fiddler e187ed5a18 Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +00:00
chrisbrandtner d7498d62b4 Added ref/out overloads to all static Vector*.Transform* methods. 2009-01-25 15:06:42 +00:00
chrisbrandtner 6c22e8522d Removed cast to float from Vector3d.CalculateAngle (unnecessary precision loss as double is returned).
Overloaded static Vector3 and Vector3d CalculateAngle methods.
2009-01-24 16:15:04 +00:00
chrisbrandtner 8c56d505b7 Overloaded instance methods Add, Sub, Scale to pass-vector-by-value and set CLS compliance flags.
Overloaded static method BaryCentric to pass-by-reference.
2009-01-24 14:54:52 +00:00
chrisbrandtner 49e132911d Added instance methods to all single and double precision Vector structs:
Add(ref vec)
Sub(ref vec)
Mult(float)
Div(float)
Scale(ref vec)
2009-01-23 21:55:21 +00:00
chrisbrandtner 1eee53da4f Added ref/out overloads to static Vector*.Dot and Vector*.Lerp methods. Simplified the slow Vector3/Vector3d's static Cross methods. Occasional tweaks to inline documentation (spelling, consistency) 2009-01-23 15:04:53 +00:00
the_fiddler 969d66e9f1 Added OpenEXR terms to the License.
Added Half and Vector[234]h structs.
Added Vector[234]d, Matrix4d and Quaterniond structs.
2008-12-09 20:45:18 +00:00
the_fiddler 57ff9428d6 Documented static public fields.
Added missing SizeInBytes field to Vector2 and Vector4.
2008-11-15 21:36:46 +00:00
the_fiddler 2af017c3ea Added serializable attribute.
Added IEquatable interface and operator== overloads to Matrix4 and Vector* structs.
2008-07-10 14:01:38 +00:00
the_fiddler 0e85f2208d Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:43:35 +00:00
the_fiddler cba3413059 Updated licensing information. 2007-11-10 23:29:25 +00:00
the_fiddler 47dad78e44 george's patch for camera and transform functions. 2007-11-10 18:53:25 +00:00
the_fiddler 61b1a4f804 Added SizeInBytes readonly field. Made UnitX/Y/Z fields readonly. 2007-11-06 20:59:39 +00:00
the_fiddler 5409a5d6b5 Removed (IntPtr) and (float*) cast operators. Added this indexer (Vector3[0], Vector3[0] etc) 2007-11-06 14:01:35 +00:00
the_fiddler d25278e25e Renamed Min/Max to ComponentMin/ComponentMax and added Min and Max functions based on vector length. 2007-11-06 14:00:03 +00:00
the_fiddler cd1b48f207 New math classes by george. 2007-11-04 15:34:04 +00:00
the_fiddler 95da49b8e8 Completed the OpenTK.Math Vector[234] overhaul. Added LengthFast and NormalizeFast functions. Removed overloads. Made the pointer conversions explicit. 2007-10-24 23:40:06 +00:00
the_fiddler a267b4a381 Vector and example updates. 2007-09-25 21:11:16 +00:00
the_fiddler 146fef1135 Complete Vector2, Vector3 and Vector4 structs. 2007-09-25 15:46:52 +00:00
the_fiddler 4b29b626b8 Vector23 math and operator overloads. 2007-09-24 20:11:44 +00:00
the_fiddler 0e3a330065 Added initial OpenTK.Math implementation. Contains Vector2, Vector3 and Vector4 structs. 2007-09-21 23:38:19 +00:00