<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module CollisionContext-->
<CCCC_Project>
<module_summary>
<lines_of_code value="447" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="95" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="109" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="4.101" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.872" level="0" />
<weighted_methods_per_class_unity value="19" 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="10" level="0" />
<IF4 value="81" level="0" />
<IF4_per_member_function value="********" level="2" />
<IF4_visible value="81" level="1" />
<IF4_visible_per_member_function value="********" level="2" />
<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/ogreopcode/include/OgreCollisionObject.h" line="39" />
<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" />
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/OgreCollisionObject.h" line="55" />
<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>CollisionContext(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="74" />
</extent>
<lines_of_code value="10" 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" />
</member_function>
<member_function>
<name>addObject(CollisionObject *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="111" />
</extent>
<lines_of_code value="7" 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>collide(Real)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="137" />
</extent>
<lines_of_code value="27" level="0" />
<McCabes_cyclomatic_complexity value="7" level="0" />
<lines_of_comment value="9" level="0" />
<lines_of_code_per_line_of_comment value="3.000" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.778" level="0" />
</member_function>
<member_function>
<name>createObject(const String &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="65" />
</extent>
<lines_of_code value="8" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>destroyObject(CollisionObject *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="86" />
</extent>
<lines_of_code value="23" level="0" />
<McCabes_cyclomatic_complexity value="4" level="0" />
<lines_of_comment value="1" level="0" />
<lines_of_code_per_line_of_comment value="23.000" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getAttachedObject(String)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="193" />
</extent>
<lines_of_code value="9" 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>getCheckReport()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="223" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>getCollisionReport()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="211" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>getCollisions(CollisionObject *,CollisionPair **&amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="181" />
</extent>
<lines_of_code value="11" 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>getNumCollisions()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="217" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>getPotentialColliders(const CollisionObject *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="205" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>rayCheck(const Ray,const Real,CollisionType,CollisionClass,CollisionPair **&amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="488" />
</extent>
<lines_of_code value="46" level="1" />
<McCabes_cyclomatic_complexity value="10" level="0" />
<lines_of_comment value="27" level="0" />
<lines_of_code_per_line_of_comment value="1.704" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.370" level="0" />
</member_function>
<member_function>
<name>removeObject(CollisionObject *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="120" />
</extent>
<lines_of_code value="13" 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>reset()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="661" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="4" 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>sphereCheck(const Sphere &amp;,CollisionType,CollisionClass,CollisionPair **&amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="568" />
</extent>
<lines_of_code value="58" level="1" />
<McCabes_cyclomatic_complexity value="13" level="1" />
<lines_of_comment value="28" level="0" />
<lines_of_code_per_line_of_comment value="2.071" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.464" level="0" />
</member_function>
<member_function>
<name>sweptSphereCheck(const Vector3 &amp;,const Vector3 &amp;,Real,CollisionClass,CollisionPair **&amp;,String)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<lines_of_code value="82" level="1" />
<McCabes_cyclomatic_complexity value="17" level="1" />
<lines_of_comment value="24" level="0" />
<lines_of_code_per_line_of_comment value="3.417" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.708" level="0" />
</member_function>
<member_function>
<name>update(Real)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="650" />
</extent>
<lines_of_code value="7" 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>visualize(bool,bool,bool,bool,bool,bool)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<lines_of_code value="110" level="2" />
<McCabes_cyclomatic_complexity value="27" level="1" />
<lines_of_comment value="6" level="0" />
<lines_of_code_per_line_of_comment value="18.333" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="4.500" level="0" />
</member_function>
<member_function>
<name>~CollisionContext()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="53" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="2" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
</procedural_detail>
<structural_detail>
<module>
<name>CollisionContext</name>
<client_module>
<name>CollisionManager</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>
</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/OgreCollisionContext.cpp" line="370" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="488" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="568" />
</extent>
<name>CollisionObject</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="86" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="111" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="120" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="181" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="205" />
</extent>
<name>CollisionPair</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="181" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="488" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="568" />
</extent>
<name>Ray</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="488" />
</extent>
<name>Real</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="137" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="488" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="650" />
</extent>
<name>Sphere</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="568" />
</extent>
<name>String</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="65" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="74" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="193" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<name>Vector3</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="370" />
</extent>
<name>bool</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/ogreopcode/src/OgreCollisionContext.cpp" line="229" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

