<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module GrassLoader-->
<CCCC_Project>
<module_summary>
<lines_of_code value="458" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="47" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="230" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="1.991" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.204" level="0" />
<weighted_methods_per_class_unity value="17" level="0" />
<weighted_methods_per_class_visibility value="2" level="0" />
<depth_of_inheritance_tree value="1" level="0" />
<number_of_children value="0" level="0" />
<coupling_between_objects value="10" level="0" />
<IF4 value="256" level="1" />
<IF4_per_member_function value="********" level="2" />
<IF4_visible value="64" 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>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="74" />
<lines_of_code value="19" level="0" />
<McCabes_cyclomatic_complexity value="1" 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" />
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="558" />
<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>GrassLoader(PagedGeometry *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="79" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="665" />
</extent>
<lines_of_code value="12" level="0" />
<McCabes_cyclomatic_complexity value="0" 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>addLayer(const String &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="95" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="691" />
</extent>
<lines_of_code value="8" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="13" 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>deleteLayer(TGrassLayer *)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="100" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="701" />
</extent>
<lines_of_code value="6" level="0" />
<McCabes_cyclomatic_complexity value="0" 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>frameUpdate()</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="204" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="708" />
</extent>
<lines_of_code value="22" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="4" level="0" />
<lines_of_code_per_line_of_comment value="5.500" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>generateGrass_CROSSQUADS(PageInfo &amp;,TGrassLayer *,float *,int)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="211" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="948" />
</extent>
<lines_of_code value="123" level="2" />
<McCabes_cyclomatic_complexity value="14" level="1" />
<lines_of_comment value="45" level="0" />
<lines_of_code_per_line_of_comment value="2.733" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.311" level="0" />
</member_function>
<member_function>
<name>generateGrass_QUAD(PageInfo &amp;,TGrassLayer *,float *,int)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="210" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="809" />
</extent>
<lines_of_code value="97" level="1" />
<McCabes_cyclomatic_complexity value="9" level="0" />
<lines_of_comment value="31" level="0" />
<lines_of_code_per_line_of_comment value="3.129" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.290" level="0" />
</member_function>
<member_function>
<name>generateGrass_SPRITE(PageInfo &amp;,TGrassLayer *,float *,int)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="212" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="1123" />
</extent>
<lines_of_code value="104" level="2" />
<McCabes_cyclomatic_complexity value="8" level="0" />
<lines_of_comment value="34" level="0" />
<lines_of_code_per_line_of_comment value="3.059" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.235" level="0" />
</member_function>
<member_function>
<name>getDensityFactor()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="143" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>getLayerList()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="106" />
</extent>
<lines_of_code value="1" 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>getWindDirection()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="124" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="1" 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>loadPage(PageInfo &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="200" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="741" />
</extent>
<lines_of_code value="40" level="1" />
<McCabes_cyclomatic_complexity value="6" level="0" />
<lines_of_comment value="12" level="0" />
<lines_of_code_per_line_of_comment value="3.333" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.500" level="0" />
</member_function>
<member_function>
<name>setDensityFactor(float)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="138" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="12" 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>setHeightFunction(...)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="193" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="31" 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>setRenderQueueGroup(uint8)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="160" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="15" 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>setWindDirection(Vector3 &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="119" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="11" 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>unloadPage(const PageInfo &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="202" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="801" />
</extent>
<lines_of_code value="7" 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>
<member_function>
<name>~GrassLoader()</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="80" />
</extent>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="681" />
</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>
</procedural_detail>
<structural_detail>
<module>
<name>GrassLoader</name>
<client_module>
<name>FoliageArea</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/environment/FoliageArea.h" line="102" />
</extent>
<name>GrassLayer</name>
<visible>false</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="656" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="561" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="583" />
</extent>
</client_module>
<supplier_module>
<name>PageInfo</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="200" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="202" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="210" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="211" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="212" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="741" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="801" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="809" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="948" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="1123" />
</extent>
<name>PageLoader</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="74" />
</extent>
<name>PagedGeometry</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="79" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="665" />
</extent>
<name>String</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="95" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="691" />
</extent>
<name>TGrassLayer</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="100" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="210" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="211" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="212" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="701" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="809" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="948" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="1123" />
</extent>
<name>Vector3</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="119" />
</extent>
<name>list</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="215" />
</extent>
<name>uint8</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="160" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

