<?xml version="1.0" encoding="utf-8"?>
<!--Detailed report on module TerrainEditor-->
<CCCC_Project>
<module_summary>
<lines_of_code value="277" 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="144" level="0" />
<lines_of_code_per_member_function value="********" level="2" />
<lines_of_code_per_line_of_comment value="1.924" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.257" level="0" />
<weighted_methods_per_class_unity value="24" 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="14" level="0" />
<IF4 value="169" level="1" />
<IF4_per_member_function value="********" level="2" />
<IF4_visible value="169" 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/TerrainEditor.h" line="43" />
<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/terrain/TerrainEditor.h" line="220" />
<lines_of_code value="17" 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" />
</module_detail>
<procedural_detail>
<member_function>
<name>TerrainEditor()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="160" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="223" />
</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>catchInput()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="323" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="335" />
</extent>
<lines_of_code value="5" 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>commitAction(const TerrainEditAction &amp;,bool)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="458" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="257" />
</extent>
<lines_of_code value="33" level="1" />
<McCabes_cyclomatic_complexity value="6" level="0" />
<lines_of_comment value="63" level="0" />
<lines_of_code_per_line_of_comment value="0.524" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="0.095" level="0" />
</member_function>
<member_function>
<name>createAction(bool)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="337" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="292" />
</extent>
<lines_of_code value="19" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="7" 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>createOverlay()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="214" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="239" />
</extent>
<lines_of_code value="35" level="1" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="6" level="0" />
<lines_of_code_per_line_of_comment value="5.833" level="0" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="------" level="0" />
</member_function>
<member_function>
<name>getCurrentBasePointUserObject()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="268" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="281" />
</extent>
<lines_of_code value="5" 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>getUserObject(const TerrainPosition &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="256" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="299" />
</extent>
<lines_of_code value="11" level="0" />
<McCabes_cyclomatic_complexity value="3" 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>
<member_function>
<name>hideOverlay()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="200" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="234" />
</extent>
<lines_of_code value="8" 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>injectChar(char)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="308" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="320" />
</extent>
<lines_of_code value="5" 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>injectKeyDown(const SDLKey &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="313" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="321" />
</extent>
<lines_of_code value="5" 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>injectKeyUp(const SDLKey &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="318" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="322" />
</extent>
<lines_of_code value="5" 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>injectMouseButtonDown(const MouseButton &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="303" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="319" />
</extent>
<lines_of_code value="5" 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>injectMouseButtonUp(const MouseButton &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="295" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="318" />
</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>injectMouseMove(const MouseMotion &amp;,bool &amp;)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="283" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="317" />
</extent>
<lines_of_code value="9" 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" />
</member_function>
<member_function>
<name>isOverlayShown()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="208" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="245" />
</extent>
<lines_of_code value="5" level="0" />
<McCabes_cyclomatic_complexity value="2" 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>pickedBasePoint(BasePointUserObject *)</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="274" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="247" />
</extent>
<lines_of_code value="8" 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>redoAction()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="446" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="311" />
</extent>
<lines_of_code value="11" level="0" />
<McCabes_cyclomatic_complexity value="2" 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>releaseInput()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="328" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="340" />
</extent>
<lines_of_code value="6" level="0" />
<McCabes_cyclomatic_complexity value="0" 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>sendChangesToServer()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="364" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="286" />
</extent>
<lines_of_code value="49" level="1" />
<McCabes_cyclomatic_complexity value="5" level="0" />
<lines_of_comment value="5" level="0" />
<lines_of_code_per_line_of_comment value="9.800" level="1" />
<McCabes_cyclomatic_complexity_per_line_of_comment value="1.000" level="0" />
</member_function>
<member_function>
<name>showOverlay()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="191" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="230" />
</extent>
<lines_of_code value="8" 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>undoLastAction()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="430" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="305" />
</extent>
<lines_of_code value="12" level="0" />
<McCabes_cyclomatic_complexity value="3" level="0" />
<lines_of_comment value="7" 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>updateEntityPosition(EmberEntity *,const set &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="357" />
</extent>
<lines_of_code value="1" 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>updateEntityPositions(const set &amp;)</name>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="352" />
</extent>
<lines_of_code value="1" 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>~TerrainEditor()</name>
<extent>
<description>definition</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="187" />
</extent>
<extent>
<description>declaration</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="225" />
</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>TerrainEditor</name>
<client_module>
<name>BasePointPickListener</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="113" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="53" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="62" />
</extent>
</client_module>
<supplier_module>
<name>ActionStore</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="343" />
</extent>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="344" />
</extent>
<name>BasePointPickListener</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="330" />
</extent>
<name>BasePointUserObject</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="274" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="247" />
</extent>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="341" />
</extent>
<name>BasePointUserObjectStore</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="328" />
</extent>
<name>EmberEntity</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="357" />
</extent>
<name>IInputAdapter</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>inheritance</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="220" />
</extent>
<name>SDLKey</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="313" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="318" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="321" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="322" />
</extent>
<name>SceneNode</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>has by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="345" />
</extent>
<name>TerrainEditAction</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="458" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="257" />
</extent>
<name>TerrainPosition</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="256" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="299" />
</extent>
<name>bool</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="283" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="337" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.cpp" line="458" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="257" />
</extent>
<extent>
<description>pass by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="292" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="317" />
</extent>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="347" />
</extent>
<name>set</name>
<visible>true</visible>
<concrete>false</concrete>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="352" />
</extent>
<extent>
<description>pass by reference</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="357" />
</extent>
<name>signal</name>
<visible>true</visible>
<concrete>true</concrete>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="263" />
</extent>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="269" />
</extent>
<extent>
<description>has by value</description>
<source_reference file="./components/ogre/terrain/TerrainEditor.h" line="274" />
</extent>
</supplier_module>
</module>
</structural_detail>
</CCCC_Project>

