<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module LSSCollider-->
<CCCC_Project>
<module_summary>
<lines_of_code value="157" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="37" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="131" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="1.198" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.282" level="0" />
<weighted_methods_per_class_unity value="16" level="0" />
<weighted_methods_per_class_visibility value="3" level="0" />
<depth_of_inheritance_tree value="2" level="0" />
<number_of_children value="1" level="0" />
<coupling_between_objects value="13" level="0" />
<IF4 value="144" level="1" />
<IF4_per_member_function value="********" level="2" />
<IF4_visible value="144" level="2" />
<IF4_visible_per_member_function value="********" level="2" />
<IF4_concrete value="4" level="0" />
<IF4_concrete_per_member_function value="********" level="2" />
</module_summary>
<module_detail>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="44" />
<lines_of_code value="11" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="5" 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>Collide(...)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="67" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="16" 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(LSSCache &amp;,const LSS &amp;,const AABBTree *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="307" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="69" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="6" level="0" />
<lines_of_comment value="16" level="0" />
<lines_of_code_per_line_of_comment value="------" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.375" level="0" />
</member_function>
<member_function>
<name>Collide(LSSCache &amp;,const LSS &amp;,const Model &amp;,const Matrix4x4 *,const Matrix4x4 *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="95" />
</extent>
<lines_of_code value="40" level="1" />
<McCabes_cyclomatic_complexity value="12" level="1" />
<lines_of_comment value="24" level="0" />
<lines_of_code_per_line_of_comment value="1.667" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.500" level="0" />
</member_function>
<member_function>
<name>InitQuery(LSSCache &amp;,const LSS &amp;,const Matrix4x4 *,const Matrix4x4 *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="168" />
</extent>
<lines_of_code value="70" level="1" />
<McCabes_cyclomatic_complexity value="16" level="1" />
<lines_of_comment value="54" level="0" />
<lines_of_code_per_line_of_comment value="1.296" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.296" level="0" />
</member_function>
<member_function>
<name>LSSAABBOverlap(const Point &amp;,const Point &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSAABBOverlap.h" line="514" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="3" 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>
<member_function>
<name>LSSCollider()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="64" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="48" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="8" 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(const AABBCollisionNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="75" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" 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>_Collide(const AABBNoLeafNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="76" />
</extent>
<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" />
</member_function>
<member_function>
<name>_Collide(const AABBQuantizedNoLeafNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="78" />
</extent>
<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" />
</member_function>
<member_function>
<name>_Collide(const AABBQuantizedNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="77" />
</extent>
<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" />
</member_function>
<member_function>
<name>_Collide(const AABBTreeNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="79" />
</extent>
<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" />
</member_function>
<member_function>
<name>_CollideNoPrimitiveTest(const AABBCollisionNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="80" />
</extent>
<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" />
</member_function>
<member_function>
<name>_CollideNoPrimitiveTest(const AABBNoLeafNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="81" />
</extent>
<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" />
</member_function>
<member_function>
<name>_CollideNoPrimitiveTest(const AABBQuantizedNoLeafNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="83" />
</extent>
<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" />
</member_function>
<member_function>
<name>_CollideNoPrimitiveTest(const AABBQuantizedNode *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="82" />
</extent>
<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" />
</member_function>
<member_function>
<name>~LSSCollider()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="75" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="49" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="5" 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>LSSCollider</name>
<client_module>
<name>HybridLSSCollider</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="92" />
</extent>
</client_module>
<supplier_module>
<name>AABBCollisionNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="75" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="80" />
</extent>
<name>AABBNoLeafNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="76" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="81" />
</extent>
<name>AABBQuantizedNoLeafNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="78" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="83" />
</extent>
<name>AABBQuantizedNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="77" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="82" />
</extent>
<name>AABBTree</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="307" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="69" />
</extent>
<name>AABBTreeNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="79" />
</extent>
<name>LSS</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="95" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="168" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="307" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="69" />
</extent>
<name>Matrix4x4</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="95" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="95" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="168" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="168" />
</extent>
<name>Model</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/src/Opcode/OPC_LSSCollider.cpp" line="95" />
</extent>
<name>Point</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSAABBOverlap.h" line="514" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSAABBOverlap.h" line="514" />
</extent>
<name>Segment</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="72" />
</extent>
<name>VolumeCollider</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./components/ogre/ogreopcode/include/Opcode/OPC_LSSCollider.h" line="44" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

