Commit graph

84 commits

Author SHA1 Message Date
the_fiddler 600f657b70 Improved interoperation with System.Drawing with new addition, subtraction and implicit conversion operators, as well as additional method overloads.
Only expose fields through public properties to allow for parameter validation.
2009-11-02 07:20:59 +00:00
the_fiddler ff572e83b7 Added experimental OpenTK.Point/Size/Rectangle alternatives to System.Drawing, to make OpenTK usable without referencing System.Drawing (disabled by default, #define EXPERIMENTAL to test). Modified a number of using directives and namespace qualifiers to accommodate this change. 2009-11-01 12:44:38 +00:00
the_fiddler 83514567f4 Corrected documentation on the M42 property. Fixes issue [#1227]: "Matrix4.M42 documentation". 2009-10-14 18:30:12 +00:00
the_fiddler 34f36d579f Added missing CreatePerspectiveFieldOfView and CreatePerspectiveOffCenter methods (fixes issue [#1226]: "Matrix4d.CreatePerspectiveFieldOfView").
Replaced several instances of float values by double equivalents.
2009-10-13 21:33:59 +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 6b79a2d251 Fixed formatting. 2009-10-06 08:57:48 +00:00
the_fiddler ce77b57566 Implemented Quaternion scaling by scalars. Fixes issue [#1131]: "[Math] add Quaternion scaling (easy)". 2009-09-05 16:17:47 +00:00
the_fiddler 00930380b5 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 33db1f6b74 Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +00:00
the_fiddler 7601c2b57d Removed this property to maintain parity with the Matrix4 structure. 2009-09-04 21:37:53 +00:00
the_fiddler abf3787e8e Added missing XML documentation and fixed invalid XML doc references.
Removed deprecated methods from IGraphicsContext.
2009-09-04 21:25:29 +00:00
the_fiddler 72f0fb86da Added missing Matrix4./Matrix4d.CreateRotation[XYZ] methods.
Added missing Matrix4d.CreateFromAxisAngle method.
Fixed Matrix4d constructor to take double parameters instead of float.
2009-09-04 13:02:23 +00:00
the_fiddler b240db8cd9 Added mathematical constants used by XNA (Pi, E, logarithms).
Removed unused code.
2009-08-14 14:15:30 +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 276675fd9c Merged fix for bug [#1060]: "Wrong XML Comment on the W property in Vector4[d]". 2009-08-01 14:24:47 +00:00
the_fiddler 16dd351255 Added NextPowerOfTwo float and double overloads. 2009-07-19 20:58:35 +00:00
the_fiddler 7726212921 Replaced tabs with spaces. 2009-07-17 08:27:25 +00:00
the_fiddler e8754784f8 Fixed XML docs and remove unnecessary CLSCompliance attributes. 2009-06-28 10:52:58 +00:00
the_fiddler e8cf64a177 Added missing XML docs. 2009-06-28 10:49:10 +00:00
the_fiddler 9b17ee1559 Added several missing XML comments. 2009-06-28 10:33:32 +00:00
the_fiddler 33fb214266 Added CreateFromAxisAngle method. 2009-06-26 21:45:26 +00:00
the_fiddler 42374a73d4 Obsoleted Frustum and Perspective methods in favor of CreatePerspectiveOffCenter and CreatePerspectiveFieldOfView, respectively. 2009-06-25 22:47:01 +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 3f9470e562 Optimized Matrix4/Matrix4d.Mult by unrolling and inlining the multiplications. 2009-06-19 13:44:33 +00:00
the_fiddler 402e0e6714 Optimized Matrix4.Mult by unrolling the multiplications. 2009-06-19 13:41:32 +00:00
the_fiddler ade299156d Fixed Matrix4.CreateOrthographicOffCenter (M44 should be 1). 2009-06-08 22:46:18 +00:00
the_fiddler 857003cd3f Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +00:00
the_fiddler 5c40ce638d Fixed a large amount of documentation warnings.
Marked several APIs as obsolete.
2009-06-04 11:22:20 +00:00
the_fiddler 4129b676e5 Added M11-M44 properties to Matrix4 and Matrix4d.
Implemented CreateOrthographic and CreateOrthographicOffCenter static methods. Fixes issue [#676]: "Add Matrix4.Ortho method" (http://www.opentk.com/node/676).
Implemented CreateTranslation methods. Obsoleted Translation() in favor of the new methods.
2009-05-29 16:44:12 +00:00
the_fiddler 045cc93154 Added new matrix constructors that take 16 distinct matrix elements. 2009-04-12 16:34:35 +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 6545358593 Fixed two instances where the obsolete XYZ attribute was being used. 2009-02-22 12:09:23 +00:00
the_fiddler 824a751762 Hopefully fixed all remaining encoding problems. 2009-02-22 11:26:17 +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 4ed886bbf2 Fixed infinite recursion in Quaternion constructor (http://www.opentk.com/node/663). 2009-02-15 16:22:49 +00:00
the_fiddler 501a728532 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +00:00
the_fiddler cb461d90b0 Changed the public fields to properties.
Renamed XYZ property to Xyz, in accordance to the guidelines for class libraries.
Added the SerializableAttribute.
2009-02-13 20:40:19 +00:00
the_fiddler 5281902f60 Implemented IEquatable interface.
Fixed ToAxisAngle implementation at 0-degree angles.
Added ToAxisAngle overload that returns a Vector4 struct.
2009-02-13 19:53:46 +00:00
the_fiddler e187ed5a18 Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +00:00
chrisbrandtner da7972ad37 Added explicit operators for converting single-precision Vector234 <-> double-precision Vector234d. 2009-02-13 13:26:39 +00:00
the_fiddler 989b0c81c6 Added (Vector3, float) and (Vector3d, double) constructors. 2009-01-29 00:41:09 +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 a29d72fc90 Suppress cls-compliance warnings (should be restored when the code goes public). 2008-12-02 16:02:08 +00:00