This is the kind of spam I can deal with - Thank you for those corrections
Quote: "On my project I was using a master ID machine but after reading this it looks like having an object maker for each object type is ideal, avoids large switch, or if-than-else blocks and has the ability to govern those ID numbers specific to the rules of the object (such as limited number of cameras and lights)."
That's spot on. The decision as to which ID to retrieve from is made at compile time, while the switch/if method means that the decision is made at run time using cycles that can be better used elsewhere.
Quote: "Does that only allow you to create a single instance of the class?"
The noncopyable modifier does exactly what it says - You can create as many instances of the class as you want, but you can't copy them.
The reason I use it is due to C++'s tendency to create a 'bit-copy' copy constructor/assignment operator if you don't code them yourself, making it far too easy to copy an object that wasn't designed to be copied. The ID objects and 3D Objects are both prime examples and I'm sure you've seen my reasoning in the document.
To be honest, I thought that I'd explained that quite well - If I didn't, let me know and I'll try and fix it.
Again, thanks for reading