View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000215 | DarkRadiant | Design/Coding | public | 16.03.2007 19:48 | 21.06.2007 09:59 |
Reporter | orbweaver | Assigned To | greebo | ||
Priority | low | Severity | tweak | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 0.9.0 | ||||
Fixed in Version | 0.9.1 | ||||
Summary | 0000215: Replace templated casting system with dynamic_cast | ||||
Description | Remove the ugly home-grown casting system which uses templates and void* pointers, with a more idiomatic system based on dynamic_cast and shared_ptr classes (rather than scene::Node& etc). This is a very large task. | ||||
Tags | No tags attached. | ||||
Note that this will most probably require to rewrite all scenegraph items (patches, brushes, entities, etc.), because of the inconsistent way the casts are performed (there are NodeCasts and NodeContainedCasts, the latter of which allowing to cast onto a member object rather than the approached class itself). Pretty screwed design, if you ask me. | |
A very large task, moving to suspended status (may never get done). | |
I actually thought about replacing the Nameable classes or the Renderables to use dynamic_cast<>, they might be implemented more consistently, although I haven't checked more deeply. | |
My assumption was that it wouldn't work to make a partial change -- the whole thing would need to be refactored at once. If this is not the case, and partial implementation is possible, then feel free. | |
I think we can close that one now. | |
Date Modified | Username | Field | Change |
---|---|---|---|
16.03.2007 19:48 | orbweaver | New Issue | |
16.03.2007 19:49 | orbweaver | Status | new => confirmed |
24.03.2007 19:00 | greebo | Note Added: 0000466 | |
05.05.2007 12:21 | orbweaver | Note Added: 0000624 | |
05.05.2007 12:21 | orbweaver | Status | confirmed => suspended |
08.05.2007 14:01 | greebo | Note Added: 0000636 | |
08.05.2007 17:58 | orbweaver | Note Added: 0000637 | |
14.05.2007 14:03 | greebo | Status | suspended => resolved |
14.05.2007 14:03 | greebo | Fixed in Version | => latest SVN |
14.05.2007 14:03 | greebo | Resolution | open => fixed |
14.05.2007 14:03 | greebo | Assigned To | => greebo |
21.06.2007 09:59 | greebo | Status | resolved => closed |
21.06.2007 09:59 | greebo | Note Added: 0000714 |