Index: trunk/src/defs/class_id.h
===================================================================
--- trunk/src/defs/class_id.h	(revision 6276)
+++ trunk/src/defs/class_id.h	(revision 6278)
@@ -18,15 +18,14 @@
 /*!
  * @file class_id.h
- * @brief list of orxonox classID's
+ * @brief list of orxonox ClassID's
  *
  *  this File is used to identify an Object with its class and also with its sub/super-classes.
- *  this is also used by the ObjectManager to identify and load important classes
+ *  this is also used by the ObjectManager/Factory to identify and load important classes
  *
  *  !! important !!
  *  When adding a new CLASS be sure about the following:
  *    1. if it is a (SUB)SUPERCLASS make sure there is still space left (if not think of a new approach)
- *    2. if it is a (SUB)SUPERCLASS also add the CLASS to BaseObject::whatIs() so we have nice output :)
- *    3. check if the Number you add is not refered to twice, and that with (SUB)SUPERCLASSES there are no intersections
- *    4. be sure to add you stuff in the right section, and don't interest yourself for the order of things. :)
+ *    2. check if the Number you add is not refered twice, and that with (SUB)SUPERCLASSES there are no intersections
+ *    3. be sure to add you stuff in the right section, and don't interest yourself for the order of things. :)
  */
 
@@ -37,13 +36,24 @@
 /**
  * inheritance is done in the following way: Classes are identified by
- * a HEX-number eg: 0x12345678
+ * a HEX-number eg: 0xa0b18a05
  * The number has 8^4 entries.
- * The first two: 1,2 superclass identifiers to
- * The second three are for subclasses with inheritance:
- *  the first of these numbers is defining the subclassType, it may be anything between 1-a
- *  The following two may not be the same in any way,
- * eg. the bits may not intersect (no 1, 2 and a 3; 01, 02 and 04, 08, 10  would be ok)
- * The last three entries are for any classes in existence eg. SkyBox and so on
- *
+ *
+ * -------------------------------------------------------------------------------------------
+ * Consider the Identifiers 0xABCDEFGH
+ * The first two: A and B are superclass Identifiers !! THEY ARE ALREADY FULL !!
+ *
+ * The second three are for sub-superclass-groups inheritance:
+ *  C: a Group identifier: can be anything from 1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h
+ *  D,E: Member within the Group, to specify further deriavtions within the Group.
+ *       These may be anything from 1,2,4,8 (at D and E)
+ *  !! consider, that you may not have a derivated class from group a and group b.
+ *
+ * The last three entries F,G,H are for any leaf classes in existence.
+ * they are ordered in the following way:
+ *  F: LEAF-GroupSpecifier
+ *  G,H: UNIQUE NUMBER eithin F-Group.
+ * -------------------------------------------------------------------------------------------
+ *
+ * COUNT:
  * -> # max SuperClass-count        = 7 (not intersecting)
  *    # max SubSuperClass-count     = 15*7 = 105 (the 7 classes will be able to get derived from each other, but not over the SubSuperClass.)
@@ -198,5 +208,5 @@
   CL_BOUNDING_VOLUME            =    0x00a10000,
   CL_OBB                        =    0x00020617,
-  CL_BOUNDING_SPHERE            =    0x00a40618,
+  CL_BOUNDING_SPHERE            =    0x00040618,
 
   // graphical stuff (range from 0x00000800 to 0x000009ff)
@@ -216,10 +226,10 @@
   CL_SHADER                     =    0x00000822,
   // GL-GUI
-  CL_GLGUI_WIDGET               =    0x00501901,
-  CL_GLGUI_BUTTON               =    0x00502902,
+  CL_GLGUI_WIDGET               =    0x00500000,
+  CL_GLGUI_BUTTON               =    0x00001000,
   CL_GLGUI_PUSHBUTTON           =    0x00000903,
   CL_GLGUI_CHECKBUTTON          =    0x00000904,
   CL_GLGUI_RADIOBUTTON          =    0x00000905,
-  CL_GLGUI_CONTAINER            =    0x00504906,
+  CL_GLGUI_CONTAINER            =    0x00002906,
   CL_GLGUI_BOX                  =    0x00000907,
   CL_GLGUI_FRAME                =    0x00000908,
@@ -248,23 +258,23 @@
   CL_ANIMATION                  =    0x00000d01,
   //  CL_ANIMATION3D                =    0x00000b02,
-  CL_QUICK_ANIMATION            =    0x00000b02,
-  CL_FACTORY                    =    0x00000b03,
-  CL_INI_PARSER                 =    0x00000b04,
-  CL_LIST                       =    0x00000b05,
-  CL_SUBSTRING                  =    0x00000b06,
-  CL_LOAD_PARAM                 =    0x00000b07,
-  CL_CURVE                      =    0x00000b08,
-  CL_VECTOR                     =    0x00000b09,
-  CL_CHARACTER_ATTRIBUTES       =    0x00000b0a,
-  CL_TRACK_ELEMENT              =    0x00000b0b,
-  CL_NUMBER                     =    0x00000b0c,
-  CL_EXECUTOR                   =    0x00000b0d,
-  CL_FAST_FACTORY               =    0x00000c01,
-  CL_SHELL                      =    0x00000c10,
-  CL_SHELL_COMMAND              =    0x00000c11,
-  CL_SHELL_COMMAND_CLASS        =    0x00000c12,
-  CL_SHELL_INPUT                =    0x00000c13,
-  CL_SHELL_COMPLETION           =    0x00000c14,
-  CL_SHELL_COMMAND_ALIAS        =    0x00000c15,
+  CL_QUICK_ANIMATION            =    0x00000d02,
+  CL_FACTORY                    =    0x00000d03,
+  CL_INI_PARSER                 =    0x00000d04,
+  CL_LIST                       =    0x00000d05,
+  CL_SUBSTRING                  =    0x00000d06,
+  CL_LOAD_PARAM                 =    0x00000d07,
+  CL_CURVE                      =    0x00000d08,
+  CL_VECTOR                     =    0x00000d09,
+  CL_CHARACTER_ATTRIBUTES       =    0x00000d0a,
+  CL_TRACK_ELEMENT              =    0x00000d0b,
+  CL_NUMBER                     =    0x00000d0c,
+  CL_EXECUTOR                   =    0x00000d0d,
+  CL_FAST_FACTORY               =    0x00000d01,
+  CL_SHELL                      =    0x00000d10,
+  CL_SHELL_COMMAND              =    0x00000d11,
+  CL_SHELL_COMMAND_CLASS        =    0x00000d12,
+  CL_SHELL_INPUT                =    0x00000d13,
+  CL_SHELL_COMPLETION           =    0x00000d14,
+  CL_SHELL_COMMAND_ALIAS        =    0x00000d15,
 
   // Spatial Data Separation
