<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module CollisionManager-->
<CCCC_Project>
<module_summary>
<lines_of_code value="380" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="99" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="50" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="7.600" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="1.980" level="0" />
<weighted_methods_per_class_unity value="28" level="0" />
<weighted_methods_per_class_visibility value="0" level="0" />
<depth_of_inheritance_tree value="0" level="0" />
<number_of_children value="0" level="0" />
<coupling_between_objects value="5" level="0" />
<IF4 value="0" level="0" />
<IF4_per_member_function value="********" level="0" />
<IF4_visible value="0" level="0" />
<IF4_visible_per_member_function value="********" level="0" />
<IF4_concrete value="0" level="0" />
<IF4_concrete_per_member_function value="********" level="0" />
</module_summary>
<module_detail>
<description>declaration</description>
<source_reference file="./components/ogre/EmberOgre.h" line="58" />
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</module_detail>
<procedural_detail>
<member_function>
<name>CollisionManager(SceneManager *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="53" />
</extent>
<lines_of_code value="23" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="20" level="0" />
<lines_of_code_per_line_of_comment value="1.150" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>addCollClass(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="372" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>addCollType(const String &amp;,const String &amp;,CollisionType)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="412" />
</extent>
<lines_of_code value="23" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="9" level="0" />
<lines_of_code_per_line_of_comment value="2.556" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>attachContext(CollisionContext *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="218" />
</extent>
<lines_of_code value="12" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="3" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>attachShape(ICollisionShape *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="265" />
</extent>
<lines_of_code value="16" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="3" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createBoxCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="198" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createContext(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="112" />
</extent>
<lines_of_code value="11" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="1" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createEntityCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="193" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createMeshCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="188" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createPtrCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="208" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createShape(const String &amp;,const ShapeType)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="126" />
</extent>
<lines_of_code value="54" level="1" />
<McCabes_cyclomatic_complexity value="16" level="1" />
<lines_of_comment value="5" level="0" />
<lines_of_code_per_line_of_comment value="10.800" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="3.200" level="0" />
</member_function>
<member_function>
<name>createSphereMeshCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="203" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>createTerrainCollisionShape(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="213" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>destroyContext(CollisionContext *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="249" />
</extent>
<lines_of_code value="15" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>destroyShape(ICollisionShape *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="302" />
</extent>
<lines_of_code value="15" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>detachContext(CollisionContext *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="234" />
</extent>
<lines_of_code value="14" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>detachShape(ICollisionShape *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="287" />
</extent>
<lines_of_code value="14" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getCollisionTypeEnum(CollisionType)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="382" />
</extent>
<lines_of_code value="24" level="0" />
<McCabes_cyclomatic_complexity value="13" level="1" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="******" level="2" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="******" level="2" />
</member_function>
<member_function>
<name>getContext(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="323" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="2" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getDefaultContext(void)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="334" />
</extent>
<lines_of_code value="8" level="0" />
<McCabes_cyclomatic_complexity value="2" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getResourceID(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="345" />
</extent>
<lines_of_code value="24" level="0" />
<McCabes_cyclomatic_complexity value="8" level="0" />
<lines_of_comment value="4" level="0" />
<lines_of_code_per_line_of_comment value="6.000" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="2.000" level="0" />
</member_function>
<member_function>
<name>getSceneManager(void)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="318" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getSingleton(void)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="48" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getSingletonPtr(void)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="43" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>queryCollClass(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="442" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="2" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>queryCollType(CollisionClass,CollisionClass)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="454" />
</extent>
<lines_of_code value="27" level="0" />
<McCabes_cyclomatic_complexity value="15" level="1" />
<lines_of_comment value="3" level="0" />
<lines_of_code_per_line_of_comment value="9.000" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="5.000" level="0" />
</member_function>
<member_function>
<name>queryCollType(const String &amp;,const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="487" />
</extent>
<lines_of_code value="16" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="0" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>~CollisionManager()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="87" />
</extent>
<lines_of_code value="20" level="0" />
<McCabes_cyclomatic_complexity value="4" level="0" />
<lines_of_comment value="2" level="0" />
<lines_of_code_per_line_of_comment value="10.000" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
</procedural_detail>
<structural_detail>
<module>
<name>CollisionManager</name>
<client_module>
</client_module>
<supplier_module>
<name>CollisionClass</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="454" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="454" />
</extent>
<name>CollisionContext</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="218" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="234" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="249" />
</extent>
<name>ICollisionShape</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="265" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="287" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="302" />
</extent>
<name>SceneManager</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="53" />
</extent>
<name>String</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="112" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="126" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="188" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="193" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="198" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="203" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="208" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="213" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="323" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="345" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="372" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="412" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="412" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="442" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="487" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionManager.cpp" line="487" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>
