diff options
Diffstat (limited to 'Doc/doxygen/html/_solid_8h_source.html')
-rw-r--r-- | Doc/doxygen/html/_solid_8h_source.html | 430 |
1 files changed, 430 insertions, 0 deletions
diff --git a/Doc/doxygen/html/_solid_8h_source.html b/Doc/doxygen/html/_solid_8h_source.html new file mode 100644 index 0000000..01d93bb --- /dev/null +++ b/Doc/doxygen/html/_solid_8h_source.html @@ -0,0 +1,430 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<title>Starshatter_Open: D:/SRC/StarshatterSVN/nGenEx/Solid.h Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> +<link href="search/search.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="search/search.js"></script> +<script type="text/javascript"> + $(document).ready(function() { searchBox.OnSelectItem(0); }); +</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">Starshatter_Open + </div> + <div id="projectbrief">Open source Starshatter engine</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.1 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li> + <div id="MSearchBox" class="MSearchBoxInactive"> + <span class="left"> + <img id="MSearchSelect" src="search/mag_sel.png" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + alt=""/> + <input type="text" id="MSearchField" value="Search" accesskey="S" + onfocus="searchBox.OnSearchFieldFocus(true)" + onblur="searchBox.OnSearchFieldFocus(false)" + onkeyup="searchBox.OnSearchFieldChange(event)"/> + </span><span class="right"> + <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> + </span> + </div> + </li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('_solid_8h.html','');}); +</script> +<div id="doc-content"> +<!-- window showing the filter options --> +<div id="MSearchSelectWindow" + onmouseover="return searchBox.OnSearchSelectShow()" + onmouseout="return searchBox.OnSearchSelectHide()" + onkeydown="return searchBox.OnSearchSelectKey(event)"> +<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Macros</a></div> + +<!-- iframe showing the search results (closed by default) --> +<div id="MSearchResultsWindow"> +<iframe src="javascript:void(0)" frameborder="0" + name="MSearchResults" id="MSearchResults"> +</iframe> +</div> + +<div class="header"> + <div class="headertitle"> +<div class="title">Solid.h</div> </div> +</div><!--header--> +<div class="contents"> +<a href="_solid_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* Project nGenEx</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> Destroyer Studios LLC</span></div> +<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> Copyright © 1997-2004. All Rights Reserved.</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"></span></div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> SUBSYSTEM: nGenEx.lib</span></div> +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> FILE: Solid.h</span></div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> AUTHOR: John DiCamillo</span></div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"></span></div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span></div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> OVERVIEW</span></div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> ========</span></div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> Classes for rendering solid meshes of polygons</span></div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">*/</span></div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef Solid_h</span></div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define Solid_h</span></div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="_polygon_8h.html">Polygon.h</a>"</span></div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="_graphic_8h.html">Graphic.h</a>"</span></div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="_video_8h.html">Video.h</a>"</span></div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="_list_8h.html">List.h</a>"</span></div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">class </span><a class="code" href="class_solid.html">Solid</a>;</div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">class </span><a class="code" href="class_model.html">Model</a>;</div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">class </span><a class="code" href="class_model_file.html">ModelFile</a>;</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span><a class="code" href="class_surface.html">Surface</a>;</div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span><a class="code" href="class_segment.html">Segment</a>;</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">class </span><a class="code" href="class_shadow.html">Shadow</a>;</div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">class </span><a class="code" href="class_light.html">Light</a>;</div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">class </span><a class="code" href="class_o_p_c_o_d_e__data.html">OPCODE_data</a>; <span class="comment">// for collision detection</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> +<div class="line"><a name="l00037"></a><span class="lineno"><a class="code" href="class_solid.html"> 37</a></span> <span class="keyword">class </span><a class="code" href="class_solid.html">Solid</a> : <span class="keyword">public</span> <a class="code" href="class_graphic.html">Graphic</a></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="class_solid.html#ad21bf55fa8a51d404142cc6068732688"> 40</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_solid.html#ad21bf55fa8a51d404142cc6068732688">TYPENAME</a>() { <span class="keywordflow">return</span> <span class="stringliteral">"Solid"</span>; }</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="class_solid.html#a3efaf101b464e7ab2722a1afbeaa3552abe8f8f031071632ab6e813cdb128510a"> 42</a></span>  <span class="keyword">enum</span> { <a class="code" href="class_solid.html#a3efaf101b464e7ab2722a1afbeaa3552abe8f8f031071632ab6e813cdb128510a">NAMELEN</a> = 64 };</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#addd0b41be579201ab576a27ee727e6db">IsCollisionEnabled</a>();</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a49925b6090a9c0e19fd89f23aa3274b6">EnableCollision</a>(<span class="keywordtype">bool</span> enable);</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="class_solid.html#a2cf157c87df66dc3eb8722f9b3ee8f66">Solid</a>();</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">virtual</span> <a class="code" href="class_solid.html#a55c67924a306157d830520784e3337ca">~Solid</a>();</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// operations</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a0e71ca96f696c318e13076cc4ef44a23">Render</a>(<a class="code" href="class_video.html">Video</a>* video, DWORD flags);</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a06e6afdfcca49480605dea4cc4979682">SelectDetail</a>(<a class="code" href="class_projector.html">Projector</a>* p);</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a17c9dd93f99482be71e1f0d84a2d1b36">ProjectScreenRect</a>(<a class="code" href="class_projector.html">Projector</a>* p);</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a354fc67fa256910a6cdf7a59e11cf38c">Update</a>();</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// accessors / mutators</span></div> +<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="class_solid.html#a994ce9964ce1beb66b08265e7f991ac9"> 57</a></span>  <a class="code" href="class_model.html">Model</a>* <a class="code" href="class_solid.html#a994ce9964ce1beb66b08265e7f991ac9">GetModel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#af40b436e67a38f424ea63758efc063c4">model</a>; }</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a1b41e58e7da732a6ec14cd92843ab18f">GetAllTextures</a>(<a class="code" href="class_list.html">List<Bitmap></a>& textures);</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#a5ee4afbfc3745b1cdd263d9238aeeeab">IsDynamic</a>() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a6241c25ca9257634b252205c7b84cf50">SetDynamic</a>(<span class="keywordtype">bool</span> d);</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#afb57078268f5eac0ab7796d2359d9fe8">SetLuminous</a>(<span class="keywordtype">bool</span> l);</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a387ee6d94b3b29bb6411aeca8d519166">SetOrientation</a>(<span class="keyword">const</span> <a class="code" href="struct_matrix.html">Matrix</a>& o);</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a387ee6d94b3b29bb6411aeca8d519166">SetOrientation</a>(<span class="keyword">const</span> <a class="code" href="class_solid.html">Solid</a>& match);</div> +<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="class_solid.html#a1d78a55ebf9711da164c72779825806b"> 65</a></span>  <span class="keyword">const</span> <a class="code" href="struct_matrix.html">Matrix</a>& <a class="code" href="class_solid.html#a1d78a55ebf9711da164c72779825806b">Orientation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#a50b42aa7272e5fcf0d1d74aeb95ae2b6">orientation</a>; }</div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="class_solid.html#a5582b706060d4756d533d5d21397e7d7"> 66</a></span>  <span class="keywordtype">float</span> <a class="code" href="class_solid.html#a5582b706060d4756d533d5d21397e7d7">Roll</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#aa0aa6b0cd5886f56cb2c8d91a5824a2f">roll</a>; }</div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="class_solid.html#aa187510533606f8edc626de5d62da0ca"> 67</a></span>  <span class="keywordtype">float</span> <a class="code" href="class_solid.html#aa187510533606f8edc626de5d62da0ca">Pitch</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#a40144ce380c917462e8cab689c18e0fd">pitch</a>; }</div> +<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="class_solid.html#a3536c3c9ecb98d4b4d39e98ad52b2c72"> 68</a></span>  <span class="keywordtype">float</span> <a class="code" href="class_solid.html#a3536c3c9ecb98d4b4d39e98ad52b2c72">Yaw</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#a3eb52001f0f80ee00527a4238e061c2c">yaw</a>; }</div> +<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="class_solid.html#a1f92ed2e54146244b7f2a5f7bbba8d1a"> 69</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#a1f92ed2e54146244b7f2a5f7bbba8d1a">IsSolid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">// stencil shadows</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a667d00c2ef4d91b3b9b8ccf2a344561a">CreateShadows</a>(<span class="keywordtype">int</span> nlights=1);</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#ace814a0fb8b63897d8d07ff169ddd13b">UpdateShadows</a>(<a class="code" href="class_list.html">List<Light></a>& lights);</div> +<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="class_solid.html#a0833c3d7cc457ce5ef38ae02f020c1ae"> 74</a></span>  <a class="code" href="class_list.html">List<Shadow></a>& <a class="code" href="class_solid.html#a0833c3d7cc457ce5ef38ae02f020c1ae">GetShadows</a>() { <span class="keywordflow">return</span> <a class="code" href="class_solid.html#afba73851afcd006f5e093f5683c2d945">shadows</a>; }</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#a6b5a504565c6b6bc18c8d53e1d46963c">Load</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* mag_file, <span class="keywordtype">double</span> scale=1.0);</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#a6b5a504565c6b6bc18c8d53e1d46963c">Load</a>(<a class="code" href="class_model_file.html">ModelFile</a>* loader, <span class="keywordtype">double</span> scale=1.0);</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">void</span> <a class="code" href="class_solid.html#af3523ca7f8df117565e53bd087ae60f7">UseModel</a>(<a class="code" href="class_model.html">Model</a>* <a class="code" href="class_solid.html#af40b436e67a38f424ea63758efc063c4">model</a>);</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordtype">void</span> <a class="code" href="class_solid.html#ad3d9c814c5ee8353eb73af7ed690cd5c">ClearModel</a>();</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#aa150d8e66c6c4945adba5835744aa8d2">Rescale</a>(<span class="keywordtype">double</span> scale);</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="comment">// collision detection</span></div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_solid.html#a0c075aec759aae3776b53556acdfd530">CollidesWith</a>(<a class="code" href="class_graphic.html">Graphic</a>& o);</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_solid.html#a964632366bfef0116e8ab4d540ba597f">CheckRayIntersection</a>(<a class="code" href="struct_point.html">Point</a> pt, <a class="code" href="struct_point.html">Point</a> vpn, <span class="keywordtype">double</span> len, <a class="code" href="struct_point.html">Point</a>& ipt,</div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">bool</span> treat_translucent_polys_as_solid=<span class="keyword">true</span>);</div> +<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="class_solid.html#a5632722aadfd205c75652e8bc45780d3"> 86</a></span>  <span class="keyword">virtual</span> <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_solid.html#a5632722aadfd205c75652e8bc45780d3">GetIntersectionPoly</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_solid.html#addde609ac5a74116ec53a5795d2fc80e">intersection_poly</a>; }</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// buffer management</span></div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#ab7fc329a579a0a729095fa683e0bbb88">DeletePrivateData</a>();</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a357eb8304578288cbec5118ce3708114">InvalidateSurfaceData</a>();</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_solid.html#a41c282e465e539825a3935762bda3ee5">InvalidateSegmentData</a>();</div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="class_solid.html#af40b436e67a38f424ea63758efc063c4"> 94</a></span>  <a class="code" href="class_model.html">Model</a>* <a class="code" href="class_solid.html#af40b436e67a38f424ea63758efc063c4">model</a>;</div> +<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="class_solid.html#ab4ccd613c87cff8fde6e13b9c4e3be97"> 95</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_solid.html#ab4ccd613c87cff8fde6e13b9c4e3be97">own_model</a>;</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> +<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="class_solid.html#a3eb52001f0f80ee00527a4238e061c2c"> 97</a></span>  <span class="keywordtype">float</span> <a class="code" href="class_solid.html#aa0aa6b0cd5886f56cb2c8d91a5824a2f">roll</a>, <a class="code" href="class_solid.html#a40144ce380c917462e8cab689c18e0fd">pitch</a>, <a class="code" href="class_solid.html#a3eb52001f0f80ee00527a4238e061c2c">yaw</a>;</div> +<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="class_solid.html#a50b42aa7272e5fcf0d1d74aeb95ae2b6"> 98</a></span>  <a class="code" href="struct_matrix.html">Matrix</a> <a class="code" href="class_solid.html#a50b42aa7272e5fcf0d1d74aeb95ae2b6">orientation</a>;</div> +<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="class_solid.html#addde609ac5a74116ec53a5795d2fc80e"> 99</a></span>  <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_solid.html#addde609ac5a74116ec53a5795d2fc80e">intersection_poly</a>;</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> +<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="class_solid.html#afba73851afcd006f5e093f5683c2d945"> 101</a></span>  <a class="code" href="class_list.html">List<Shadow></a> <a class="code" href="class_solid.html#afba73851afcd006f5e093f5683c2d945">shadows</a>;</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> };</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> +<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="class_model.html"> 106</a></span> <span class="keyword">class </span><a class="code" href="class_model.html">Model</a></div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> {</div> +<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="class_model.html#a5636b9113fd1246b3392dd52b3138229"> 108</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_solid.html">Solid</a>;</div> +<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="class_model.html#add2437741f8e2738ef18a73970619c44"> 109</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_model_file.html">ModelFile</a>;</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="class_model.html#aa3c298995dcf55ad778bbafc6c1a2a75"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_model.html#aa3c298995dcf55ad778bbafc6c1a2a75">TYPENAME</a>() { <span class="keywordflow">return</span> <span class="stringliteral">"Model"</span>; }</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div> +<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="class_model.html#a2c9567c2600c8479242365fd819571efa7ffb2eccd5f5e0985f9eedbc1344c252"> 114</a></span>  <span class="keyword">enum</span> { <a class="code" href="class_model.html#a2c9567c2600c8479242365fd819571efa7ffb2eccd5f5e0985f9eedbc1344c252">MAX_VERTS</a> = 64000, <a class="code" href="class_model.html#a2c9567c2600c8479242365fd819571efaaf3fdee8c646a76044bddc88f76938b0">MAX_POLYS</a> = 16000 };</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="class_model.html#ae3b375de5f6df4faf74a95d64748e048">Model</a>();</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="class_model.html#ae3b375de5f6df4faf74a95d64748e048">Model</a>(<span class="keyword">const</span> <a class="code" href="class_model.html">Model</a>& m);</div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="class_model.html#ad6ebd2062a0b823db841a0b88baac4c0">~Model</a>();</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="class_model.html">Model</a>& <a class="code" href="class_model.html#a2a0b077d8ab25e31869d80ece1d46d13">operator = </a>(<span class="keyword">const</span> <a class="code" href="class_model.html">Model</a>& m);</div> +<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="class_model.html#a4943ead367c1d532b61152ab035d28a4"> 121</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#a4943ead367c1d532b61152ab035d28a4">operator == </a>(<span class="keyword">const</span> <a class="code" href="class_model.html">Model</a>& that)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span> == &that; }</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">bool</span> <a class="code" href="class_model.html#a0299fe0deb112e14ed3da802929aa341">Load</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* mag_file, <span class="keywordtype">double</span> scale=1.0);</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordtype">bool</span> <a class="code" href="class_model.html#a0299fe0deb112e14ed3da802929aa341">Load</a>(<a class="code" href="class_model_file.html">ModelFile</a>* loader, <span class="keywordtype">double</span> scale=1.0);</div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div> +<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="class_model.html#a4272d248ec134ccec344feca0095cd92"> 126</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_model.html#a4272d248ec134ccec344feca0095cd92">Name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }</div> +<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="class_model.html#a2eca281d394bec3ac1556b2a5f8fabaa"> 127</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#a2eca281d394bec3ac1556b2a5f8fabaa">NumVerts</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nverts; }</div> +<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="class_model.html#a24379fd9ee74cae2a488bf343d7a8835"> 128</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#a24379fd9ee74cae2a488bf343d7a8835">NumSurfaces</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> surfaces.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); }</div> +<div class="line"><a name="l00129"></a><span class="lineno"><a class="code" href="class_model.html#ab80a4ee7edd28f8581bdcba440415549"> 129</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#ab80a4ee7edd28f8581bdcba440415549">NumMaterials</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> materials.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); }</div> +<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="class_model.html#af60c1e820d1feef12d095e361e63bc25"> 130</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#af60c1e820d1feef12d095e361e63bc25">NumPolys</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> npolys; }</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordtype">int</span> <a class="code" href="class_model.html#a05d8a979a0a2b9470cbc77a5908ab716">NumSegments</a>() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="class_model.html#a741236c6857616487306481a80456645"> 132</a></span>  <span class="keywordtype">double</span> <a class="code" href="class_model.html#a741236c6857616487306481a80456645">Radius</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> radius; }</div> +<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="class_model.html#a40d6e7347e160d5d60856ba344b3ce8d"> 133</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_model.html#a40d6e7347e160d5d60856ba344b3ce8d">IsDynamic</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dynamic; }</div> +<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="class_model.html#a765c577214736ed5423833090c871c17"> 134</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#a765c577214736ed5423833090c871c17">SetDynamic</a>(<span class="keywordtype">bool</span> d) { dynamic = d; }</div> +<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="class_model.html#af96a8c387a5c58a53b2bbafe5f96d04e"> 135</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_model.html#af96a8c387a5c58a53b2bbafe5f96d04e">IsLuminous</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> luminous; }</div> +<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="class_model.html#a32219ab75165cac38abeca612ef09e83"> 136</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#a32219ab75165cac38abeca612ef09e83">SetLuminous</a>(<span class="keywordtype">bool</span> l) { luminous = l; }</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> +<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="class_model.html#ace987f384a7f542279ba7efecfbd37e3"> 138</a></span>  <a class="code" href="class_list.html">List<Surface></a>& <a class="code" href="class_model.html#ace987f384a7f542279ba7efecfbd37e3">GetSurfaces</a>() { <span class="keywordflow">return</span> surfaces; }</div> +<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="class_model.html#a33fd31e6556eb7c14299081302d7f387"> 139</a></span>  <a class="code" href="class_list.html">List<Material></a>& <a class="code" href="class_model.html#a33fd31e6556eb7c14299081302d7f387">GetMaterials</a>() { <span class="keywordflow">return</span> materials; }</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <a class="code" href="struct_material.html">Material</a>* <a class="code" href="class_model.html#a7b8ed80ecf72a969573d142f47d68dfd">FindMaterial</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* mtl_name) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">const</span> <a class="code" href="struct_material.html">Material</a>* <a class="code" href="class_model.html#ad26a1949cadc0586663cd9c731785d92">ReplaceMaterial</a>(<span class="keyword">const</span> <a class="code" href="struct_material.html">Material</a>* mtl);</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#af864146e57b38da73d54a75d25d877ab">GetAllTextures</a>(<a class="code" href="class_list.html">List<Bitmap></a>& textures);</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_model.html#ac2b2e65efcb0156fe47b285a1560cfe6">AddPolys</a>(<span class="keywordtype">int</span> nsurf, <span class="keywordtype">int</span> npolys, <span class="keywordtype">int</span> nverts);</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#ab754406676210df40bd0c1386b984e55">ExplodeMesh</a>();</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#a8ed158ef176718b7907e1616b59a188b">OptimizeMesh</a>();</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#aa6393bdd504593e0b45a66b5eb04feae">OptimizeMaterials</a>();</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#a222e4281c8c413c3804abd8a71096a51">ScaleBy</a>(<span class="keywordtype">double</span> factor);</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#af19c5dcc8516660f1c6190675bd90458">Normalize</a>();</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#acaaa358730bbbe9d28b53900afee410b">SelectPolys</a>(<a class="code" href="class_list.html">List<Poly></a>&, <a class="code" href="struct_material.html">Material</a>* mtl);</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#acaaa358730bbbe9d28b53900afee410b">SelectPolys</a>(<a class="code" href="class_list.html">List<Poly></a>&, <a class="code" href="struct_vec3.html">Vec3</a> loc);</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#ad03998d29bfa2a38e302a1581e2db8dd">AddSurface</a>(<a class="code" href="class_surface.html">Surface</a>* s);</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#aad44134a30bb111f97ac51c9eee907d2">ComputeTangents</a>();</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">// buffer management</span></div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">void</span> <a class="code" href="class_model.html#a2d12afd0bae0e611ec96b757427a76a8">DeletePrivateData</a>();</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">bool</span> LoadMag5(BYTE* block, <span class="keywordtype">int</span> len, <span class="keywordtype">double</span> scale);</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">bool</span> LoadMag6(BYTE* block, <span class="keywordtype">int</span> len, <span class="keywordtype">double</span> scale);</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordtype">char</span> name[<a class="code" href="_archive_8h.html#a4411eb14f1a528142d32a8132e6d326c">Solid::NAMELEN</a>];</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="class_list.html">List<Surface></a> surfaces;</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="class_list.html">List<Material></a> materials;</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordtype">int</span> nverts;</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">int</span> npolys;</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">float</span> radius;</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordtype">float</span> extents[6];</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">bool</span> luminous;</div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordtype">bool</span> dynamic;</div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> };</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> +<div class="line"><a name="l00177"></a><span class="lineno"><a class="code" href="class_surface.html"> 177</a></span> <span class="keyword">class </span><a class="code" href="class_surface.html">Surface</a></div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div> +<div class="line"><a name="l00179"></a><span class="lineno"><a class="code" href="class_surface.html#a5636b9113fd1246b3392dd52b3138229"> 179</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_solid.html">Solid</a>;</div> +<div class="line"><a name="l00180"></a><span class="lineno"><a class="code" href="class_surface.html#a2bf2a0e9b454c55aa5dcb5aa4698697b"> 180</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_model.html">Model</a>;</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="class_surface.html#a4bfc0346501c0ac3fb522945e8833d6a"> 183</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_surface.html#a4bfc0346501c0ac3fb522945e8833d6a">TYPENAME</a>() { <span class="keywordflow">return</span> <span class="stringliteral">"Surface"</span>; }</div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> +<div class="line"><a name="l00185"></a><span class="lineno"><a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea52d0351a171810ce0d031c9eced9d82c"> 185</a></span>  <span class="keyword">enum</span> { <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea50b65fc8d72908fccddcf05fbadffced">HIDDEN</a>=1, <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea34cc435921cda7d8f57c628fbed4af40">LOCKED</a>=2, <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea52d0351a171810ce0d031c9eced9d82c">SIMPLE</a>=4, <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdeab980dd584957e179329a776e45d8a6a4">MAX_VERTS</a>=64000, <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdeaff9d360ce41002d60af53c6d150fa339">MAX_POLYS</a>=16000 };</div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="class_surface.html#a8fc57f2a15292135c00545c9d224ec68">Surface</a>();</div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="class_surface.html#a89de75c95cb550d432f3ea4ed1429db0">~Surface</a>();</div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div> +<div class="line"><a name="l00190"></a><span class="lineno"><a class="code" href="class_surface.html#ae5962d10caeeaddab52c283263cc40f0"> 190</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_surface.html#ae5962d10caeeaddab52c283263cc40f0">operator == </a>(<span class="keyword">const</span> <a class="code" href="class_surface.html">Surface</a>& s)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span> == &s; }</div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div> +<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="class_surface.html#a4db10621b23e69043ee63c7e56943878"> 192</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_surface.html#a4db10621b23e69043ee63c7e56943878">Name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }</div> +<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="class_surface.html#aabffb9ef6a1c0a632bd6d88506ec518b"> 193</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_surface.html#aabffb9ef6a1c0a632bd6d88506ec518b">NumVerts</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vertex_set ? vertex_set-><a class="code" href="struct_vertex_set.html#a4942a5af779580847cfe7036b4ba5c3f">nverts</a> : 0; }</div> +<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="class_surface.html#a5018115004cd032ce16bc3db0700fad6"> 194</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_surface.html#a5018115004cd032ce16bc3db0700fad6">NumSegments</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> segments.<a class="code" href="class_list.html#a802e2aa9aaef248591140fa032d20d61">size</a>(); }</div> +<div class="line"><a name="l00195"></a><span class="lineno"><a class="code" href="class_surface.html#a45cd14771d5cc1937ab85a2e89e5bc08"> 195</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_surface.html#a45cd14771d5cc1937ab85a2e89e5bc08">NumPolys</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> npolys; }</div> +<div class="line"><a name="l00196"></a><span class="lineno"><a class="code" href="class_surface.html#a11f84569acbe231e17d15a993c7a96d7"> 196</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_surface.html#a11f84569acbe231e17d15a993c7a96d7">NumIndices</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nindices; }</div> +<div class="line"><a name="l00197"></a><span class="lineno"><a class="code" href="class_surface.html#a5816c7baa314654b3df71db70ae592fa"> 197</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_surface.html#a5816c7baa314654b3df71db70ae592fa">IsHidden</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state & <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea50b65fc8d72908fccddcf05fbadffced">HIDDEN</a> ? <span class="keyword">true</span> : <span class="keyword">false</span>; }</div> +<div class="line"><a name="l00198"></a><span class="lineno"><a class="code" href="class_surface.html#a3b2b9d7eb48cd17d17346f24cbf462d3"> 198</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_surface.html#a3b2b9d7eb48cd17d17346f24cbf462d3">IsLocked</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state & <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea34cc435921cda7d8f57c628fbed4af40">LOCKED</a> ? <span class="keyword">true</span> : <span class="keyword">false</span>; }</div> +<div class="line"><a name="l00199"></a><span class="lineno"><a class="code" href="class_surface.html#a32df161667057ece8beb5120730be386"> 199</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_surface.html#a32df161667057ece8beb5120730be386">IsSimplified</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state & <a class="code" href="class_surface.html#ae36e23717266597c110fcfd9eca76bdea52d0351a171810ce0d031c9eced9d82c">SIMPLE</a> ? <span class="keyword">true</span> : <span class="keyword">false</span>; }</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="class_surface.html#ac589ce1d865e1c624bd2911f867a05b0"> 201</a></span>  <a class="code" href="class_model.html">Model</a>* <a class="code" href="class_surface.html#ac589ce1d865e1c624bd2911f867a05b0">GetModel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> model; }</div> +<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="class_surface.html#a916cefb968876b6844c0059072589d13"> 202</a></span>  <a class="code" href="class_list.html">List<Segment></a>& <a class="code" href="class_surface.html#a916cefb968876b6844c0059072589d13">GetSegments</a>() { <span class="keywordflow">return</span> segments; }</div> +<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="class_surface.html#a9a6594940b0c2281c8025bc2835757c6"> 203</a></span>  <span class="keyword">const</span> <a class="code" href="struct_point.html">Point</a>& <a class="code" href="class_surface.html#a9a6594940b0c2281c8025bc2835757c6">GetOffset</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> offset; }</div> +<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="class_surface.html#a3273e57c3003afbe098fec720695fba9"> 204</a></span>  <span class="keyword">const</span> <a class="code" href="struct_matrix.html">Matrix</a>& <a class="code" href="class_surface.html#a3273e57c3003afbe098fec720695fba9">GetOrientation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> orientation; }</div> +<div class="line"><a name="l00205"></a><span class="lineno"><a class="code" href="class_surface.html#aae62305cc28dd88d1496c45d31206efd"> 205</a></span>  <span class="keywordtype">double</span> <a class="code" href="class_surface.html#aae62305cc28dd88d1496c45d31206efd">Radius</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> radius; }</div> +<div class="line"><a name="l00206"></a><span class="lineno"><a class="code" href="class_surface.html#af2fac48e415e8fb46b4b5186b94c0a1b"> 206</a></span>  <a class="code" href="struct_vertex_set.html">VertexSet</a>* <a class="code" href="class_surface.html#af2fac48e415e8fb46b4b5186b94c0a1b">GetVertexSet</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vertex_set; }</div> +<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="class_surface.html#a9bcc97d3512578e9244226950874b8db"> 207</a></span>  <a class="code" href="struct_vec3.html">Vec3</a>* <a class="code" href="class_surface.html#a9bcc97d3512578e9244226950874b8db">GetVLoc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vloc; }</div> +<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="class_surface.html#a825c00815c558d148be44147e04367e4"> 208</a></span>  <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_surface.html#a825c00815c558d148be44147e04367e4">GetPolys</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> polys; }</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#ad8f51c63c108de0feccdd53bfcfae2f4">SetName</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* n);</div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#ac3cf4f8212dfc9107e5ad834d9b0b768">SetHidden</a>(<span class="keywordtype">bool</span> b);</div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#adf406a6b06eaf545754ee518df85313b">SetLocked</a>(<span class="keywordtype">bool</span> b);</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a206bf7a31f8780b98c0bcaa75ad0608c">SetSimplified</a>(<span class="keywordtype">bool</span> b);</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#ad5dfc88bc9cc433dd4053997453646bb">CreateVerts</a>(<span class="keywordtype">int</span> nverts);</div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a45ce266d6d69b040719a582f7e3c9567">CreatePolys</a>(<span class="keywordtype">int</span> npolys);</div> +<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="class_surface.html#a783c7765e41d541360da8deaa6d95093"> 217</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a783c7765e41d541360da8deaa6d95093">AddIndices</a>(<span class="keywordtype">int</span> n) { nindices += n; }</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_surface.html#ad9e0c786edbd5b4aa2c46e6508506f7f">AddPolys</a>(<span class="keywordtype">int</span> npolys, <span class="keywordtype">int</span> nverts);</div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> +<div class="line"><a name="l00220"></a><span class="lineno"><a class="code" href="class_surface.html#a6ebdba562fc85faa22dbb4753aeaa93c"> 220</a></span>  <a class="code" href="class_video_private_data.html">VideoPrivateData</a>* <a class="code" href="class_surface.html#a6ebdba562fc85faa22dbb4753aeaa93c">GetVideoPrivateData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> video_data; }</div> +<div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="class_surface.html#a342830600b282482d54fb035e1b19b58"> 221</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a342830600b282482d54fb035e1b19b58">SetVideoPrivateData</a>(<a class="code" href="class_video_private_data.html">VideoPrivateData</a>* vpd)</div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  { video_data = vpd; }</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#ac1c50ff165a9dd13d6982415518bfe51">ScaleBy</a>(<span class="keywordtype">double</span> factor);</div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a39cc1068e0f220f2cea36525d7158943">BuildHull</a>();</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a9fd3cfb54fcadd7de7447019cf341dbf">Normalize</a>();</div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a61fda76603fac95dda92be3a48208728">SelectPolys</a>(<a class="code" href="class_list.html">List<Poly></a>&, <a class="code" href="struct_material.html">Material</a>* mtl);</div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a61fda76603fac95dda92be3a48208728">SelectPolys</a>(<a class="code" href="class_list.html">List<Poly></a>&, <a class="code" href="struct_vec3.html">Vec3</a> loc);</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a64e619ef3f3aed7bb21be79e722c2ed3">InitializeCollisionHull</a>();</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a3ca4787db62ad45bfc650ec47d89cce5">ComputeTangents</a>();</div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a5759d4c9f5002fe065dfc6990c327840">CalcGradients</a>(<a class="code" href="struct_poly.html">Poly</a>& p, <a class="code" href="struct_vec3.html">Vec3</a>& tangent, <a class="code" href="struct_vec3.html">Vec3</a>& binormal);</div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div> +<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a53a9de23e78390eaad55ceff8cf954ab">Copy</a>(<a class="code" href="class_surface.html">Surface</a>& s, <a class="code" href="class_model.html">Model</a>* m);</div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a8c7cc1273b711efea7ab0efa89b9233f">OptimizeMesh</a>();</div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">void</span> <a class="code" href="class_surface.html#a28ff1667ebd576f4b03588aa46d04f09">ExplodeMesh</a>();</div> +<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div> +<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordtype">char</span> name[<a class="code" href="_archive_8h.html#a4411eb14f1a528142d32a8132e6d326c">Solid::NAMELEN</a>];</div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="class_model.html">Model</a>* model;</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="struct_vertex_set.html">VertexSet</a>* vertex_set; <span class="comment">// for rendering</span></div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="struct_vec3.html">Vec3</a>* vloc; <span class="comment">// for shadow hull</span></div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordtype">float</span> radius;</div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordtype">int</span> nhull;</div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordtype">int</span> npolys;</div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordtype">int</span> nindices;</div> +<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordtype">int</span> state;</div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="struct_poly.html">Poly</a>* polys;</div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="class_list.html">List<Segment></a> segments;</div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="struct_point.html">Point</a> offset;</div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="struct_matrix.html">Matrix</a> orientation;</div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div> +<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="class_surface.html#afb4eba914189523b33e764e3e18a6760"> 256</a></span>  <a class="code" href="class_o_p_c_o_d_e__data.html">OPCODE_data</a>* <a class="code" href="class_surface.html#afb4eba914189523b33e764e3e18a6760">opcode</a>;</div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="class_video_private_data.html">VideoPrivateData</a>* video_data;</div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> };</div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div> +<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="class_segment.html"> 264</a></span> <span class="keyword">class </span><a class="code" href="class_segment.html">Segment</a></div> +<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> {</div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00267"></a><span class="lineno"><a class="code" href="class_segment.html#a5e3d973d115246a60d6287b935ba6147"> 267</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_segment.html#a5e3d973d115246a60d6287b935ba6147">TYPENAME</a>() { <span class="keywordflow">return</span> <span class="stringliteral">"Segment"</span>; }</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <a class="code" href="class_segment.html#adfe9fc7ffcc7269f961d4b1f6720d1e8">Segment</a>();</div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="class_segment.html#adfe9fc7ffcc7269f961d4b1f6720d1e8">Segment</a>(<span class="keywordtype">int</span> n, <a class="code" href="struct_poly.html">Poly</a>* p, <a class="code" href="struct_material.html">Material</a>* mtl, <a class="code" href="class_model.html">Model</a>* mod=0);</div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="class_segment.html#a76b45a453304f1f485e3bc2fcad58b59">~Segment</a>();</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div> +<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="class_segment.html#aa9d693ec6399f7938b95a49f1e84af1e"> 273</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_segment.html#aa9d693ec6399f7938b95a49f1e84af1e">IsSolid</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a> ? <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a>-><a class="code" href="struct_material.html#a6d91a735da85f4b71e8a3c72cd41791e">IsSolid</a>() : <span class="keyword">true</span>; }</div> +<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="class_segment.html#afb0c92ceb94a67cf35854b99bc8957e6"> 274</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_segment.html#afb0c92ceb94a67cf35854b99bc8957e6">IsTranslucent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a> ? <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a>-><a class="code" href="struct_material.html#a68165fc0818d3dfea81beb28ea82964b">IsTranslucent</a>(): <span class="keyword">false</span>; }</div> +<div class="line"><a name="l00275"></a><span class="lineno"><a class="code" href="class_segment.html#a9fdd9fa338af378ccbf72939ef0cb2fc"> 275</a></span>  <span class="keywordtype">bool</span> <a class="code" href="class_segment.html#a9fdd9fa338af378ccbf72939ef0cb2fc">IsGlowing</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a> ? <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a>-><a class="code" href="struct_material.html#ada5a8c50624e5e3517a696e724f085af">IsGlowing</a>() : <span class="keyword">false</span>; }</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div> +<div class="line"><a name="l00277"></a><span class="lineno"><a class="code" href="class_segment.html#a118039e730308c403cfa8f5c0c7b665f"> 277</a></span>  <a class="code" href="class_video_private_data.html">VideoPrivateData</a>* <a class="code" href="class_segment.html#a118039e730308c403cfa8f5c0c7b665f">GetVideoPrivateData</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_segment.html#aa7c8905696a358ea1d169966d8ede65a">video_data</a>; }</div> +<div class="line"><a name="l00278"></a><span class="lineno"><a class="code" href="class_segment.html#af2247d6a64c13e41ee3b632fd3f70095"> 278</a></span>  <span class="keywordtype">void</span> <a class="code" href="class_segment.html#af2247d6a64c13e41ee3b632fd3f70095">SetVideoPrivateData</a>(<a class="code" href="class_video_private_data.html">VideoPrivateData</a>* vpd)</div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  { <a class="code" href="class_segment.html#aa7c8905696a358ea1d169966d8ede65a">video_data</a> = vpd; }</div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div> +<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="class_segment.html#aa56fe5f47ddde76648a7aac53934eda8"> 281</a></span>  <span class="keywordtype">int</span> <a class="code" href="class_segment.html#aa56fe5f47ddde76648a7aac53934eda8">npolys</a>;</div> +<div class="line"><a name="l00282"></a><span class="lineno"><a class="code" href="class_segment.html#a5d14ea63073c220aa084bdaf961269a3"> 282</a></span>  <a class="code" href="struct_poly.html">Poly</a>* <a class="code" href="class_segment.html#a5d14ea63073c220aa084bdaf961269a3">polys</a>;</div> +<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706"> 283</a></span>  <a class="code" href="struct_material.html">Material</a>* <a class="code" href="class_segment.html#a315eceab50f153e784630d1705ddf706">material</a>;</div> +<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="class_segment.html#a02b25a9d5ce95913122597af5e136dc0"> 284</a></span>  <a class="code" href="class_model.html">Model</a>* <a class="code" href="class_segment.html#a02b25a9d5ce95913122597af5e136dc0">model</a>;</div> +<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="class_segment.html#aa7c8905696a358ea1d169966d8ede65a"> 285</a></span>  <a class="code" href="class_video_private_data.html">VideoPrivateData</a>* <a class="code" href="class_segment.html#aa7c8905696a358ea1d169966d8ede65a">video_data</a>;</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> };</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> +<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="class_model_file.html"> 290</a></span> <span class="keyword">class </span><a class="code" href="class_model_file.html">ModelFile</a></div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> {</div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="class_model_file.html#a1e592266a3a854138cf104067d111442">ModelFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname);</div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keyword">virtual</span> <a class="code" href="class_model_file.html#a2bbe5c5ecb34cc6a9453a35d9260ed8c">~ModelFile</a>();</div> +<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div> +<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_model_file.html#ab0ee9e48ddd38ac9178c01110b38baf1">Load</a>(<a class="code" href="class_model.html">Model</a>* m, <span class="keywordtype">double</span> scale=1.0);</div> +<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_model_file.html#a895b276bb9dc135f445b1aefae17de6d">Save</a>(<a class="code" href="class_model.html">Model</a>* m);</div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="class_model_file.html#a2d961c745e1876106c49bbac0d310aa4"> 300</a></span>  <span class="keywordtype">char</span> <a class="code" href="class_model_file.html#a2d961c745e1876106c49bbac0d310aa4">filename</a>[256];</div> +<div class="line"><a name="l00301"></a><span class="lineno"><a class="code" href="class_model_file.html#a37a4fcdd99a8d1ff8768d14f6a1bc608"> 301</a></span>  <a class="code" href="class_model.html">Model</a>* <a class="code" href="class_model_file.html#a37a4fcdd99a8d1ff8768d14f6a1bc608">model</a>;</div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="comment">// internal accessors:</span></div> +<div class="line"><a name="l00304"></a><span class="lineno"><a class="code" href="class_model_file.html#a2da349636577ad9e5135916660c33e3a"> 304</a></span>  <span class="keywordtype">char</span>* <a class="code" href="class_model_file.html#a2da349636577ad9e5135916660c33e3a">pname</a>;</div> +<div class="line"><a name="l00305"></a><span class="lineno"><a class="code" href="class_model_file.html#a5f8e37bed986965f3e04209bf4a2be49"> 305</a></span>  <span class="keywordtype">int</span>* <a class="code" href="class_model_file.html#a5f8e37bed986965f3e04209bf4a2be49">pnverts</a>;</div> +<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="class_model_file.html#a2962f9f36c2c5c9b0af8bd2a2f63e7de"> 306</a></span>  <span class="keywordtype">int</span>* <a class="code" href="class_model_file.html#a2962f9f36c2c5c9b0af8bd2a2f63e7de">pnpolys</a>;</div> +<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="class_model_file.html#afd8c32e80929b221f23d24e70e83d3f6"> 307</a></span>  <span class="keywordtype">float</span>* <a class="code" href="class_model_file.html#afd8c32e80929b221f23d24e70e83d3f6">pradius</a>;</div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> };</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// +--------------------------------------------------------------------+</span></div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor">#endif Solid_h</span></div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"></span></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="dir_d6625d0f3efd9eb70ff961583505095b.html">nGenEx</a></li><li class="navelem"><a class="el" href="_solid_8h.html">Solid.h</a></li> + <li class="footer">Generated on Tue Jun 5 2012 20:46:33 for Starshatter_Open by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li> + </ul> +</div> +</body> +</html> |