<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module GrassLayer-->
<CCCC_Project>
<module_summary>
<lines_of_code value="242" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="64" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="787" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="0.307" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.081" level="0" />
<weighted_methods_per_class_unity value="20" level="0" />
<weighted_methods_per_class_visibility value="8" level="0" />
<depth_of_inheritance_tree value="1" level="0" />
<number_of_children value="0" level="0" />
<coupling_between_objects value="9" 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/environment/pagedgeometry/include/GrassLoader.h" line="49" />
<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/environment/pagedgeometry/include/GrassLoader.h" line="207" />
<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>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="397" />
<lines_of_code value="12" 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" />
</module_detail>
<procedural_detail>
<member_function>
<name>GrassLayer(PagedGeometry *,GrassLoader *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="656" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="561" />
</extent>
<lines_of_code value="23" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="609" level="0" />
<lines_of_code_per_line_of_comment value="0.038" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>_populateGrassList(PageInfo,float *,int)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="694" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="568" />
</extent>
<lines_of_code value="12" level="0" />
<McCabes_cyclomatic_complexity value="6" 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="3.000" level="0" />
</member_function>
<member_function>
<name>_populateGrassList_BilinearDM(PageInfo,float *,int)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="892" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="580" />
</extent>
<lines_of_code value="32" level="1" />
<McCabes_cyclomatic_complexity value="11" level="1" />
<lines_of_comment value="14" level="0" />
<lines_of_code_per_line_of_comment value="2.286" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.786" level="0" />
</member_function>
<member_function>
<name>_populateGrassList_UnfilteredDM(PageInfo,float *,int)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="841" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="576" />
</extent>
<lines_of_code value="32" level="1" />
<McCabes_cyclomatic_complexity value="11" level="1" />
<lines_of_comment value="15" level="0" />
<lines_of_code_per_line_of_comment value="2.133" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.733" level="0" />
</member_function>
<member_function>
<name>_populateGrassList_Uniform(PageInfo,float *,int)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="788" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="572" />
</extent>
<lines_of_code value="38" level="1" />
<McCabes_cyclomatic_complexity value="19" level="1" />
<lines_of_comment value="11" level="0" />
<lines_of_code_per_line_of_comment value="3.455" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="1.727" level="0" />
</member_function>
<member_function>
<name>calculateMaxGrassCount(float,float)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="689" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="555" />
</extent>
<lines_of_code value="5" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="6" 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>getColorMap()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="526" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="9" 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>getDensityMap()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="515" />
</extent>
<lines_of_code value="1" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="9" 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>setColorMap(...)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="483" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="492" />
</extent>
<lines_of_code value="2" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="27" 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>setColorMap(Texture *,MapChannel)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="955" />
</extent>
<lines_of_code value="12" 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>setColorMap(const String &amp;,MapChannel)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="942" />
</extent>
<lines_of_code value="12" 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>setColorMapFilter(MapFilter)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="968" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="504" />
</extent>
<lines_of_code value="7" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="10" 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>setDensity(float)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="402" />
</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>setDensityMap(...)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="440" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="449" />
</extent>
<lines_of_code value="2" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="26" 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>setDensityMap(Texture *,MapChannel)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="768" />
</extent>
<lines_of_code value="12" 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>setDensityMap(const String &amp;,MapChannel)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="756" />
</extent>
<lines_of_code value="12" 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>setDensityMapFilter(MapFilter)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="781" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="461" />
</extent>
<lines_of_code value="7" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="10" 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>setHeightRange(float,float)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="419" />
</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>setMapBounds(const TRect &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="540" />
</extent>
<lines_of_code value="8" level="0" />
<McCabes_cyclomatic_complexity value="2" 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>~GrassLayer()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="681" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="564" />
</extent>
<lines_of_code value="8" level="0" />
<McCabes_cyclomatic_complexity value="2" 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>
</procedural_detail>
<structural_detail>
<module>
<name>GrassLayer</name>
<client_module>
</client_module>
<supplier_module>
<name>ColorMap</name>
<visible>false</visible>
<concrete>false</concrete>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="594" />
</extent>
<name>DensityMap</name>
<visible>false</visible>
<concrete>false</concrete>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="591" />
</extent>
<name>GrassLayerBase</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="397" />
</extent>
<name>GrassLoader</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>
<name>PageInfo</name>
<visible>false</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="694" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="788" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="841" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="892" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="568" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="572" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="576" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="580" />
</extent>
<name>PagedGeometry</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>
<name>String</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="756" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="942" />
</extent>
<name>TRect</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/include/GrassLoader.h" line="540" />
</extent>
<name>Texture</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="768" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/environment/pagedgeometry/source/GrassLoader.cpp" line="955" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

