<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module TerrainPage-->
<CCCC_Project>
<module_summary>
<lines_of_code value="203" level="0" />
<lines_of_code_per_member_function value="******" level="0" />
<McCabes_cyclomatic_complexity value="36" level="0" />
<McCabes_cyclomatic_complexity_per_member_function value="******" level="2" />
<lines_of_code value="782" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="0.260" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.046" level="0" />
<weighted_methods_per_class_unity value="26" 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="17" level="0" />
<IF4 value="4356" level="2" />
<IF4_per_member_function value="********" level="2" />
<IF4_visible value="4356" level="2" />
<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/terrain/TerrainPageSurface.h" line="42" />
<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/terrain/TerrainPageShadow.h" line="30" />
<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/terrain/TerrainPageSurfaceCompiler.h" line="33" />
<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/SceneManagers/EmberPagingSceneManager/include/EmberPagingLandScapeData2D_HeightField.h" line="34" />
<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>TerrainPage(TerrainPosition,const map,TerrainGenerator *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="71" />
</extent>
<lines_of_code value="5" 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>addShader(TerrainShader *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="621" />
</extent>
<lines_of_code value="9" 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>createHeightData(Real *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="292" />
</extent>
<lines_of_code value="19" level="0" />
<McCabes_cyclomatic_complexity value="2" 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>createShadow(const Vector3 &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="171" />
</extent>
<lines_of_code value="5" level="0" />
<McCabes_cyclomatic_complexity value="0" level="0" />
<lines_of_comment value="17" 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>destroyFoliage()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="495" />
</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>generateTerrainMaterials()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="202" />
</extent>
<lines_of_code value="4" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="42" 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>getAlphaMapScale()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="278" />
</extent>
<lines_of_code value="10" 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>getMaterial()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="272" />
</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>getMaxHeight()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="133" />
</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>getMinHeight()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="142" />
</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>getNumberOfSegmentsPerAxis()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="128" />
</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>getPageSize()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="122" />
</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>getSegment(int,int)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="107" />
</extent>
<lines_of_code value="8" 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>getValidSegments()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="251" />
</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>getVerticeCount()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="261" />
</extent>
<lines_of_code value="4" 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>getWFPosition()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="266" />
</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>hideFoliage()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="487" />
</extent>
<lines_of_code value="7" 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>populateSurfaces()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="1044" />
</extent>
<lines_of_code value="6" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="402" 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>prepareFoliage()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="506" />
</extent>
<lines_of_code value="27" level="0" />
<McCabes_cyclomatic_complexity value="9" level="0" />
<lines_of_comment value="82" level="0" />
<lines_of_code_per_line_of_comment value="0.329" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.110" level="0" />
</member_function>
<member_function>
<name>setupShadowTechnique()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="162" />
</extent>
<lines_of_code value="8" 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>showFoliage()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="477" />
</extent>
<lines_of_code value="9" level="0" />
<McCabes_cyclomatic_complexity value="2" level="0" />
<lines_of_comment value="147" 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>update()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="151" />
</extent>
<lines_of_code value="7" 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>updateAllShaderTextures()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="1057" />
</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>updateShaderTexture(TerrainShader *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="1068" />
</extent>
<lines_of_code value="10" level="0" />
<McCabes_cyclomatic_complexity value="1" level="0" />
<lines_of_comment value="69" 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>updateShadow(const Vector3 &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="195" />
</extent>
<lines_of_code value="5" 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>~TerrainPage()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="102" />
</extent>
<lines_of_code value="4" 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>
</procedural_detail>
<structural_detail>
<module>
<name>TerrainPage</name>
<client_module>
<name>EmberPagingLandScapeData2D_HeightField</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/SceneManagers/EmberPagingSceneManager/include/EmberPagingLandScapeData2D_HeightField.h" line="63" />
</extent>
<name>ITerrainPageShadowTechnique</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.h" line="36" />
</extent>
<name>SimpleTerrainPageShadowTechnique</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.h" line="44" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.cpp" line="39" />
</extent>
<name>TerrainPageShadow</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.h" line="55" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.h" line="70" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageShadow.cpp" line="89" />
</extent>
<name>TerrainPageSurface</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurface.cpp" line="35" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurface.h" line="51" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurface.h" line="88" />
</extent>
<name>TerrainPageSurfaceCompiler</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompiler.cpp" line="50" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompiler.cpp" line="66" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompiler.h" line="54" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompiler.h" line="59" />
</extent>
<name>TerrainPageSurfaceCompilerShaderNormalMappedPass</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.h" line="154" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.cpp" line="412" />
</extent>
<name>TerrainPageSurfaceCompilerShaderPass</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.h" line="73" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.h" line="108" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.cpp" line="196" />
</extent>
<name>TerrainPageSurfaceCompilerTechnique</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompiler.h" line="40" />
</extent>
<name>TerrainPageSurfaceCompilerTechniqueShader</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.h" line="122" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.h" line="127" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueShader.cpp" line="358" />
</extent>
<name>TerrainPageSurfaceCompilerTechniqueSimple</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueSimple.cpp" line="77" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueSimple.h" line="42" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPageSurfaceCompilerTechniqueSimple.h" line="46" />
</extent>
</client_module>
<supplier_module>
<name>Real</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="292" />
</extent>
<name>TerrainGenerator</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="71" />
</extent>
<name>TerrainPosition</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="71" />
</extent>
<name>TerrainShader</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="621" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="1068" />
</extent>
<name>Vector3</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="171" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="195" />
</extent>
<name>map</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainPage.cpp" line="71" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

