-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangelcad_8h_source.html
158 lines (156 loc) · 195 KB
/
angelcad_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!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"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AngelCAD: angelcad.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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectlogo"><img alt="Logo" src="angel_48x48.bmp"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">AngelCAD
 <span id="projectnumber">1.5-00</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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">angelcad.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="angelcad_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> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="classarray.html"> 7</a></span> <span class="keyword">class </span><a class="code" href="classarray.html">array</a> {</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  <a class="code" href="classarray.html#af38d1f3bbdc8a7b00e1b69e90047c01b">array</a>(<span class="keywordtype">int</span>&in);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <a class="code" href="classarray.html#af38d1f3bbdc8a7b00e1b69e90047c01b">array</a>(<span class="keywordtype">int</span>&in, uint <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>);</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <a class="code" href="classarray.html#af38d1f3bbdc8a7b00e1b69e90047c01b">array</a>(<span class="keywordtype">int</span>&in, uint length, <span class="keyword">const</span> T&in value);</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  T& <a class="code" href="classarray.html#a8c88f6ed595eb8b07552822605e831d6">opIndex</a>(uint index);</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  T[]& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keyword">const</span> T[]&in);</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a5c17c0fe0e28321d51cb93ce8368a94c">empty</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a12e8af2754e4fedb583880803eea1480">isEmpty</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a331272face9bdd4b12baa9d5d7e9d156">opEquals</a>(<span class="keyword">const</span> T[]&in) <span class="keyword">const</span>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">const</span> T& <a class="code" href="classarray.html#a8c88f6ed595eb8b07552822605e831d6">opIndex</a>(uint index) <span class="keyword">const</span>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">find</a>(<span class="keyword">const</span> T&in value) <span class="keyword">const</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">find</a>(uint startAt, <span class="keyword">const</span> T&in value) <span class="keyword">const</span>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#a123f1f7de82e7716ede10d15be25c904">findByRef</a>(<span class="keyword">const</span> T&in value) <span class="keyword">const</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#a123f1f7de82e7716ede10d15be25c904">findByRef</a>(uint startAt, <span class="keyword">const</span> T&in value) <span class="keyword">const</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  uint <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  uint <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">erase</a>(uint);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a17d624b663cc00e4f9ed1c8a25bc8d91">insert</a>(uint index, <span class="keyword">const</span> T&in value);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a17d624b663cc00e4f9ed1c8a25bc8d91">insert</a>(uint index, <span class="keyword">const</span> T[]&inout arr);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ada53228bf0b1a0bd2249c08c913468d8">insertAt</a>(uint index, <span class="keyword">const</span> T&in value);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ada53228bf0b1a0bd2249c08c913468d8">insertAt</a>(uint index, <span class="keyword">const</span> T[]&inout arr);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a2c6b3ffb690d2a0bedb5c7eca41c6922">insertLast</a>(<span class="keyword">const</span> T&in value);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a9d8f02811bd926ae2d5cc23ae7260bf7">pop_back</a>();</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a2d5e7a47bba73c6719a2c1c8067cc6db">push_back</a>(<span class="keyword">const</span> T&in);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#abb43253bd0183ec79b4ea299e842919d">removeAt</a>(uint index);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ab13e237aaa0a8cf8390aa2900e600a16">removeLast</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ae2be6c8a3aeacc96b30767b62bf027bd">removeRange</a>(uint start, uint count);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ae6f736a0914e51191bb32eb5ca8bdde3">reserve</a>(uint length);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a940bfbdd4630ff2177ef83da4e07dbf4">resize</a>(uint length);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a01ebe99068bc9d283c434828ab2b0db1">reverse</a>();</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a606caf2f233828e7eeff9ec005a4bb93">sort</a>(array::less&in, uint startAt = 0, uint count = uint ( - 1 ));</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>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ab3d5f0669082be8ad6c9e16221b4a744">sortAsc</a>();</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ab3d5f0669082be8ad6c9e16221b4a744">sortAsc</a>(uint startAt, uint count);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a8544b9ade9315d1b1c94f81b060a68fb">sortDesc</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a8544b9ade9315d1b1c94f81b060a68fb">sortDesc</a>(uint startAt, uint count);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> };</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classas__args.html"> 131</a></span> <span class="keyword">class </span><a class="code" href="classas__args.html">as_args</a> {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">bool</span> has_argument(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">double</span> get_double(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">double</span> get_double(<span class="keywordtype">string</span> arg, <span class="keywordtype">double</span> def) <span class="keyword">const</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">double</span> get_unsigned_double(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">double</span> get_unsigned_double(<span class="keywordtype">string</span> arg, <span class="keywordtype">double</span> def) <span class="keyword">const</span>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">int</span> get_int(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">int</span> get_int(<span class="keywordtype">string</span> arg, <span class="keywordtype">int</span> def) <span class="keyword">const</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordtype">string</span> get_string(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">string</span> get_string(<span class="keywordtype">string</span> arg, <span class="keywordtype">string</span> def) <span class="keyword">const</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  uint get_uint(<span class="keywordtype">string</span> arg) <span class="keyword">const</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  uint get_uint(<span class="keywordtype">string</span> arg, uint def) <span class="keyword">const</span>;</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> };</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classas__istream.html"> 186</a></span> <span class="keyword">class </span><a class="code" href="classas__istream.html">as_istream</a> {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(<span class="keywordtype">bool</span>&out v);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(<span class="keywordtype">double</span>&out v);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(<span class="keywordtype">float</span>&out v);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(<span class="keywordtype">int</span>&out v);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(int64&out v);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(<span class="keywordtype">string</span>&out v);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(uint&out v);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="classas__istream.html">as_istream</a>& opShr(uint64&out v);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> };</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classas__ostream.html"> 223</a></span> <span class="keyword">class </span><a class="code" href="classas__ostream.html">as_ostream</a> {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(<span class="keywordtype">bool</span> v);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(<span class="keyword">const</span> <span class="keywordtype">string</span>&in v);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(<span class="keywordtype">double</span> v);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(<span class="keywordtype">float</span> v);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(int64 v);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classas__ostream.html">as_ostream</a>& opShl(uint64 v);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> };</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classboundingbox.html"> 253</a></span> <span class="keyword">class </span><a class="code" href="classboundingbox.html">boundingbox</a> {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classboundingbox.html">boundingbox</a>();</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">bool</span> is_empty() <span class="keyword">const</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</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"> 264</span>  <span class="keywordtype">double</span> diagonal() <span class="keyword">const</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordtype">double</span> dx() <span class="keyword">const</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">double</span> dy() <span class="keyword">const</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordtype">double</span> dz() <span class="keyword">const</span>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="classpos3d.html">pos3d</a>@ center() <span class="keyword">const</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="classpos3d.html">pos3d</a>@ p1() <span class="keyword">const</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</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>  <a class="code" href="classpos3d.html">pos3d</a>@ p2() <span class="keyword">const</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </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="keywordtype">void</span> enclose(<a class="code" href="classpos3d.html">pos3d</a>@ p);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> };</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classcircle.html"> 298</a></span> <span class="keyword">class </span><a class="code" href="classcircle.html">circle</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="classcircle.html">circle</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p3);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="classcircle.html">circle</a>(<span class="keywordtype">double</span> r);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</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="keywordtype">double</span> r() <span class="keyword">const</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordtype">double</span> radius() <span class="keyword">const</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> };</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classcone.html"> 323</a></span> <span class="keyword">class </span><a class="code" href="classcone.html">cone</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="classcone.html">cone</a>(<span class="keywordtype">double</span> h, <span class="keywordtype">double</span> r1, <span class="keywordtype">double</span> r2, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordtype">double</span> h() <span class="keyword">const</span>;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordtype">double</span> height() <span class="keyword">const</span>;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordtype">double</span> r1() <span class="keyword">const</span>;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">double</span> r2() <span class="keyword">const</span>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordtype">double</span> radius1() <span class="keyword">const</span>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordtype">double</span> radius2() <span class="keyword">const</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span> };</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classcube.html"> 359</a></span> <span class="keyword">class </span><a class="code" href="classcube.html">cube</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classcube.html">cube</a>(<span class="keywordtype">double</span> <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> };</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classcuboid.html"> 373</a></span> <span class="keyword">class </span><a class="code" href="classcuboid.html">cuboid</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="classcuboid.html">cuboid</a>(<span class="keywordtype">double</span> dx, <span class="keywordtype">double</span> dy, <span class="keywordtype">double</span> dz, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordtype">double</span> dx() <span class="keyword">const</span>;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordtype">double</span> dy() <span class="keyword">const</span>;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">double</span> dz() <span class="keyword">const</span>;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> };</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classcylinder.html"> 399</a></span> <span class="keyword">class </span><a class="code" href="classcylinder.html">cylinder</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="classcylinder.html">cylinder</a>(<span class="keywordtype">double</span> h, <span class="keywordtype">double</span> r, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordtype">double</span> h() <span class="keyword">const</span>;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordtype">double</span> height() <span class="keyword">const</span>;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordtype">double</span> r() <span class="keyword">const</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordtype">double</span> radius() <span class="keyword">const</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> };</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classdifference2d.html"> 430</a></span> <span class="keyword">class </span><a class="code" href="classdifference2d.html">difference2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="classdifference2d.html">difference2d</a>(<a class="code" href="classshape2d.html">shape2d</a>@ incl, <a class="code" href="classshape2d.html">shape2d</a>@ excl);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> };</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classdifference3d.html"> 444</a></span> <span class="keyword">class </span><a class="code" href="classdifference3d.html">difference3d</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="classdifference3d.html">difference3d</a>(<a class="code" href="classsolid.html">solid</a>@ incl, <a class="code" href="classsolid.html">solid</a>@ excl);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> };</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div><div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classfill2d.html"> 457</a></span> <span class="keyword">class </span><a class="code" href="classfill2d.html">fill2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="classfill2d.html">fill2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="classfill2d.html">fill2d</a>(<a class="code" href="classarray.html">array<shape2d@></a>@ arr);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> };</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="classhmatrix.html"> 471</a></span> <span class="keyword">class </span><a class="code" href="classhmatrix.html">hmatrix</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <a class="code" href="classhmatrix.html">hmatrix</a>(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ xvec, <span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ yvec, <span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ pos = <a class="code" href="classpos3d.html">pos3d</a> ( 0 , 0 , 0 ));</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="classhmatrix.html">hmatrix</a>(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ xvec, <span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ yvec, <span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ zvec, <span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ pos = <a class="code" href="classpos3d.html">pos3d</a> ( 0 , 0 , 0 ));</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> };</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classhull2d.html"> 492</a></span> <span class="keyword">class </span><a class="code" href="classhull2d.html">hull2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="classhull2d.html">hull2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="classhull2d.html">hull2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="classhull2d.html">hull2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="classhull2d.html">hull2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s5);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <a class="code" href="classhull2d.html">hull2d</a>(<a class="code" href="classarray.html">array<shape2d@></a>@ arr);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> };</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classhull3d.html"> 530</a></span> <span class="keyword">class </span><a class="code" href="classhull3d.html">hull3d</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="classhull3d.html">hull3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <a class="code" href="classhull3d.html">hull3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> </div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="classhull3d.html">hull3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <a class="code" href="classhull3d.html">hull3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s5);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="classhull3d.html">hull3d</a>(<a class="code" href="classarray.html">array<solid@></a>@ arr);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> };</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="classintersection2d.html"> 569</a></span> <span class="keyword">class </span><a class="code" href="classintersection2d.html">intersection2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="classintersection2d.html">intersection2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <a class="code" href="classintersection2d.html">intersection2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3);</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <a class="code" href="classintersection2d.html">intersection2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <a class="code" href="classintersection2d.html">intersection2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s5);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> </div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span> </div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <a class="code" href="classintersection2d.html">intersection2d</a>(<a class="code" href="classarray.html">array<shape2d@></a>@ arr);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> </div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> };</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div><div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="classintersection3d.html"> 608</a></span> <span class="keyword">class </span><a class="code" href="classintersection3d.html">intersection3d</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> </div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="classintersection3d.html">intersection3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2);</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <a class="code" href="classintersection3d.html">intersection3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> </div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> </div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <a class="code" href="classintersection3d.html">intersection3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <a class="code" href="classintersection3d.html">intersection3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s5);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <a class="code" href="classintersection3d.html">intersection3d</a>(<a class="code" href="classarray.html">array<solid@></a>@ arr);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span> };</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div><div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classline2d.html"> 643</a></span> <span class="keyword">class </span><a class="code" href="classline2d.html">line2d</a> {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <a class="code" href="classline2d.html">line2d</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span> </div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="keywordtype">double</span> project(<a class="code" href="classpos2d.html">pos2d</a>@ point) <span class="keyword">const</span>;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <a class="code" href="classpos2d.html">pos2d</a>@ end1() <span class="keyword">const</span>;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="classpos2d.html">pos2d</a>@ end2() <span class="keyword">const</span>;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <a class="code" href="classpos2d.html">pos2d</a>@ interpolate(<span class="keywordtype">double</span> par) <span class="keyword">const</span>;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> };</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div><div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="classline3d.html"> 675</a></span> <span class="keyword">class </span><a class="code" href="classline3d.html">line3d</a> {</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <a class="code" href="classline3d.html">line3d</a>(<span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ p2);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordtype">double</span> project(<a class="code" href="classpos3d.html">pos3d</a>@ point) <span class="keyword">const</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <a class="code" href="classpos3d.html">pos3d</a>@ end1() <span class="keyword">const</span>;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <a class="code" href="classpos3d.html">pos3d</a>@ end2() <span class="keyword">const</span>;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <a class="code" href="classpos3d.html">pos3d</a>@ interpolate(<span class="keywordtype">double</span> par) <span class="keyword">const</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span> };</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span> </div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div><div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="classlinear__extrude.html"> 708</a></span> <span class="keyword">class </span><a class="code" href="classlinear__extrude.html">linear_extrude</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <a class="code" href="classlinear__extrude.html">linear_extrude</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ <a class="code" href="classshape.html">shape</a>, <span class="keywordtype">double</span> height);</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keywordtype">double</span> height() <span class="keyword">const</span>;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span> };</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div><div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="classlocsys3d.html"> 723</a></span> <span class="keyword">class </span><a class="code" href="classlocsys3d.html">locsys3d</a> {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <a class="code" href="classlocsys3d.html">locsys3d</a>(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ xvec, <span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ zvec);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <a class="code" href="classvec3d.html">vec3d</a>@ x() <span class="keyword">const</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="classvec3d.html">vec3d</a>@ y() <span class="keyword">const</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="classvec3d.html">vec3d</a>@ z() <span class="keyword">const</span>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> };</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div><div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="classmap.html"> 751</a></span> <span class="keyword">class </span><a class="code" href="classmap.html">map</a> {</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <a class="code" href="classmap.html">map</a>(<span class="keywordtype">int</span>&in);</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <a class="code" href="classmap.html">map</a>(<span class="keywordtype">int</span>&in, <a class="code" href="classmap.html">map<T_key,T_value></a>@);</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span> </div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  T_value& <a class="code" href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">find</a>(<span class="keyword">const</span> T_key&in);</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  T_value& <a class="code" href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">find</a>(<span class="keyword">const</span> T_key&in, <span class="keywordtype">bool</span>&out);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordtype">bool</span> contains(<span class="keyword">const</span> T_key&in);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a5c17c0fe0e28321d51cb93ce8368a94c">empty</a>();</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">erase</a>(<span class="keyword">const</span> <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>&in);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keyword">const</span> T_value& get_opIndex(<span class="keyword">const</span> T_key&in) <span class="keyword">const</span>;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">erase</a>(<span class="keyword">const</span> <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>&in, <span class="keyword">const</span> <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>&in);</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>();</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span> </div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <a class="code" href="classmap.html">map<T_key,T_value></a>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<a class="code" href="classmap.html">map<T_key,T_value></a>@);</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span> </div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <a class="code" href="classmap.html">map<T_key,T_value></a>& swap(<a class="code" href="classmap.html">map<T_key,T_value></a>&inout);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span> </div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a> begin();</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a> end();</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a> find_iterator(<span class="keyword">const</span> T_key&in);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keywordtype">void</span> SetDirectcomp(<span class="keywordtype">bool</span>);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> </div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="keywordtype">void</span> clear();</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">erase</a>(<span class="keyword">const</span> T_key&in);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a17d624b663cc00e4f9ed1c8a25bc8d91">insert</a>(<span class="keyword">const</span> T_key&in, <span class="keyword">const</span> T_value&in);</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="keywordtype">void</span> set_opIndex(<span class="keyword">const</span> T_key&in, <span class="keyword">const</span> T_value&in);</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span> </div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> };</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div><div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="classmap__iterator.html"> 829</a></span> <span class="keyword">class </span><a class="code" href="classmap__iterator.html">map_iterator</a> {</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  T_value& current_value();</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  T_value& get_value();</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordtype">bool</span> IsEnd();</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordtype">bool</span> IsValid();</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="keywordtype">bool</span> next();</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a331272face9bdd4b12baa9d5d7e9d156">opEquals</a>(<span class="keyword">const</span> <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>&in);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keywordtype">bool</span> opPostInc();</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <span class="keywordtype">bool</span> opPreInc();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <span class="keyword">const</span> T_key& current_key();</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keyword">const</span> T_key& get_key();</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keyword">const</span> <a class="code" href="classmap__iterator.html">map_iterator<T_key,T_value></a>&in);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keywordtype">void</span> set_value(<span class="keyword">const</span> T_value&in);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> };</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span> </div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div><div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="classminkowski2d.html"> 877</a></span> <span class="keyword">class </span><a class="code" href="classminkowski2d.html">minkowski2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span> </div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <a class="code" href="classminkowski2d.html">minkowski2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ a, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ b);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span> };</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span> </div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div><div class="line"><a name="l00892"></a><span class="lineno"><a class="line" href="classminkowski3d.html"> 892</a></span> <span class="keyword">class </span><a class="code" href="classminkowski3d.html">minkowski3d</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <a class="code" href="classminkowski3d.html">minkowski3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ a, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ b);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span> };</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span> </div><div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="classmirror.html"> 903</a></span> <span class="keyword">class </span><a class="code" href="classmirror.html">mirror</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <a class="code" href="classmirror.html">mirror</a>(<span class="keywordtype">double</span> dx, <span class="keywordtype">double</span> dy, <span class="keywordtype">double</span> dz);</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span> </div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span> </div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <a class="code" href="classmirror.html">mirror</a>(<a class="code" href="classvec3d.html">vec3d</a>@ normal, <a class="code" href="classpos3d.html">pos3d</a>@ point = <a class="code" href="classpos3d.html">pos3d</a> ( 0 , 0 , 0 ));</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keywordtype">double</span> dx() <span class="keyword">const</span>;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span> </div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keywordtype">double</span> dy() <span class="keyword">const</span>;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordtype">double</span> dz() <span class="keyword">const</span>;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span> </div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span> };</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div><div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="classoffset2d.html"> 933</a></span> <span class="keyword">class </span><a class="code" href="classoffset2d.html">offset2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span> </div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <a class="code" href="classoffset2d.html">offset2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ profile, <span class="keywordtype">double</span> r = 0x7fc00000, <span class="keywordtype">double</span> delta = 0x7fc00000, <span class="keywordtype">bool</span> chamfer = <span class="keyword">false</span>);</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span> </div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span> </div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <a class="code" href="classoffset2d.html">offset2d</a>(<a class="code" href="classarray.html">array<shape2d@></a>@ arr, <span class="keywordtype">double</span> r = 0x7fc00000, <span class="keywordtype">double</span> delta = 0x7fc00000, <span class="keywordtype">bool</span> chamfer = <span class="keyword">false</span>);</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span> };</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span> </div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span> </div><div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="classpface.html"> 954</a></span> <span class="keyword">class </span><a class="code" href="classpface.html">pface</a> {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span> </div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <a class="code" href="classpface.html">pface</a>(uint iv1, uint iv2, uint iv3);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span> </div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="classpface.html">pface</a>(uint iv1, uint iv2, uint iv3, uint iv4);</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span> </div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  uint nvert() <span class="keyword">const</span>;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span> </div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  uint vindex(uint iv) <span class="keyword">const</span>;</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span> </div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span> };</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span> </div><div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="classpointcloud.html"> 981</a></span> <span class="keyword">class </span><a class="code" href="classpointcloud.html">pointcloud</a> {</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  <a class="code" href="classpointcloud.html">pointcloud</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ points);</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span> </div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <a class="code" href="classpointcloud.html">pointcloud</a>(<span class="keywordtype">string</span> file, <span class="keywordtype">int</span> skip_lines = 0, <span class="keywordtype">int</span> xtok = 0, <span class="keywordtype">int</span> ytok = 1, <span class="keywordtype">int</span> ztok = 2, <span class="keywordtype">string</span> delimiters = <span class="stringliteral">' ,; </span></div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="stringliteral">'</span>);</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span> </div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <a class="code" href="classpos3d.html">pos3d</a>*[]@ points_array() <span class="keyword">const</span>;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span> </div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  uint <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> };</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div><div class="line"><a name="l01005"></a><span class="lineno"><a class="line" href="classpolygon.html"> 1005</a></span> <span class="keyword">class </span><a class="code" href="classpolygon.html">polygon</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> </div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <a class="code" href="classpolygon.html">polygon</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p3);</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <a class="code" href="classpolygon.html">polygon</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p3, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p4);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> </div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <a class="code" href="classpolygon.html">polygon</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p3, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p4, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p5);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span> </div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <a class="code" href="classpolygon.html">polygon</a>(<span class="keyword">const</span> <a class="code" href="classspline2d.html">spline2d</a>@ spline, uint nseg = 30);</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <a class="code" href="classpolygon.html">polygon</a>(<span class="keywordtype">double</span> r, uint np);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> </div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span> </div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <a class="code" href="classpolygon.html">polygon</a>(<a class="code" href="classarray.html">array<pos2d@></a>@ points, <span class="keywordtype">bool</span> check = <span class="keyword">true</span>);</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> </div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span> </div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="keywordtype">double</span> area() <span class="keyword">const</span>;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span> </div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordtype">double</span> signed_area() <span class="keyword">const</span>;</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> </div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> </div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <a class="code" href="classpos2d.html">pos2d</a>@ vertex(uint iv) <span class="keyword">const</span>;</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span> </div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> </div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  uint <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> </div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> };</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> </div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> </div><div class="line"><a name="l01067"></a><span class="lineno"><a class="line" href="classpolyhedron.html"> 1067</a></span> <span class="keyword">class </span><a class="code" href="classpolyhedron.html">polyhedron</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <a class="code" href="classpolyhedron.html">polyhedron</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ points);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> </div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <a class="code" href="classpolyhedron.html">polyhedron</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ points, <a class="code" href="classarray.html">array<pface@></a>@ faces);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> </div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <a class="code" href="classpolyhedron.html">polyhedron</a>(<span class="keywordtype">string</span> file, <span class="keywordtype">int</span> <span class="keywordtype">id</span> = - 1);</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> </div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> </div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keywordtype">double</span> face_area(uint iface) <span class="keyword">const</span>;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> </div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <span class="keywordtype">double</span> volume() <span class="keyword">const</span>;</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> </div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  <a class="code" href="classpface.html">pface</a>@ face(uint iface) <span class="keyword">const</span>;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> </div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> </div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <a class="code" href="classpos3d.html">pos3d</a>@ vertex(uint iv) <span class="keyword">const</span>;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> </div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  uint nface() <span class="keyword">const</span>;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> </div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> </div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  uint nvert() <span class="keyword">const</span>;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> </div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> </div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keywordtype">void</span> flip_face(uint iface);</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> </div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="keywordtype">void</span> flip_faces();</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> </div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> </div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  <span class="keywordtype">void</span> set_vertex(uint iv, <a class="code" href="classpos3d.html">pos3d</a>@ pos);</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> </div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keywordtype">void</span> verify() <span class="keyword">const</span>;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> };</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> </div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div><div class="line"><a name="l01129"></a><span class="lineno"><a class="line" href="classpos2d.html"> 1129</a></span> <span class="keyword">class </span><a class="code" href="classpos2d.html">pos2d</a> {</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <a class="code" href="classpos2d.html">pos2d</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ other);</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> </div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> </div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <a class="code" href="classpos2d.html">pos2d</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> </div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <span class="keywordtype">double</span> dist(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ pos) <span class="keyword">const</span>;</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> </div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> </div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  <span class="keywordtype">double</span> x() <span class="keyword">const</span>;</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> </div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  <span class="keywordtype">double</span> y() <span class="keyword">const</span>;</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> </div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opAdd(<a class="code" href="classpos2d.html">pos2d</a>@ p1);</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opAdd(<a class="code" href="classvec2d.html">vec2d</a>@ v1);</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> </div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opAdd_r(<a class="code" href="classvec2d.html">vec2d</a>@ v1);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opMul(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span> </div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> </div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opMul_r(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> </div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opSub(<a class="code" href="classvec2d.html">vec2d</a>@ v1);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> </div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span> };</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> </div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> </div><div class="line"><a name="l01187"></a><span class="lineno"><a class="line" href="classpos3d.html"> 1187</a></span> <span class="keyword">class </span><a class="code" href="classpos3d.html">pos3d</a> {</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <a class="code" href="classpos3d.html">pos3d</a>(<span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ other);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> </div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> </div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  <a class="code" href="classpos3d.html">pos3d</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> </div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> </div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <span class="keywordtype">double</span> dist(<span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ pos) <span class="keyword">const</span>;</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> </div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  <span class="keywordtype">double</span> x() <span class="keyword">const</span>;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> </div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> </div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>  <span class="keywordtype">double</span> y() <span class="keyword">const</span>;</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> </div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> </div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  <span class="keywordtype">double</span> z() <span class="keyword">const</span>;</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opAdd(<a class="code" href="classpos3d.html">pos3d</a>@ p1);</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> </div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opAdd(<a class="code" href="classvec3d.html">vec3d</a>@ v1);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> </div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opAdd_r(<a class="code" href="classvec3d.html">vec3d</a>@ v1);</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> </div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opMul(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span> </div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span> </div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opMul_r(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span> </div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span> </div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opSub(<a class="code" href="classvec3d.html">vec3d</a>@ v1);</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span> </div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span> };</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> </div><div class="line"><a name="l01249"></a><span class="lineno"><a class="line" href="classprojection2d.html"> 1249</a></span> <span class="keyword">class </span><a class="code" href="classprojection2d.html">projection2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  <a class="code" href="classprojection2d.html">projection2d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s);</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> };</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> </div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> </div><div class="line"><a name="l01259"></a><span class="lineno"><a class="line" href="classrectangle.html"> 1259</a></span> <span class="keyword">class </span><a class="code" href="classrectangle.html">rectangle</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> </div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  <a class="code" href="classrectangle.html">rectangle</a>(<span class="keywordtype">double</span> dx, <span class="keywordtype">double</span> dy, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> </div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  <span class="keywordtype">double</span> dx() <span class="keyword">const</span>;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> </div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> </div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  <span class="keywordtype">double</span> dy() <span class="keyword">const</span>;</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> };</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> </div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> </div><div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="classrotate__extrude.html"> 1281</a></span> <span class="keyword">class </span><a class="code" href="classrotate__extrude.html">rotate_extrude</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> </div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  <a class="code" href="classrotate__extrude.html">rotate_extrude</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ <a class="code" href="classshape.html">shape</a>, <span class="keywordtype">double</span> deg, <span class="keywordtype">double</span> pitch = 0.0);</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> </div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordtype">double</span> deg() <span class="keyword">const</span>;</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> </div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> </div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  <span class="keywordtype">double</span> rad() <span class="keyword">const</span>;</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> </div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> };</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> </div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div><div class="line"><a name="l01301"></a><span class="lineno"><a class="line" href="classrotate__x.html"> 1301</a></span> <span class="keyword">class </span><a class="code" href="classrotate__x.html">rotate_x</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> </div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  <a class="code" href="classrotate__x.html">rotate_x</a>(<span class="keywordtype">double</span> deg = 0x7fc00000, <span class="keywordtype">double</span> rad = 0x7fc00000);</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> </div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> </div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keywordtype">double</span> deg() <span class="keyword">const</span>;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> </div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>  <span class="keywordtype">double</span> rad() <span class="keyword">const</span>;</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> </div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> };</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> </div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> </div><div class="line"><a name="l01320"></a><span class="lineno"><a class="line" href="classrotate__y.html"> 1320</a></span> <span class="keyword">class </span><a class="code" href="classrotate__y.html">rotate_y</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> </div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  <a class="code" href="classrotate__y.html">rotate_y</a>(<span class="keywordtype">double</span> deg = 0x7fc00000, <span class="keywordtype">double</span> rad = 0x7fc00000);</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> </div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> </div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>  <span class="keywordtype">double</span> deg() <span class="keyword">const</span>;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> </div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> </div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  <span class="keywordtype">double</span> rad() <span class="keyword">const</span>;</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> </div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> };</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> </div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> </div><div class="line"><a name="l01339"></a><span class="lineno"><a class="line" href="classrotate__z.html"> 1339</a></span> <span class="keyword">class </span><a class="code" href="classrotate__z.html">rotate_z</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> </div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  <a class="code" href="classrotate__z.html">rotate_z</a>(<span class="keywordtype">double</span> deg = 0x7fc00000, <span class="keywordtype">double</span> rad = 0x7fc00000);</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> </div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> </div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>  <span class="keywordtype">double</span> deg() <span class="keyword">const</span>;</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> </div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> </div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  <span class="keywordtype">double</span> rad() <span class="keyword">const</span>;</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> </div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> };</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> </div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div><div class="line"><a name="l01358"></a><span class="lineno"><a class="line" href="classscale.html"> 1358</a></span> <span class="keyword">class </span><a class="code" href="classscale.html">scale</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> </div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>  <a class="code" href="classscale.html">scale</a>(<span class="keywordtype">double</span> s);</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> </div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> </div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  <a class="code" href="classscale.html">scale</a>(<span class="keywordtype">double</span> sx, <span class="keywordtype">double</span> sy, <span class="keywordtype">double</span> sz = 1.0);</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> </div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> </div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  <span class="keywordtype">double</span> sx() <span class="keyword">const</span>;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> </div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>  <span class="keywordtype">double</span> sy() <span class="keyword">const</span>;</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> </div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span> </div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>  <span class="keywordtype">double</span> sz() <span class="keyword">const</span>;</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> </div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> };</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> </div><div class="line"><a name="l01385"></a><span class="lineno"><a class="line" href="classshape.html"> 1385</a></span> <span class="keyword">class </span><a class="code" href="classshape.html">shape</a> {</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> </div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  <a class="code" href="classboundingbox.html">boundingbox</a>@ box() <span class="keyword">const</span>;</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> </div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> </div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>  <a class="code" href="classtmatrix.html">tmatrix</a>@ transform() <span class="keyword">const</span>;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> </div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> </div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  <span class="keywordtype">void</span> write_csg(<span class="keywordtype">string</span> path);</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span> </div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> </div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <span class="keywordtype">void</span> write_xcsg(<span class="keywordtype">string</span> path, <span class="keywordtype">double</span> secant_tolerance = - 1.0);</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> </div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> };</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> </div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span> </div><div class="line"><a name="l01408"></a><span class="lineno"><a class="line" href="classshape2d.html"> 1408</a></span> <span class="keyword">class </span><a class="code" href="classshape2d.html">shape2d</a> : <span class="keyword">public</span> <a class="code" href="classshape.html">shape</a> {</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> </div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <a class="code" href="classshape2d.html">shape2d</a>@ opAdd(<a class="code" href="classshape2d.html">shape2d</a>@ b);</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span> </div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  <a class="code" href="classshape2d.html">shape2d</a>@ opAnd(<a class="code" href="classshape2d.html">shape2d</a>@ b);</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span> </div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>  <a class="code" href="classshape2d.html">shape2d</a>@ opMul(<a class="code" href="classtmatrix.html">tmatrix</a>@ matrix);</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> </div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> </div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>  <a class="code" href="classshape2d.html">shape2d</a>@ opSub(<a class="code" href="classshape2d.html">shape2d</a>@ b);</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> </div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> };</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> </div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> </div><div class="line"><a name="l01434"></a><span class="lineno"><a class="line" href="classsolid.html"> 1434</a></span> <span class="keyword">class </span><a class="code" href="classsolid.html">solid</a> : <span class="keyword">public</span> <a class="code" href="classshape.html">shape</a> {</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> </div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  <a class="code" href="classsolid.html">solid</a>@ opAdd(<a class="code" href="classsolid.html">solid</a>@ b);</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> </div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> </div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  <a class="code" href="classsolid.html">solid</a>@ opAnd(<a class="code" href="classsolid.html">solid</a>@ b);</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> </div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> </div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  <a class="code" href="classsolid.html">solid</a>@ opMul(<a class="code" href="classtmatrix.html">tmatrix</a>@ matrix);</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> </div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> </div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>  <a class="code" href="classsolid.html">solid</a>@ opSub(<a class="code" href="classsolid.html">solid</a>@ b);</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span> </div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> };</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> </div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> </div><div class="line"><a name="l01460"></a><span class="lineno"><a class="line" href="classsphere.html"> 1460</a></span> <span class="keyword">class </span><a class="code" href="classsphere.html">sphere</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span> </div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  <a class="code" href="classsphere.html">sphere</a>(<span class="keywordtype">double</span> r);</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span> </div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span> </div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  <span class="keywordtype">double</span> r() <span class="keyword">const</span>;</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span> </div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span> </div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  <span class="keywordtype">double</span> radius() <span class="keyword">const</span>;</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span> </div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span> };</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span> </div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span> </div><div class="line"><a name="l01478"></a><span class="lineno"><a class="line" href="classspline2d.html"> 1478</a></span> <span class="keyword">class </span><a class="code" href="classspline2d.html">spline2d</a> {</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span> </div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  <a class="code" href="classspline2d.html">spline2d</a>(<a class="code" href="classarray.html">array<pos2d@></a>@ points);</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span> </div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  <a class="code" href="classpos2d.html">pos2d</a>@ pos(<span class="keywordtype">double</span> t) <span class="keyword">const</span>;</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  <a class="code" href="classvec2d.html">vec2d</a>@ dir(<span class="keywordtype">double</span> t) <span class="keyword">const</span>;</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> </div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> };</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> </div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> </div><div class="line"><a name="l01496"></a><span class="lineno"><a class="line" href="classspline3d.html"> 1496</a></span> <span class="keyword">class </span><a class="code" href="classspline3d.html">spline3d</a> {</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> </div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  <a class="code" href="classspline3d.html">spline3d</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ points);</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> </div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <a class="code" href="classpos3d.html">pos3d</a>@ pos(<span class="keywordtype">double</span> t) <span class="keyword">const</span>;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>  <a class="code" href="classvec3d.html">vec3d</a>@ dir(<span class="keywordtype">double</span> t) <span class="keyword">const</span>;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> </div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> };</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> </div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> </div><div class="line"><a name="l01514"></a><span class="lineno"><a class="line" href="classspline__path.html"> 1514</a></span> <span class="keyword">class </span><a class="code" href="classspline__path.html">spline_path</a> {</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> </div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>  <a class="code" href="classspline__path.html">spline_path</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ p, <a class="code" href="classarray.html">array<vec3d@></a>@ v);</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> </div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> </div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  <a class="code" href="classspline__path.html">spline_path</a>(<a class="code" href="classarray.html">array<pos3d@></a>@ p, <a class="code" href="classvec3d.html">vec3d</a>@ v);</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span> </div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span> };</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span> </div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> </div><div class="line"><a name="l01531"></a><span class="lineno"><a class="line" href="classsquare.html"> 1531</a></span> <span class="keyword">class </span><a class="code" href="classsquare.html">square</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> </div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  <a class="code" href="classsquare.html">square</a>(<span class="keywordtype">double</span> <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>, <span class="keywordtype">bool</span> center = <span class="keyword">false</span>);</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> </div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span> </div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> </div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span> };</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span> </div><div class="line"><a name="l01545"></a><span class="lineno"><a class="line" href="classstring.html"> 1545</a></span> <span class="keyword">class </span><a class="code" href="classstring.html">string</a> {</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a5c17c0fe0e28321d51cb93ce8368a94c">empty</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> </div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a12e8af2754e4fedb583880803eea1480">isEmpty</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span> </div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  <span class="keywordtype">bool</span> <a class="code" href="classarray.html#a331272face9bdd4b12baa9d5d7e9d156">opEquals</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&in) <span class="keyword">const</span>;</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> </div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  <span class="keyword">const</span> uint8& <a class="code" href="classarray.html#a8c88f6ed595eb8b07552822605e831d6">opIndex</a>(uint) <span class="keyword">const</span>;</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> </div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>  <span class="keywordtype">int</span> <a class="code" href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">find</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, uint start = 0) <span class="keyword">const</span>;</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> </div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  <span class="keywordtype">int</span> findFirst(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, uint start = 0) <span class="keyword">const</span>;</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> </div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <span class="keywordtype">int</span> findFirstNotOf(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, uint start = 0) <span class="keyword">const</span>;</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  <span class="keywordtype">int</span> findFirstOf(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, uint start = 0) <span class="keyword">const</span>;</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> </div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  <span class="keywordtype">int</span> findLast(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, <span class="keywordtype">int</span> start = - 1) <span class="keyword">const</span>;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> </div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <span class="keywordtype">int</span> findLastNotOf(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, <span class="keywordtype">int</span> start = - 1) <span class="keyword">const</span>;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  <span class="keywordtype">int</span> findLastOf(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, <span class="keywordtype">int</span> start = - 1) <span class="keyword">const</span>;</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  <span class="keywordtype">int</span> opCmp(<span class="keyword">const</span> <span class="keywordtype">string</span>&in) <span class="keyword">const</span>;</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>  <span class="keywordtype">int</span> rfind(<span class="keyword">const</span> <span class="keywordtype">string</span>&in, <span class="keywordtype">int</span> start = - 1) <span class="keyword">const</span>;</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span> </div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <span class="keywordtype">string</span>& opAddAssign(<span class="keywordtype">bool</span>);</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span> </div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  <span class="keywordtype">string</span>& opAddAssign(<span class="keyword">const</span> <span class="keywordtype">string</span>&in);</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span> </div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <span class="keywordtype">string</span>& opAddAssign(<span class="keywordtype">double</span>);</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> </div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  <span class="keywordtype">string</span>& opAddAssign(<span class="keywordtype">float</span>);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span> </div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  <span class="keywordtype">string</span>& opAddAssign(int64);</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span> </div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  <span class="keywordtype">string</span>& opAddAssign(uint64);</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span> </div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keywordtype">bool</span>);</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> </div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keyword">const</span> <span class="keywordtype">string</span>&in);</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span> </div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keywordtype">double</span>);</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span> </div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(<span class="keywordtype">float</span>);</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span> </div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(int64);</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span> </div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <span class="keywordtype">string</span>& <a class="code" href="classarray.html#a1b6fd9008d23acac688a264c637b004e">opAssign</a>(uint64);</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> </div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>  <span class="keywordtype">string</span> opAdd(<span class="keywordtype">bool</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> </div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  <span class="keywordtype">string</span> opAdd(<span class="keyword">const</span> <span class="keywordtype">string</span>&in) <span class="keyword">const</span>;</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> </div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  <span class="keywordtype">string</span> opAdd(<span class="keywordtype">double</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span> </div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  <span class="keywordtype">string</span> opAdd(<span class="keywordtype">float</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span> </div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  <span class="keywordtype">string</span> opAdd(int64) <span class="keyword">const</span>;</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span> </div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>  <span class="keywordtype">string</span> opAdd(uint64) <span class="keyword">const</span>;</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> </div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <span class="keywordtype">string</span> opAdd_r(<span class="keywordtype">bool</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> </div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  <span class="keywordtype">string</span> opAdd_r(<span class="keywordtype">double</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span> </div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  <span class="keywordtype">string</span> opAdd_r(<span class="keywordtype">float</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> </div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <span class="keywordtype">string</span> opAdd_r(int64) <span class="keyword">const</span>;</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span> </div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>  <span class="keywordtype">string</span> opAdd_r(uint64) <span class="keyword">const</span>;</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>  <span class="keywordtype">string</span> substr(uint start = 0, <span class="keywordtype">int</span> count = - 1) <span class="keyword">const</span>;</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span> </div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>  uint8& <a class="code" href="classarray.html#a8c88f6ed595eb8b07552822605e831d6">opIndex</a>(uint);</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span> </div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  uint <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> </div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  uint <a class="code" href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">size</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span> </div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">erase</a>(uint pos, <span class="keywordtype">int</span> count = - 1);</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> </div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a17d624b663cc00e4f9ed1c8a25bc8d91">insert</a>(uint pos, <span class="keyword">const</span> <span class="keywordtype">string</span>&in other);</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span> </div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="keywordtype">void</span> <a class="code" href="classarray.html#a940bfbdd4630ff2177ef83da4e07dbf4">resize</a>(uint);</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> };</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> </div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span> </div><div class="line"><a name="l01727"></a><span class="lineno"><a class="line" href="classsweep.html"> 1727</a></span> <span class="keyword">class </span><a class="code" href="classsweep.html">sweep</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span> </div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  <a class="code" href="classsweep.html">sweep</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ <a class="code" href="classshape.html">shape</a>, <span class="keyword">const</span> <a class="code" href="classspline__path.html">spline_path</a>@ path);</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> };</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> </div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> </div><div class="line"><a name="l01738"></a><span class="lineno"><a class="line" href="classtmatrix.html"> 1738</a></span> <span class="keyword">class </span><a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> </div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>  <a class="code" href="classpos2d.html">pos2d</a>@ opMul(<a class="code" href="classpos2d.html">pos2d</a>@ obj);</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span> </div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> </div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>  <a class="code" href="classpos3d.html">pos3d</a>@ opMul(<a class="code" href="classpos3d.html">pos3d</a>@ obj);</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span> </div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span> </div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>  <a class="code" href="classpos3d.html">pos3d</a>@ origin() <span class="keyword">const</span>;</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> </div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span> </div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  <a class="code" href="classshape2d.html">shape2d</a>@ opMul(<a class="code" href="classshape2d.html">shape2d</a>@ obj);</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> </div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> </div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  <a class="code" href="classsolid.html">solid</a>@ opMul(<a class="code" href="classsolid.html">solid</a>@ obj);</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> </div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> </div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  <a class="code" href="classtmatrix.html">tmatrix</a>@ opMul(<span class="keyword">const</span> <a class="code" href="classtmatrix.html">tmatrix</a>@ B);</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> </div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span> </div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  <a class="code" href="classvec3d.html">vec3d</a>@ xdir() <span class="keyword">const</span>;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span> </div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>  <a class="code" href="classvec3d.html">vec3d</a>@ ydir() <span class="keyword">const</span>;</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span> </div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> </div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>  <a class="code" href="classvec3d.html">vec3d</a>@ zdir() <span class="keyword">const</span>;</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span> </div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <span class="keywordtype">void</span> dump() <span class="keyword">const</span>;</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> </div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> };</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> </div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> </div><div class="line"><a name="l01788"></a><span class="lineno"><a class="line" href="classtransform__extrude.html"> 1788</a></span> <span class="keyword">class </span><a class="code" href="classtransform__extrude.html">transform_extrude</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> </div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>  <a class="code" href="classtransform__extrude.html">transform_extrude</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ bottom, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ top);</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span> </div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> };</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> </div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> </div><div class="line"><a name="l01799"></a><span class="lineno"><a class="line" href="classtranslate.html"> 1799</a></span> <span class="keyword">class </span><a class="code" href="classtranslate.html">translate</a> : <span class="keyword">public</span> <a class="code" href="classtmatrix.html">tmatrix</a> {</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span> </div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>  <a class="code" href="classtranslate.html">translate</a>(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ v);</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span> </div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span> </div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>  <a class="code" href="classtranslate.html">translate</a>(<span class="keywordtype">double</span> dx, <span class="keywordtype">double</span> dy, <span class="keywordtype">double</span> dz = 0.0);</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span> </div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span> </div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>  <span class="keywordtype">double</span> dx() <span class="keyword">const</span>;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span> </div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span> </div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>  <span class="keywordtype">double</span> dy() <span class="keyword">const</span>;</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span> </div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span> </div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>  <span class="keywordtype">double</span> dz() <span class="keyword">const</span>;</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span> </div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span> };</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span> </div><div class="line"><a name="l01830"></a><span class="lineno"><a class="line" href="classunion2d.html"> 1830</a></span> <span class="keyword">class </span><a class="code" href="classunion2d.html">union2d</a> : <span class="keyword">public</span> <a class="code" href="classshape2d.html">shape2d</a> {</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span> </div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>  <a class="code" href="classunion2d.html">union2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2);</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span> </div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> </div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>  <a class="code" href="classunion2d.html">union2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3);</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> </div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>  <a class="code" href="classunion2d.html">union2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4);</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span> </div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span> </div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>  <a class="code" href="classunion2d.html">union2d</a>(<span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s1, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s2, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s3, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s4, <span class="keyword">const</span> <a class="code" href="classshape2d.html">shape2d</a>@ s5);</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span> </div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>  <a class="code" href="classunion2d.html">union2d</a>(<a class="code" href="classarray.html">array<shape2d@></a>@ arr);</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span> </div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> };</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span> </div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span> </div><div class="line"><a name="l01868"></a><span class="lineno"><a class="line" href="classunion3d.html"> 1868</a></span> <span class="keyword">class </span><a class="code" href="classunion3d.html">union3d</a> : <span class="keyword">public</span> <a class="code" href="classsolid.html">solid</a> {</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span> </div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>  <a class="code" href="classunion3d.html">union3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2);</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span> </div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span> </div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>  <a class="code" href="classunion3d.html">union3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3);</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span> </div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span> </div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>  <a class="code" href="classunion3d.html">union3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4);</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span> </div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span> </div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>  <a class="code" href="classunion3d.html">union3d</a>(<span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s1, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s2, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s3, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s4, <span class="keyword">const</span> <a class="code" href="classsolid.html">solid</a>@ s5);</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span> </div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>  <a class="code" href="classunion3d.html">union3d</a>(<a class="code" href="classarray.html">array<solid@></a>@ arr);</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span> </div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span> };</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span> </div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span> </div><div class="line"><a name="l01903"></a><span class="lineno"><a class="line" href="classvec2d.html"> 1903</a></span> <span class="keyword">class </span><a class="code" href="classvec2d.html">vec2d</a> {</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span> </div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <a class="code" href="classvec2d.html">vec2d</a>(<span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos2d.html">pos2d</a>@ p2);</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span> </div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span> </div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  <a class="code" href="classvec2d.html">vec2d</a>(<span class="keyword">const</span> <a class="code" href="classvec2d.html">vec2d</a>@ other);</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> </div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span> </div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  <a class="code" href="classvec2d.html">vec2d</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y);</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span> </div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span> </div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>  <span class="keywordtype">double</span> angle(<span class="keyword">const</span> <a class="code" href="classvec2d.html">vec2d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> </div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span> </div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  <span class="keywordtype">double</span> cross(<span class="keyword">const</span> <a class="code" href="classvec2d.html">vec2d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> </div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span> </div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keywordtype">double</span> dot(<span class="keyword">const</span> <a class="code" href="classvec2d.html">vec2d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> </div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span> </div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span> </div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> </div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  <span class="keywordtype">double</span> x() <span class="keyword">const</span>;</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span> </div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> </div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="keywordtype">double</span> y() <span class="keyword">const</span>;</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span> </div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span> </div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <a class="code" href="classvec2d.html">vec2d</a>@ opAdd(<a class="code" href="classvec2d.html">vec2d</a>@ v1);</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span> </div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> </div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <a class="code" href="classvec2d.html">vec2d</a>@ opMul(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> </div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span> </div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  <a class="code" href="classvec2d.html">vec2d</a>@ opMul_r(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span> </div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span> </div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>  <a class="code" href="classvec2d.html">vec2d</a>@ opSub(<a class="code" href="classvec2d.html">vec2d</a>@ v1);</div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span> </div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <span class="keywordtype">void</span> normalise();</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span> </div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span> };</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span> </div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> </div><div class="line"><a name="l01973"></a><span class="lineno"><a class="line" href="classvec3d.html"> 1973</a></span> <span class="keyword">class </span><a class="code" href="classvec3d.html">vec3d</a> {</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span> <span class="keyword">public</span>:</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> </div><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>  <a class="code" href="classvec3d.html">vec3d</a>(<span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ p1, <span class="keyword">const</span> <a class="code" href="classpos3d.html">pos3d</a>@ p2);</div><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span> </div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span> </div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>  <a class="code" href="classvec3d.html">vec3d</a>(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ other);</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span> </div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>  <a class="code" href="classvec3d.html">vec3d</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z);</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> </div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> </div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>  <span class="keywordtype">double</span> angle(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> </div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> </div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>  <span class="keywordtype">double</span> dot(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span> </div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span> </div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>  <span class="keywordtype">double</span> <a class="code" href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">length</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span> </div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span> </div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>  <span class="keywordtype">double</span> x() <span class="keyword">const</span>;</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span> </div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span> </div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>  <span class="keywordtype">double</span> y() <span class="keyword">const</span>;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span> </div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span> </div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>  <span class="keywordtype">double</span> z() <span class="keyword">const</span>;</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span> </div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span> </div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>  <a class="code" href="classvec3d.html">vec3d</a>@ cross(<span class="keyword">const</span> <a class="code" href="classvec3d.html">vec3d</a>@ other) <span class="keyword">const</span>;</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span> </div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span> </div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>  <a class="code" href="classvec3d.html">vec3d</a>@ opAdd(<a class="code" href="classvec3d.html">vec3d</a>@ v1);</div><div class="line"><a name="l02025"></a><span class="lineno"> 2025</span> </div><div class="line"><a name="l02027"></a><span class="lineno"> 2027</span> </div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>  <a class="code" href="classvec3d.html">vec3d</a>@ opMul(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span> </div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span> </div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>  <a class="code" href="classvec3d.html">vec3d</a>@ opMul_r(<span class="keywordtype">double</span> f1);</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span> </div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span> </div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>  <a class="code" href="classvec3d.html">vec3d</a>@ opSub(<a class="code" href="classvec3d.html">vec3d</a>@ v1);</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span> </div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>  <span class="keywordtype">void</span> normalise();</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span> </div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span> };</div><div class="ttc" id="classas__istream_html"><div class="ttname"><a href="classas__istream.html">as_istream</a></div><div class="ttdoc">Input stream (usable in console window only). Provides "cin" input stream. </div><div class="ttdef"><b>Definition:</b> angelcad.h:186</div></div>
<div class="ttc" id="classintersection3d_html"><div class="ttname"><a href="classintersection3d.html">intersection3d</a></div><div class="ttdoc">3d intersection boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:608</div></div>
<div class="ttc" id="classtransform__extrude_html"><div class="ttname"><a href="classtransform__extrude.html">transform_extrude</a></div><div class="ttdoc">Extrude from botton to top shapes using transform. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1788</div></div>
<div class="ttc" id="classarray_html_ab3d5f0669082be8ad6c9e16221b4a744"><div class="ttname"><a href="classarray.html#ab3d5f0669082be8ad6c9e16221b4a744">array::sortAsc</a></div><div class="ttdeci">void sortAsc()</div></div>
<div class="ttc" id="classpface_html"><div class="ttname"><a href="classpface.html">pface</a></div><div class="ttdoc">Polyhedron face. </div><div class="ttdef"><b>Definition:</b> angelcad.h:954</div></div>
<div class="ttc" id="classpolyhedron_html"><div class="ttname"><a href="classpolyhedron.html">polyhedron</a></div><div class="ttdoc">Closed polyhedron volume defined by vertices and planar faces. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1067</div></div>
<div class="ttc" id="classarray_html_ab13e237aaa0a8cf8390aa2900e600a16"><div class="ttname"><a href="classarray.html#ab13e237aaa0a8cf8390aa2900e600a16">array::removeLast</a></div><div class="ttdeci">void removeLast()</div></div>
<div class="ttc" id="classhull2d_html"><div class="ttname"><a href="classhull2d.html">hull2d</a></div><div class="ttdoc">2d hull operation, enclosing the input shapes </div><div class="ttdef"><b>Definition:</b> angelcad.h:492</div></div>
<div class="ttc" id="classfill2d_html"><div class="ttname"><a href="classfill2d.html">fill2d</a></div><div class="ttdoc">2d fill operation, filling holes in input shapes </div><div class="ttdef"><b>Definition:</b> angelcad.h:457</div></div>
<div class="ttc" id="classminkowski3d_html"><div class="ttname"><a href="classminkowski3d.html">minkowski3d</a></div><div class="ttdoc">3d Minkowski sum operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:892</div></div>
<div class="ttc" id="classshape_html"><div class="ttname"><a href="classshape.html">shape</a></div><div class="ttdoc">Abstract base for all primitives and booleans. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1385</div></div>
<div class="ttc" id="classarray_html_a9d8f02811bd926ae2d5cc23ae7260bf7"><div class="ttname"><a href="classarray.html#a9d8f02811bd926ae2d5cc23ae7260bf7">array::pop_back</a></div><div class="ttdeci">void pop_back()</div></div>
<div class="ttc" id="classoffset2d_html"><div class="ttname"><a href="classoffset2d.html">offset2d</a></div><div class="ttdoc">2d profile offset </div><div class="ttdef"><b>Definition:</b> angelcad.h:933</div></div>
<div class="ttc" id="classtmatrix_html"><div class="ttname"><a href="classtmatrix.html">tmatrix</a></div><div class="ttdoc">Abstract base matrix for transformations. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1738</div></div>
<div class="ttc" id="classmap__iterator_html"><div class="ttname"><a href="classmap__iterator.html">map_iterator</a></div><div class="ttdoc">Container iterator type for map. </div><div class="ttdef"><b>Definition:</b> angelcad.h:829</div></div>
<div class="ttc" id="classlocsys3d_html"><div class="ttname"><a href="classlocsys3d.html">locsys3d</a></div><div class="ttdoc">3d localsystem </div><div class="ttdef"><b>Definition:</b> angelcad.h:723</div></div>
<div class="ttc" id="classrotate__y_html"><div class="ttname"><a href="classrotate__y.html">rotate_y</a></div><div class="ttdoc">Rotation around y. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1320</div></div>
<div class="ttc" id="classarray_html_a17d624b663cc00e4f9ed1c8a25bc8d91"><div class="ttname"><a href="classarray.html#a17d624b663cc00e4f9ed1c8a25bc8d91">array::insert</a></div><div class="ttdeci">void insert(uint index, const T &in value)</div></div>
<div class="ttc" id="classarray_html"><div class="ttname"><a href="classarray.html">array</a></div><div class="ttdoc">Array of values or references. </div><div class="ttdef"><b>Definition:</b> angelcad.h:7</div></div>
<div class="ttc" id="classarray_html_a12e8af2754e4fedb583880803eea1480"><div class="ttname"><a href="classarray.html#a12e8af2754e4fedb583880803eea1480">array::isEmpty</a></div><div class="ttdeci">bool isEmpty() const</div></div>
<div class="ttc" id="classcone_html"><div class="ttname"><a href="classcone.html">cone</a></div><div class="ttdoc">cone with axis in z-direction, by default extending from origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:323</div></div>
<div class="ttc" id="classsphere_html"><div class="ttname"><a href="classsphere.html">sphere</a></div><div class="ttdoc">sphere, centered at origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:1460</div></div>
<div class="ttc" id="classsquare_html"><div class="ttname"><a href="classsquare.html">square</a></div><div class="ttdoc">square, by default located in 1st quadrant touching origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:1531</div></div>
<div class="ttc" id="classcuboid_html"><div class="ttname"><a href="classcuboid.html">cuboid</a></div><div class="ttdoc">cuboid, by default in 1st octant with one corner toucing origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:373</div></div>
<div class="ttc" id="classarray_html_ae6f736a0914e51191bb32eb5ca8bdde3"><div class="ttname"><a href="classarray.html#ae6f736a0914e51191bb32eb5ca8bdde3">array::reserve</a></div><div class="ttdeci">void reserve(uint length)</div></div>
<div class="ttc" id="classvec3d_html"><div class="ttname"><a href="classvec3d.html">vec3d</a></div><div class="ttdoc">3d direction vector </div><div class="ttdef"><b>Definition:</b> angelcad.h:1973</div></div>
<div class="ttc" id="classpos2d_html"><div class="ttname"><a href="classpos2d.html">pos2d</a></div><div class="ttdoc">2d position coordinates </div><div class="ttdef"><b>Definition:</b> angelcad.h:1129</div></div>
<div class="ttc" id="classmirror_html"><div class="ttname"><a href="classmirror.html">mirror</a></div><div class="ttdoc">Mirror transformation around given point. </div><div class="ttdef"><b>Definition:</b> angelcad.h:903</div></div>
<div class="ttc" id="classcylinder_html"><div class="ttname"><a href="classcylinder.html">cylinder</a></div><div class="ttdoc">cylinder with axis in z-direction, by default extending from origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:399</div></div>
<div class="ttc" id="classpointcloud_html"><div class="ttname"><a href="classpointcloud.html">pointcloud</a></div><div class="ttdoc">pointcloud, contains pos3d@ cloud </div><div class="ttdef"><b>Definition:</b> angelcad.h:981</div></div>
<div class="ttc" id="classshape2d_html"><div class="ttname"><a href="classshape2d.html">shape2d</a></div><div class="ttdoc">Abstract base for 2d primitives and booleans. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1408</div></div>
<div class="ttc" id="classline3d_html"><div class="ttname"><a href="classline3d.html">line3d</a></div><div class="ttdoc">3d line </div><div class="ttdef"><b>Definition:</b> angelcad.h:675</div></div>
<div class="ttc" id="classarray_html_a331272face9bdd4b12baa9d5d7e9d156"><div class="ttname"><a href="classarray.html#a331272face9bdd4b12baa9d5d7e9d156">array::opEquals</a></div><div class="ttdeci">bool opEquals(const T[]&in) const</div></div>
<div class="ttc" id="classarray_html_abb43253bd0183ec79b4ea299e842919d"><div class="ttname"><a href="classarray.html#abb43253bd0183ec79b4ea299e842919d">array::removeAt</a></div><div class="ttdeci">void removeAt(uint index)</div></div>
<div class="ttc" id="classarray_html_af38d1f3bbdc8a7b00e1b69e90047c01b"><div class="ttname"><a href="classarray.html#af38d1f3bbdc8a7b00e1b69e90047c01b">array::array</a></div><div class="ttdeci">array(int &in)</div></div>
<div class="ttc" id="classrectangle_html"><div class="ttname"><a href="classrectangle.html">rectangle</a></div><div class="ttdoc">rectangle, by default located in 1st quadrant touching origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:1259</div></div>
<div class="ttc" id="classspline3d_html"><div class="ttname"><a href="classspline3d.html">spline3d</a></div><div class="ttdoc">3d cubic spline curve </div><div class="ttdef"><b>Definition:</b> angelcad.h:1496</div></div>
<div class="ttc" id="classrotate__x_html"><div class="ttname"><a href="classrotate__x.html">rotate_x</a></div><div class="ttdoc">Rotation around x. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1301</div></div>
<div class="ttc" id="classarray_html_a5c17c0fe0e28321d51cb93ce8368a94c"><div class="ttname"><a href="classarray.html#a5c17c0fe0e28321d51cb93ce8368a94c">array::empty</a></div><div class="ttdeci">bool empty() const</div></div>
<div class="ttc" id="classpolygon_html"><div class="ttname"><a href="classpolygon.html">polygon</a></div><div class="ttdoc">polygon, vertices in CCW order </div><div class="ttdef"><b>Definition:</b> angelcad.h:1005</div></div>
<div class="ttc" id="classprojection2d_html"><div class="ttname"><a href="classprojection2d.html">projection2d</a></div><div class="ttdoc">Project from 3d to 2d. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1249</div></div>
<div class="ttc" id="classarray_html_a2d5e7a47bba73c6719a2c1c8067cc6db"><div class="ttname"><a href="classarray.html#a2d5e7a47bba73c6719a2c1c8067cc6db">array::push_back</a></div><div class="ttdeci">void push_back(const T &in)</div></div>
<div class="ttc" id="classlinear__extrude_html"><div class="ttname"><a href="classlinear__extrude.html">linear_extrude</a></div><div class="ttdoc">Extrude 2d shape in z direction into 3d solid. </div><div class="ttdef"><b>Definition:</b> angelcad.h:708</div></div>
<div class="ttc" id="classboundingbox_html"><div class="ttname"><a href="classboundingbox.html">boundingbox</a></div><div class="ttdoc">bounding box aligned with system axes </div><div class="ttdef"><b>Definition:</b> angelcad.h:253</div></div>
<div class="ttc" id="classunion3d_html"><div class="ttname"><a href="classunion3d.html">union3d</a></div><div class="ttdoc">3d union boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:1868</div></div>
<div class="ttc" id="classarray_html_ad18ef2911aff776f23cf9a7995ffa09a"><div class="ttname"><a href="classarray.html#ad18ef2911aff776f23cf9a7995ffa09a">array::erase</a></div><div class="ttdeci">void erase(uint)</div></div>
<div class="ttc" id="classdifference3d_html"><div class="ttname"><a href="classdifference3d.html">difference3d</a></div><div class="ttdoc">3d difference boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:444</div></div>
<div class="ttc" id="classarray_html_a76c6e1607a91a26ffe8399d07fb9f0e3"><div class="ttname"><a href="classarray.html#a76c6e1607a91a26ffe8399d07fb9f0e3">array::size</a></div><div class="ttdeci">uint size() const</div></div>
<div class="ttc" id="classminkowski2d_html"><div class="ttname"><a href="classminkowski2d.html">minkowski2d</a></div><div class="ttdoc">2d Minkowski sum operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:877</div></div>
<div class="ttc" id="classintersection2d_html"><div class="ttname"><a href="classintersection2d.html">intersection2d</a></div><div class="ttdoc">2d intersection boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:569</div></div>
<div class="ttc" id="classtranslate_html"><div class="ttname"><a href="classtranslate.html">translate</a></div><div class="ttdoc">Translation in x, y and z. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1799</div></div>
<div class="ttc" id="classas__args_html"><div class="ttname"><a href="classas__args.html">as_args</a></div><div class="ttdoc">Script input arguments. </div><div class="ttdef"><b>Definition:</b> angelcad.h:131</div></div>
<div class="ttc" id="classarray_html_a33109879593b8c5d0d2b355b23ac3c21"><div class="ttname"><a href="classarray.html#a33109879593b8c5d0d2b355b23ac3c21">array::length</a></div><div class="ttdeci">uint length() const</div></div>
<div class="ttc" id="classsweep_html"><div class="ttname"><a href="classsweep.html">sweep</a></div><div class="ttdoc">Sweep 2d shape along path curve to create 3d solid. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1727</div></div>
<div class="ttc" id="classmap_html"><div class="ttname"><a href="classmap.html">map</a></div><div class="ttdoc">Template container storing sorted keys and values: map<T_key,T_value> </div><div class="ttdef"><b>Definition:</b> angelcad.h:751</div></div>
<div class="ttc" id="classarray_html_abebbd96a9a72fe44f9817a6dfe26053f"><div class="ttname"><a href="classarray.html#abebbd96a9a72fe44f9817a6dfe26053f">array::find</a></div><div class="ttdeci">int find(const T &in value) const</div></div>
<div class="ttc" id="classarray_html_a123f1f7de82e7716ede10d15be25c904"><div class="ttname"><a href="classarray.html#a123f1f7de82e7716ede10d15be25c904">array::findByRef</a></div><div class="ttdeci">int findByRef(const T &in value) const</div></div>
<div class="ttc" id="classrotate__extrude_html"><div class="ttname"><a href="classrotate__extrude.html">rotate_extrude</a></div><div class="ttdoc">Extrude 2d shape CCW in XZ plane into 3d solid. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1281</div></div>
<div class="ttc" id="classhull3d_html"><div class="ttname"><a href="classhull3d.html">hull3d</a></div><div class="ttdoc">3d hull operation, enclosing the input solids </div><div class="ttdef"><b>Definition:</b> angelcad.h:530</div></div>
<div class="ttc" id="classarray_html_a940bfbdd4630ff2177ef83da4e07dbf4"><div class="ttname"><a href="classarray.html#a940bfbdd4630ff2177ef83da4e07dbf4">array::resize</a></div><div class="ttdeci">void resize(uint length)</div></div>
<div class="ttc" id="classsolid_html"><div class="ttname"><a href="classsolid.html">solid</a></div><div class="ttdoc">Abstract base for 3d primitives and booleans. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1434</div></div>
<div class="ttc" id="classarray_html_a8c88f6ed595eb8b07552822605e831d6"><div class="ttname"><a href="classarray.html#a8c88f6ed595eb8b07552822605e831d6">array::opIndex</a></div><div class="ttdeci">T & opIndex(uint index)</div></div>
<div class="ttc" id="classarray_html_a01ebe99068bc9d283c434828ab2b0db1"><div class="ttname"><a href="classarray.html#a01ebe99068bc9d283c434828ab2b0db1">array::reverse</a></div><div class="ttdeci">void reverse()</div></div>
<div class="ttc" id="classcube_html"><div class="ttname"><a href="classcube.html">cube</a></div><div class="ttdoc">cube, by default in 1st octant with one corner toucing origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:359</div></div>
<div class="ttc" id="classas__ostream_html"><div class="ttname"><a href="classas__ostream.html">as_ostream</a></div><div class="ttdoc">Output stream allowing expressions like: cout << "Hello World!" << endl;. </div><div class="ttdef"><b>Definition:</b> angelcad.h:223</div></div>
<div class="ttc" id="classvec2d_html"><div class="ttname"><a href="classvec2d.html">vec2d</a></div><div class="ttdoc">2d direction vector </div><div class="ttdef"><b>Definition:</b> angelcad.h:1903</div></div>
<div class="ttc" id="classhmatrix_html"><div class="ttname"><a href="classhmatrix.html">hmatrix</a></div><div class="ttdoc">Homogeneous transformation matrix. </div><div class="ttdef"><b>Definition:</b> angelcad.h:471</div></div>
<div class="ttc" id="classscale_html"><div class="ttname"><a href="classscale.html">scale</a></div><div class="ttdoc">Scaling transformation. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1358</div></div>
<div class="ttc" id="classline2d_html"><div class="ttname"><a href="classline2d.html">line2d</a></div><div class="ttdoc">2d line </div><div class="ttdef"><b>Definition:</b> angelcad.h:643</div></div>
<div class="ttc" id="classpos3d_html"><div class="ttname"><a href="classpos3d.html">pos3d</a></div><div class="ttdoc">3d position coordinates </div><div class="ttdef"><b>Definition:</b> angelcad.h:1187</div></div>
<div class="ttc" id="classspline2d_html"><div class="ttname"><a href="classspline2d.html">spline2d</a></div><div class="ttdoc">2d cubic spline curve </div><div class="ttdef"><b>Definition:</b> angelcad.h:1478</div></div>
<div class="ttc" id="classarray_html_ae2be6c8a3aeacc96b30767b62bf027bd"><div class="ttname"><a href="classarray.html#ae2be6c8a3aeacc96b30767b62bf027bd">array::removeRange</a></div><div class="ttdeci">void removeRange(uint start, uint count)</div></div>
<div class="ttc" id="classarray_html_ada53228bf0b1a0bd2249c08c913468d8"><div class="ttname"><a href="classarray.html#ada53228bf0b1a0bd2249c08c913468d8">array::insertAt</a></div><div class="ttdeci">void insertAt(uint index, const T &in value)</div></div>
<div class="ttc" id="classstring_html"><div class="ttname"><a href="classstring.html">string</a></div><div class="ttdoc">String type similar to C++ strings. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1545</div></div>
<div class="ttc" id="classarray_html_a1b6fd9008d23acac688a264c637b004e"><div class="ttname"><a href="classarray.html#a1b6fd9008d23acac688a264c637b004e">array::opAssign</a></div><div class="ttdeci">T &[] opAssign(const T[]&in)</div></div>
<div class="ttc" id="classarray_html_a8544b9ade9315d1b1c94f81b060a68fb"><div class="ttname"><a href="classarray.html#a8544b9ade9315d1b1c94f81b060a68fb">array::sortDesc</a></div><div class="ttdeci">void sortDesc()</div></div>
<div class="ttc" id="classspline__path_html"><div class="ttname"><a href="classspline__path.html">spline_path</a></div><div class="ttdoc">spline_path for sweep </div><div class="ttdef"><b>Definition:</b> angelcad.h:1514</div></div>
<div class="ttc" id="classarray_html_a606caf2f233828e7eeff9ec005a4bb93"><div class="ttname"><a href="classarray.html#a606caf2f233828e7eeff9ec005a4bb93">array::sort</a></div><div class="ttdeci">void sort(array::less &in, uint startAt=0, uint count=uint(- 1))</div></div>
<div class="ttc" id="classunion2d_html"><div class="ttname"><a href="classunion2d.html">union2d</a></div><div class="ttdoc">2d union boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:1830</div></div>
<div class="ttc" id="classrotate__z_html"><div class="ttname"><a href="classrotate__z.html">rotate_z</a></div><div class="ttdoc">Rotation around z. </div><div class="ttdef"><b>Definition:</b> angelcad.h:1339</div></div>
<div class="ttc" id="classdifference2d_html"><div class="ttname"><a href="classdifference2d.html">difference2d</a></div><div class="ttdoc">2d difference boolean operation </div><div class="ttdef"><b>Definition:</b> angelcad.h:430</div></div>
<div class="ttc" id="classcircle_html"><div class="ttname"><a href="classcircle.html">circle</a></div><div class="ttdoc">circle, centered at origin </div><div class="ttdef"><b>Definition:</b> angelcad.h:298</div></div>
<div class="ttc" id="classarray_html_a2c6b3ffb690d2a0bedb5c7eca41c6922"><div class="ttname"><a href="classarray.html#a2c6b3ffb690d2a0bedb5c7eca41c6922">array::insertLast</a></div><div class="ttdeci">void insertLast(const T &in value)</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Nov 15 2020 14:41:20 for AngelCAD by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>