Commit Graph

13 Commits

Author SHA1 Message Date
Markus Ewald
fba9d87e65 The rectangle packers now throw a proper exception when there is no more space available; Moved interface implementations of the TransformingReadOnlyCollection into a separate file to keep the main body of the class readable
git-svn-id: file:///srv/devel/repo-conversion/nusu@40 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-16 20:09:51 +00:00
Markus Ewald
6d79fe3ebc Added new generic WeakReference class for typesafe weak reference usage
git-svn-id: file:///srv/devel/repo-conversion/nusu@30 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-06-18 21:25:16 +00:00
Markus Ewald
991fab9721 Added quaternion serialization; serialization methods now always work on references to improve performance; removed dead code from CygonRectanglePacker; improved commenting on Progression framework
git-svn-id: file:///srv/devel/repo-conversion/nusu@29 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-06-12 19:15:55 +00:00
Markus Ewald
979e6328fb Fixed a warning resulting from an invalid character in an XML comment; renamed findBestPlacement() to tryFindBestPlacement() which is more in sync with the conventions used by the .NET framework
git-svn-id: file:///srv/devel/repo-conversion/nusu@28 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-31 19:15:39 +00:00
Markus Ewald
d977552d8f Some minor cosmetic fixes; improved several variable names; added more commentation
git-svn-id: file:///srv/devel/repo-conversion/nusu@27 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-28 18:11:41 +00:00
Markus Ewald
02cea246b5 Removed wasted space determination code entirely - it'll be in my repository should I ever want to see it again ;)
git-svn-id: file:///srv/devel/repo-conversion/nusu@26 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-22 21:09:00 +00:00
Markus Ewald
9157bf8454 Finally disabled wasted area calculation for good in the 'cygon' packer because benchmarks show it as being counterproductive; implemented rectangle placement optimization as it is done in the original 'arevalo' packer - the C# version should now produce the exact identical results the C++ version does
git-svn-id: file:///srv/devel/repo-conversion/nusu@25 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-22 20:15:48 +00:00
Markus Ewald
dbc1da27a8 Made the scoring influence of wasted area for the "cygon" packer configurable
git-svn-id: file:///srv/devel/repo-conversion/nusu@24 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-22 17:57:20 +00:00
Markus Ewald
116fb53b0a Renamed Allocate() methods to Pack() in RectanglePacker; fixed an oversight in Nuclex.Support that made overlapping rectangles possible; reactivated wasted area calculation for 'cygon' rectangle packer
git-svn-id: file:///srv/devel/repo-conversion/nusu@23 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-21 19:04:48 +00:00
Markus Ewald
4fd0680ae7 New "Cygon" Packer is working and promptly achieved a new space efficiency record
git-svn-id: file:///srv/devel/repo-conversion/nusu@22 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-20 21:03:21 +00:00
Markus Ewald
5756ed94b3 Integration of new rectangles into silhouette data structure seems to be working properly
git-svn-id: file:///srv/devel/repo-conversion/nusu@21 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-20 20:39:09 +00:00
Markus Ewald
62d54b5795 Began rolling out a new, more effective rectangle packer; renamed the previous 'Cygon' algorithm to 'Simple' because of its simplicity
git-svn-id: file:///srv/devel/repo-conversion/nusu@20 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-16 21:27:59 +00:00
Markus Ewald
d09bb30cec Added a small rectangle packing library for optimally arranging smaller rectangles within one larger rectangle
git-svn-id: file:///srv/devel/repo-conversion/nusu@19 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-16 20:28:23 +00:00