Commit Graph

259 Commits

Author SHA1 Message Date
Markus Ewald
c21ba759cc Renamed FailableOperation to Request, this is a much shorter name that better represents the concept implemented by the class
git-svn-id: file:///srv/devel/repo-conversion/nusu@62 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-26 19:52:28 +00:00
Markus Ewald
533cbba3c5 Moved the failure handling of asynchronous processes from the Operation class into a new intermediate class, FailableProgression; renamed Begin() to Start() in Operation to keep it more in line with System.Threading.Thread; renamed End() method to Join() in the new FailableProgression class for the same reason; improved documentation
git-svn-id: file:///srv/devel/repo-conversion/nusu@61 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-02-07 21:25:34 +00:00
Markus Ewald
fd76346296 Fixed issue in PluginHost introduced by the renaming of the 'LoadedPlugins' property to 'LoadedAssemblies'; fixed an XML comment which was crefing to the wrong class name
git-svn-id: file:///srv/devel/repo-conversion/nusu@60 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-01-07 18:16:34 +00:00
Markus Ewald
d59753b98d Moved all contents of the Nuclex.Plugins project into the Nuclex.Support project; added copyright notices to all files imported from Nuclex.Plugins; updated copyright span year in all copyright notices; minor documentation improvements
git-svn-id: file:///srv/devel/repo-conversion/nusu@59 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-01-07 18:04:02 +00:00
Markus Ewald
4829c8f8d5 Renamed Gui to Screen in the UserInterface library; improved documentation in ProgressionTracker
git-svn-id: file:///srv/devel/repo-conversion/nusu@58 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-20 19:15:33 +00:00
Markus Ewald
57d4c734b6 Upgraded all projects to XNA 2.0; project files now use (x86) instead of (PC) to indicate an x86 build (more logical and readily associated with the build platform); moved all text files into their project's documents folder; fixed any build configuration inconsistencies encountered along the way; renamed Nuclex.Graphics.Effects to Nuclex.Graphics.SpecialEffects to avoid confusion with the XNA 'Effect' class
git-svn-id: file:///srv/devel/repo-conversion/nusu@56 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-14 20:43:34 +00:00
Markus Ewald
b1e97f48bf Improved documentation in various places; added UML design concepts for UserInterface library; created unit tests for the PathHelper class; Gui now has width and height to allow usage of unified coordinates; renamed InputProcessor to InputReceiver
git-svn-id: file:///srv/devel/repo-conversion/nusu@55 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-11-02 21:36:15 +00:00
Markus Ewald
7812f88aca Some minor documentation and formatting fixes
git-svn-id: file:///srv/devel/repo-conversion/nusu@53 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-28 21:31:13 +00:00
Markus Ewald
8962835029 Added serialization methods for the Curve class from the XNA framework; upgraded project to NUnit 2.4.3
git-svn-id: file:///srv/devel/repo-conversion/nusu@52 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-26 20:12:20 +00:00
Markus Ewald
932fdcb6f7 Command line parser now also collects loose arguments like typically used to specify file names or commands in a console application; marginally improved documentation in various places
git-svn-id: file:///srv/devel/repo-conversion/nusu@51 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-25 19:37:45 +00:00
Markus Ewald
93092637cf Added a command line parser that extracts command line arguments and assignments for console-based utility programs
git-svn-id: file:///srv/devel/repo-conversion/nusu@50 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-24 20:16:14 +00:00
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