Commit Graph

48 Commits

Author SHA1 Message Date
Markus Ewald
504d96eb0a Added a new class PathHelper with a method that converts absolute paths into relative paths
git-svn-id: file:///srv/devel/repo-conversion/nusu@49 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-24 19:18:33 +00:00
Markus Ewald
e281b5cbb3 Added status reporting interface to provide a generalized interface for background processes to report their current status; tried to improve documentation of the Progression and RectanglePacker classes
git-svn-id: file:///srv/devel/repo-conversion/nusu@48 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-23 20:06:26 +00:00
Markus Ewald
96e546c2f4 Renamed the 'Documentation' folder of all projects involved in Nuclex.FireFight to 'Documents'
git-svn-id: file:///srv/devel/repo-conversion/nusu@47 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-10 18:50:50 +00:00
Markus Ewald
99312edc17 Removed commented out progression start events entirely in progress tracking framework, no cases found were it would have been of use
git-svn-id: file:///srv/devel/repo-conversion/nusu@46 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-05 20:09:35 +00:00
Markus Ewald
c230f0ce7c Renamed UnintrusivePriorityQueue to PairPriorityQueue; Switched PairPriorityQueue to work on PriorityItemPairs instead of eating up the priority value once the item was added; PriorityQueue and PairPriorityQueue now both work on the default comparer or use a custom comparer specified in the constructor
git-svn-id: file:///srv/devel/repo-conversion/nusu@45 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-05 18:20:10 +00:00
Markus Ewald
4b0d3d26cc Some lesser XML documentation improvements
git-svn-id: file:///srv/devel/repo-conversion/nusu@44 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-08-31 21:24:40 +00:00
Markus Ewald
caeee49f4a Added an empty line between the license section and the using statements; fixed a wrong comment in ObservableCollection.cs
git-svn-id: file:///srv/devel/repo-conversion/nusu@43 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-24 20:15:19 +00:00
Markus Ewald
9f4751ae39 Removed AcquiringCollection because in hindsight, the design added little value and even required some workarounds to be fully usable in the classes it was intended to simplify; added mono/linux build for the assembly
git-svn-id: file:///srv/devel/repo-conversion/nusu@42 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-24 19:51:51 +00:00
Markus Ewald
cf92f22b31 Switched the parenting collection back to derive directly from the .NET Framework collection class to simplify the implementation of the DisposeItems() method; fixed some documentation errors in one of the rectangle packers
git-svn-id: file:///srv/devel/repo-conversion/nusu@41 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-19 20:02:05 +00:00
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
acbb07d6b5 Some more unit tests; improved documentation; improve useless speed optimization of an exceptional case
git-svn-id: file:///srv/devel/repo-conversion/nusu@39 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-12 22:16:11 +00:00
Markus Ewald
81cb56f468 Fixed some possible issues in the ProgressionTracker; wrote several new NMock-assisted tests for it
git-svn-id: file:///srv/devel/repo-conversion/nusu@38 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-12 22:02:23 +00:00
Markus Ewald
ba1cee917d Redesigned the Collection framework to incorporate a more general variant of the ObservableCollection<> class; ParentingCollection class now makes use of this new inbetween class; ParentingCollection now has a cleaner way to dispose its members than the original InternalDispose() method
git-svn-id: file:///srv/devel/repo-conversion/nusu@37 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-10 19:25:18 +00:00
Markus Ewald
4933604495 Queue operation fully implemented; added small unit test for queue operation; some comment improvements in other code sections
git-svn-id: file:///srv/devel/repo-conversion/nusu@36 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-10 18:15:34 +00:00
Markus Ewald
850db0cded Fully implemented the ProgressionTracker and created some NMock-assisted unit tests for validating its proper functioning
git-svn-id: file:///srv/devel/repo-conversion/nusu@35 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-09 21:41:21 +00:00
Markus Ewald
344e5fac53 Began implementing the ProgressionTracker
git-svn-id: file:///srv/devel/repo-conversion/nusu@34 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-05 20:02:02 +00:00
Markus Ewald
46c0ac68af Found a probably good implementation for the Operation class
git-svn-id: file:///srv/devel/repo-conversion/nusu@33 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-04 19:19:48 +00:00
Markus Ewald
b73d7846d8 Made adjustments to reflect the recent name change of Nuclex.SpecialFx to Nuclex.Graphics.Effects; fixed all remaining compiler warnings
git-svn-id: file:///srv/devel/repo-conversion/nusu@32 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-02 18:54:34 +00:00
Markus Ewald
1ae0c7de63 Added an AsyncStarted event to the progression class, currently disabled for further consideration; set up the outline of a new spatial partitioning framework with an R*-Tree implementation; new AbortedException for indicating that a process was forcefully aborted
git-svn-id: file:///srv/devel/repo-conversion/nusu@31 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-01 19:27:40 +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
Markus Ewald
acdea736b6 Added CPL statement in front of all source files
git-svn-id: file:///srv/devel/repo-conversion/nusu@18 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-11 21:15:35 +00:00
Markus Ewald
9268c3251f Removed reparent call from ParentingCollection.Dispose() method. If a class deriving from ParentingCollection wants to disconnect all its items in order to prevent collection elements from accessing their owner (which might have been disposed already), it can still Reparent() the collection to null manually
git-svn-id: file:///srv/devel/repo-conversion/nusu@17 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-10 19:11:28 +00:00
Markus Ewald
84324eb936 Moved events to top of class to stay conformant with coding standards
git-svn-id: file:///srv/devel/repo-conversion/nusu@16 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-09 19:17:53 +00:00
Markus Ewald
7ec11b91b9 Several small optimizations; improved XML comments; added a text file for storing general ideas about the design of Nuclex.Support
git-svn-id: file:///srv/devel/repo-conversion/nusu@15 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-08 18:42:00 +00:00
Markus Ewald
88390bc38d Improved documentation
git-svn-id: file:///srv/devel/repo-conversion/nusu@14 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-05-02 19:25:21 +00:00
Markus Ewald
0008304d64 SetProgression fully working and tested, yay!; remedied a little imperfection that would theoretically allow progressions to trigger the end even twice
git-svn-id: file:///srv/devel/repo-conversion/nusu@13 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-20 18:04:19 +00:00
Markus Ewald
71b6dc90a2 SetProgression partially working; wrote several unit tests using the NMock library; lots of smaller improvements to the progression classes
git-svn-id: file:///srv/devel/repo-conversion/nusu@12 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-19 18:18:34 +00:00
Markus Ewald
cefbc78868 Reorganized the directory structure a bit; Created a new transforming collection for exposing the types in a collection under a different interface; moved Operation and associated classes to a new namespace; Implemented the basics of the SetProgression's observation mechanics
git-svn-id: file:///srv/devel/repo-conversion/nusu@11 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-18 20:20:03 +00:00
Markus Ewald
f38a0bc1ea Moved licensing classes to proper namespace; rethought the progression result design (removed outcome reporting entirely); Began implementation of a progression set class for grouping progressions
git-svn-id: file:///srv/devel/repo-conversion/nusu@10 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-16 18:31:59 +00:00
Markus Ewald
2d145ca867 Provided a common class for observable collections similar to what the .NET Framework 3.0 offers; ParentingCollection no longer requires the parent type to be a reference type; Laid the foundation for a new progress tracking framework that can be used to drive progress bars, loading screens and such
git-svn-id: file:///srv/devel/repo-conversion/nusu@9 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-16 17:18:16 +00:00
Markus Ewald
5aef46ca7a Various conformity issues to coding guidelines fixed; documented all exceptions being thrown
git-svn-id: file:///srv/devel/repo-conversion/nusu@7 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-04-02 18:48:28 +00:00
Markus Ewald
f4b2062e19 Added license key class that had been lingering in the code snippets sections of my homepage for months now
git-svn-id: file:///srv/devel/repo-conversion/nusu@6 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-03-28 22:19:34 +00:00
Markus Ewald
c346a07ab0 Added serialization methods for vectors and matrices
git-svn-id: file:///srv/devel/repo-conversion/nusu@5 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-03-20 18:34:34 +00:00
Markus Ewald
d813756eed Fully implemented the priority collection; Created a wrapper for non-intrusive priority collections that keep the priority external to the object; wrote unit tests for both
git-svn-id: file:///srv/devel/repo-conversion/nusu@4 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-03-05 18:22:31 +00:00
Markus Ewald
d339e00bce Made the Dispose() method of the parenting collection public (for now only?); found another, better, priority queue implementation to use for reference
git-svn-id: file:///srv/devel/repo-conversion/nusu@3 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-03-01 21:24:19 +00:00
Markus Ewald
fb7dba1c2c Renamed project file to stay consistent with the current conventions; corrected the copy & paste error in the BinarySerializer's unit test comments; added temporary build files to svn:ignore list
git-svn-id: file:///srv/devel/repo-conversion/nusu@2 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-02-28 20:55:21 +00:00
Markus Ewald
ce8df64be5 Imported newly created Nuclex.Support library which contains various supporting classes not related to a specific topic
git-svn-id: file:///srv/devel/repo-conversion/nusu@1 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-02-28 20:20:50 +00:00