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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
|
<!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"/>
<title>OpenCTM: openctm.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
<h1>openctm.h</h1><a href="openctm_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//-----------------------------------------------------------------------------</span>
<a name="l00002"></a>00002 <span class="comment">// Product: OpenCTM</span>
<a name="l00003"></a>00003 <span class="comment">// File: openctm.h</span>
<a name="l00004"></a>00004 <span class="comment">// Description: OpenCTM API definition.</span>
<a name="l00005"></a>00005 <span class="comment">//-----------------------------------------------------------------------------</span>
<a name="l00006"></a>00006 <span class="comment">// Copyright (c) 2009-2010 Marcus Geelnard</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008 <span class="comment">// This software is provided 'as-is', without any express or implied</span>
<a name="l00009"></a>00009 <span class="comment">// warranty. In no event will the authors be held liable for any damages</span>
<a name="l00010"></a>00010 <span class="comment">// arising from the use of this software.</span>
<a name="l00011"></a>00011 <span class="comment">//</span>
<a name="l00012"></a>00012 <span class="comment">// Permission is granted to anyone to use this software for any purpose,</span>
<a name="l00013"></a>00013 <span class="comment">// including commercial applications, and to alter it and redistribute it</span>
<a name="l00014"></a>00014 <span class="comment">// freely, subject to the following restrictions:</span>
<a name="l00015"></a>00015 <span class="comment">//</span>
<a name="l00016"></a>00016 <span class="comment">// 1. The origin of this software must not be misrepresented; you must not</span>
<a name="l00017"></a>00017 <span class="comment">// claim that you wrote the original software. If you use this software</span>
<a name="l00018"></a>00018 <span class="comment">// in a product, an acknowledgment in the product documentation would be</span>
<a name="l00019"></a>00019 <span class="comment">// appreciated but is not required.</span>
<a name="l00020"></a>00020 <span class="comment">//</span>
<a name="l00021"></a>00021 <span class="comment">// 2. Altered source versions must be plainly marked as such, and must not</span>
<a name="l00022"></a>00022 <span class="comment">// be misrepresented as being the original software.</span>
<a name="l00023"></a>00023 <span class="comment">//</span>
<a name="l00024"></a>00024 <span class="comment">// 3. This notice may not be removed or altered from any source</span>
<a name="l00025"></a>00025 <span class="comment">// distribution.</span>
<a name="l00026"></a>00026 <span class="comment">//-----------------------------------------------------------------------------</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef __OPENCTM_H_</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define __OPENCTM_H_</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00117"></a>00117 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00119"></a>00119 <span class="preprocessor">#endif</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span>
<a name="l00121"></a>00121
<a name="l00122"></a>00122 <span class="comment">// Declare calling conventions etc.</span>
<a name="l00123"></a>00123 <span class="preprocessor">#if defined(WIN32) || defined(_WIN32)</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span> <span class="comment">// Windows</span>
<a name="l00125"></a>00125 <span class="preprocessor"> #if defined(OPENCTM_STATIC)</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor"> #if defined(OPENCTM_BUILD)</span>
<a name="l00129"></a>00129 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT __declspec(dllexport)</span>
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT __declspec(dllimport)</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor"> #if defined(__MINGW32__)</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="preprocessor"> #define CTMCALL __attribute__ ((__stdcall__))</span>
<a name="l00136"></a>00136 <span class="preprocessor"></span><span class="preprocessor"> #elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="preprocessor"> #define CTMCALL __stdcall</span>
<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor"> #define CTMCALL</span>
<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00142"></a>00142 <span class="preprocessor"></span> <span class="comment">// Unix</span>
<a name="l00143"></a>00143 <span class="preprocessor"> #if !defined(OPENCTM_STATIC) && !defined(OPENCTM_BUILD)</span>
<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT extern</span>
<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="preprocessor"> #if defined(OPENCTM_BUILD) && defined(__GNUC__) && (__GNUC__ >= 4)</span>
<a name="l00147"></a>00147 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT __attribute__ ((visibility("default")))</span>
<a name="l00148"></a>00148 <span class="preprocessor"></span><span class="preprocessor"> #else</span>
<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor"> #define CTMEXPORT</span>
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="preprocessor"> #define CTMCALL</span>
<a name="l00153"></a>00153 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00154"></a>00154 <span class="preprocessor"></span>
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="comment">// Get system specific type definitions for sized integers. We use the C99</span>
<a name="l00157"></a>00157 <span class="comment">// standard stdint.h for this.</span>
<a name="l00158"></a>00158 <span class="preprocessor">#ifdef _MSC_VER</span>
<a name="l00159"></a>00159 <span class="preprocessor"></span> <span class="comment">// MS Visual Studio does not support C99</span>
<a name="l00160"></a>00160 <span class="keyword">typedef</span> <span class="keywordtype">int</span> int32_t;
<a name="l00161"></a>00161 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32_t;
<a name="l00162"></a>00162 <span class="preprocessor">#else</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span><span class="preprocessor"> #include <stdint.h></span>
<a name="l00164"></a>00164 <span class="preprocessor">#endif</span>
<a name="l00165"></a>00165 <span class="preprocessor"></span>
<a name="l00166"></a>00166
<a name="l00168"></a><a class="code" href="openctm_8h.html#a909fd88252d88bd84095aba982900e7f">00168</a> <span class="preprocessor">#define CTM_API_VERSION 0x00000100</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span>
<a name="l00171"></a><a class="code" href="openctm_8h.html#a2004bfa9db3f5d6e07411d1bea3a573a">00171</a> <span class="preprocessor">#define CTM_TRUE 1</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span>
<a name="l00174"></a><a class="code" href="openctm_8h.html#aeab5b58ecb1449e95f577b59e4803314">00174</a> <span class="preprocessor">#define CTM_FALSE 0</span>
<a name="l00175"></a>00175 <span class="preprocessor"></span>
<a name="l00177"></a><a class="code" href="openctm_8h.html#af8b7eeaefac4d6ad39d11c3f7be8afa2">00177</a> <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="openctm_8h.html#af8b7eeaefac4d6ad39d11c3f7be8afa2" title="Single precision floating point type (IEEE 754 32 bits wide).">CTMfloat</a>;
<a name="l00178"></a>00178
<a name="l00180"></a><a class="code" href="openctm_8h.html#a4c1dde73baa8f68242cc922cf85f2096">00180</a> <span class="keyword">typedef</span> int32_t <a class="code" href="openctm_8h.html#a4c1dde73baa8f68242cc922cf85f2096" title="Signed integer (32 bits wide).">CTMint</a>;
<a name="l00181"></a>00181
<a name="l00183"></a><a class="code" href="openctm_8h.html#ac5ea1beb64d415c241f2abf35eeb6c48">00183</a> <span class="keyword">typedef</span> uint32_t <a class="code" href="openctm_8h.html#ac5ea1beb64d415c241f2abf35eeb6c48" title="Unsigned integer (32 bits wide).">CTMuint</a>;
<a name="l00184"></a>00184
<a name="l00186"></a><a class="code" href="openctm_8h.html#a7062b4f48dc6d1b736ac93955acf3888">00186</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> * <a class="code" href="openctm_8h.html#a7062b4f48dc6d1b736ac93955acf3888" title="OpenCTM context handle.">CTMcontext</a>;
<a name="l00187"></a>00187
<a name="l00192"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625">00192</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00193"></a>00193 <span class="comment">// Error codes (see ctmGetError())</span>
<a name="l00194"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625abf60b318c307c84b240d374d07ff6bf5">00194</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625abf60b318c307c84b240d374d07ff6bf5" title="No error has occured (everything is OK).">CTM_NONE</a> = 0x0000,
<a name="l00195"></a>00195
<a name="l00196"></a>00196
<a name="l00197"></a>00197
<a name="l00198"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae8246d2a7b2e7d3cced72f7460e9d5d1">00198</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae8246d2a7b2e7d3cced72f7460e9d5d1" title="The OpenCTM context was invalid (e.g. NULL).">CTM_INVALID_CONTEXT</a> = 0x0001,
<a name="l00199"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625abdfdbc82040b419dbc9906baed538704">00199</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625abdfdbc82040b419dbc9906baed538704" title="A function argument was invalid.">CTM_INVALID_ARGUMENT</a> = 0x0002,
<a name="l00200"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af38eb5e0bd49e7321c4ebd2d1a0a580b">00200</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af38eb5e0bd49e7321c4ebd2d1a0a580b" title="The operation is not allowed.">CTM_INVALID_OPERATION</a> = 0x0003,
<a name="l00201"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a245e25dc7e5bfd88c03d5c52eebfdf29">00201</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a245e25dc7e5bfd88c03d5c52eebfdf29" title="The mesh was invalid (e.g. no vertices).">CTM_INVALID_MESH</a> = 0x0004,
<a name="l00202"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a43202555b9cfdecf32bdf7b9807056f7">00202</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a43202555b9cfdecf32bdf7b9807056f7" title="Not enough memory to proceed.">CTM_OUT_OF_MEMORY</a> = 0x0005,
<a name="l00203"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a0280fc2383ee4d5c613744c9c68cdafb">00203</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a0280fc2383ee4d5c613744c9c68cdafb" title="File I/O error.">CTM_FILE_ERROR</a> = 0x0006,
<a name="l00204"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a607254e23f6dd9ea46f9ed3b01331844">00204</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a607254e23f6dd9ea46f9ed3b01331844" title="File format error (e.g. unrecognized format or corrupted file).">CTM_BAD_FORMAT</a> = 0x0007,
<a name="l00205"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a5492e61ffa160ff720c89221660dbbf8">00205</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a5492e61ffa160ff720c89221660dbbf8" title="An error occured within the LZMA library.">CTM_LZMA_ERROR</a> = 0x0008,
<a name="l00206"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a97d27f42581866aa1413999b6f448191">00206</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a97d27f42581866aa1413999b6f448191" title="An internal error occured (indicates a bug).">CTM_INTERNAL_ERROR</a> = 0x0009,
<a name="l00207"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad3e0a5ee55e26e23f43b28dd61e72f16">00207</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad3e0a5ee55e26e23f43b28dd61e72f16" title="Unsupported file format version.">CTM_UNSUPPORTED_FORMAT_VERSION</a> = 0x000A,
<a name="l00208"></a>00208
<a name="l00209"></a>00209 <span class="comment">// OpenCTM context modes</span>
<a name="l00210"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a98b76ddee5519228fb8864e7929e5f00">00210</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a98b76ddee5519228fb8864e7929e5f00" title="The OpenCTM context will be used for importing data.">CTM_IMPORT</a> = 0x0101,
<a name="l00211"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4d156b19083ce49d4b8a6da287d6f5d3">00211</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4d156b19083ce49d4b8a6da287d6f5d3" title="The OpenCTM context will be used for exporting data.">CTM_EXPORT</a> = 0x0102,
<a name="l00212"></a>00212
<a name="l00213"></a>00213 <span class="comment">// Compression methods</span>
<a name="l00214"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4ba5bf3da62c7292644723b227a5cce8">00214</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4ba5bf3da62c7292644723b227a5cce8" title="Just store the raw data.">CTM_METHOD_RAW</a> = 0x0201,
<a name="l00215"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aeb7ddc6f328ec73944a2fcb20472341b">00215</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aeb7ddc6f328ec73944a2fcb20472341b" title="Lossless compression (floating point).">CTM_METHOD_MG1</a> = 0x0202,
<a name="l00216"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae52e3f40682c9e56be588a4661f8dc0c">00216</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae52e3f40682c9e56be588a4661f8dc0c" title="Lossless compression (fixed point).">CTM_METHOD_MG2</a> = 0x0203,
<a name="l00217"></a>00217
<a name="l00218"></a>00218 <span class="comment">// Context queries</span>
<a name="l00219"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af7d1a8887b82dc448f9d774e8874d98a">00219</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af7d1a8887b82dc448f9d774e8874d98a" title="Number of vertices in the mesh (integer).">CTM_VERTEX_COUNT</a> = 0x0301,
<a name="l00220"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a6d97b09d2d5da53c7c3bad5c5f30e51d">00220</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a6d97b09d2d5da53c7c3bad5c5f30e51d" title="Number of triangles in the mesh (integer).">CTM_TRIANGLE_COUNT</a> = 0x0302,
<a name="l00221"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625adcbea5e453256bbbb3dc369e9f9fd872">00221</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625adcbea5e453256bbbb3dc369e9f9fd872" title="CTM_TRUE if the mesh has normals (integer).">CTM_HAS_NORMALS</a> = 0x0303,
<a name="l00222"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a87b3013d9d9c151ca9eae64e74f981bd">00222</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a87b3013d9d9c151ca9eae64e74f981bd" title="Number of UV coordinate sets (integer).">CTM_UV_MAP_COUNT</a> = 0x0304,
<a name="l00223"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa0b3c108352ad1dbdb60ca6f57e921a4">00223</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa0b3c108352ad1dbdb60ca6f57e921a4" title="Number of custom attribute sets (integer).">CTM_ATTRIB_MAP_COUNT</a> = 0x0305,
<a name="l00224"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a7b32280d8591167a42904920934b8f51">00224</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a7b32280d8591167a42904920934b8f51" title="Vertex precision - for MG2 (float).">CTM_VERTEX_PRECISION</a> = 0x0306,
<a name="l00225"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae63ebc86a051e3f43492eb051eab9e97">00225</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae63ebc86a051e3f43492eb051eab9e97" title="Normal precision - for MG2 (float).">CTM_NORMAL_PRECISION</a> = 0x0307,
<a name="l00226"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae25493f9fd4ddc3e06043078a8c23e20">00226</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae25493f9fd4ddc3e06043078a8c23e20" title="Compression method (integer).">CTM_COMPRESSION_METHOD</a> = 0x0308,
<a name="l00227"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa4b62d1802dd335fd7bfee2ed25c4c4d">00227</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa4b62d1802dd335fd7bfee2ed25c4c4d" title="File comment (string).">CTM_FILE_COMMENT</a> = 0x0309,
<a name="l00228"></a>00228
<a name="l00229"></a>00229 <span class="comment">// UV/attribute map queries</span>
<a name="l00230"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a3e3d28e72ec322ba63f94d77551c5ede">00230</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a3e3d28e72ec322ba63f94d77551c5ede" title="Unique name (UV/attrib map string).">CTM_NAME</a> = 0x0501,
<a name="l00231"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae9adc5919726099c90ea9ba732e85b6c">00231</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ae9adc5919726099c90ea9ba732e85b6c" title="File name reference (UV map string).">CTM_FILE_NAME</a> = 0x0502,
<a name="l00232"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ada5784c8eb3143ee996d31214d46b0d4">00232</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ada5784c8eb3143ee996d31214d46b0d4" title="Value precision (UV/attrib map float).">CTM_PRECISION</a> = 0x0503,
<a name="l00233"></a>00233
<a name="l00234"></a>00234 <span class="comment">// Array queries</span>
<a name="l00235"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa7ec8fe7061e8a336530ee0448073206">00235</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aa7ec8fe7061e8a336530ee0448073206" title="Triangle indices (integer array).">CTM_INDICES</a> = 0x0601,
<a name="l00236"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af7e80243674806368e9e29e9e2bf8d55">00236</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625af7e80243674806368e9e29e9e2bf8d55" title="Vertex point coordinates (float array).">CTM_VERTICES</a> = 0x0602,
<a name="l00237"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a02185a711fd216acee2171e46653855e">00237</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a02185a711fd216acee2171e46653855e" title="Per vertex normals (float array).">CTM_NORMALS</a> = 0x0603,
<a name="l00238"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a9096ee63af274788fe101c75c08b49f6">00238</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a9096ee63af274788fe101c75c08b49f6" title="Per vertex UV map 1 (float array).">CTM_UV_MAP_1</a> = 0x0700,
<a name="l00239"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a104b93d0bfa7344406c68a45da3f616f">00239</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a104b93d0bfa7344406c68a45da3f616f" title="Per vertex UV map 2 (float array).">CTM_UV_MAP_2</a> = 0x0701,
<a name="l00240"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2543bac2bdc3931d37e0465f761060be">00240</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2543bac2bdc3931d37e0465f761060be" title="Per vertex UV map 3 (float array).">CTM_UV_MAP_3</a> = 0x0702,
<a name="l00241"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625acc9b387f30b02c370decac35a253b7a0">00241</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625acc9b387f30b02c370decac35a253b7a0" title="Per vertex UV map 4 (float array).">CTM_UV_MAP_4</a> = 0x0703,
<a name="l00242"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad96f31e47775ac51ca393b19525cd8cc">00242</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad96f31e47775ac51ca393b19525cd8cc" title="Per vertex UV map 5 (float array).">CTM_UV_MAP_5</a> = 0x0704,
<a name="l00243"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625acda599be9fff226924d075c3b09dad7b">00243</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625acda599be9fff226924d075c3b09dad7b" title="Per vertex UV map 6 (float array).">CTM_UV_MAP_6</a> = 0x0705,
<a name="l00244"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4ca0e7ec8e66c772f449be1f4749414b">00244</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a4ca0e7ec8e66c772f449be1f4749414b" title="Per vertex UV map 7 (float array).">CTM_UV_MAP_7</a> = 0x0706,
<a name="l00245"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aeae61f9c3e9cded4a7f8059d0acc41a3">00245</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625aeae61f9c3e9cded4a7f8059d0acc41a3" title="Per vertex UV map 8 (float array).">CTM_UV_MAP_8</a> = 0x0707,
<a name="l00246"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a37c9dffce89ec51e9767e1f9a38e51bd">00246</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a37c9dffce89ec51e9767e1f9a38e51bd" title="Per vertex attribute map 1 (float array).">CTM_ATTRIB_MAP_1</a> = 0x0800,
<a name="l00247"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625adc4a982b27a02157edff941636063827">00247</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625adc4a982b27a02157edff941636063827" title="Per vertex attribute map 2 (float array).">CTM_ATTRIB_MAP_2</a> = 0x0801,
<a name="l00248"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad991095653802528246723d3ed82b532">00248</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625ad991095653802528246723d3ed82b532" title="Per vertex attribute map 3 (float array).">CTM_ATTRIB_MAP_3</a> = 0x0802,
<a name="l00249"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a0f79e8024cea635758c0cf51b24853c6">00249</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a0f79e8024cea635758c0cf51b24853c6" title="Per vertex attribute map 4 (float array).">CTM_ATTRIB_MAP_4</a> = 0x0803,
<a name="l00250"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a224d8bba1ab7b7de0ea4ef6ac4b5dc7e">00250</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a224d8bba1ab7b7de0ea4ef6ac4b5dc7e" title="Per vertex attribute map 5 (float array).">CTM_ATTRIB_MAP_5</a> = 0x0804,
<a name="l00251"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2ee3e625af252ef1771136c144cda838">00251</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2ee3e625af252ef1771136c144cda838" title="Per vertex attribute map 6 (float array).">CTM_ATTRIB_MAP_6</a> = 0x0805,
<a name="l00252"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a99d3f4511629bb006cfcfa12b4db323a">00252</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a99d3f4511629bb006cfcfa12b4db323a" title="Per vertex attribute map 7 (float array).">CTM_ATTRIB_MAP_7</a> = 0x0806,
<a name="l00253"></a><a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2d749b6c2b0a1384c28ad19f491db31e">00253</a> <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625a2d749b6c2b0a1384c28ad19f491db31e" title="Per vertex attribute map 8 (float array).">CTM_ATTRIB_MAP_8</a> = 0x0807
<a name="l00254"></a>00254 } <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a>;
<a name="l00255"></a>00255
<a name="l00264"></a><a class="code" href="openctm_8h.html#ad2fb8fd3b5997a557d8aba2385ed849b">00264</a> <span class="keyword">typedef</span> <a class="code" href="openctm_8h.html#ac5ea1beb64d415c241f2abf35eeb6c48" title="Unsigned integer (32 bits wide).">CTMuint</a> (CTMCALL * <a class="code" href="openctm_8h.html#ad2fb8fd3b5997a557d8aba2385ed849b" title="Stream read() function pointer.">CTMreadfn</a>)(<span class="keywordtype">void</span> * aBuf, CTMuint aCount, <span class="keywordtype">void</span> * aUserData);
<a name="l00265"></a>00265
<a name="l00273"></a><a class="code" href="openctm_8h.html#a2428bc1bf2cf2e1af05d132dca892f5b">00273</a> <span class="keyword">typedef</span> <a class="code" href="openctm_8h.html#ac5ea1beb64d415c241f2abf35eeb6c48" title="Unsigned integer (32 bits wide).">CTMuint</a> (CTMCALL * <a class="code" href="openctm_8h.html#a2428bc1bf2cf2e1af05d132dca892f5b" title="Stream write() function pointer.">CTMwritefn</a>)(<span class="keyword">const</span> <span class="keywordtype">void</span> * aBuf, CTMuint aCount, <span class="keywordtype">void</span> * aUserData);
<a name="l00274"></a>00274
<a name="l00281"></a>00281 CTMEXPORT CTMcontext CTMCALL <a class="code" href="openctm_8h.html#a3ca20da713005b0c6afb9b5f21640837" title="Create a new OpenCTM context.">ctmNewContext</a>(<a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aMode);
<a name="l00282"></a>00282
<a name="l00287"></a>00287 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#aeb16fd3054a19415be90de4968b21a3a" title="Free an OpenCTM context.">ctmFreeContext</a>(CTMcontext aContext);
<a name="l00288"></a>00288
<a name="l00297"></a>00297 CTMEXPORT <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> CTMCALL <a class="code" href="openctm_8h.html#a2bbaed33a6809affc4a61469f6676bdf" title="Returns the latest error.">ctmGetError</a>(CTMcontext aContext);
<a name="l00298"></a>00298
<a name="l00305"></a>00305 CTMEXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> * CTMCALL <a class="code" href="openctm_8h.html#a3071b834da6a9cdd684ec733de70cbf2" title="Converts an OpenCTM error code to a zero-terminated string.">ctmErrorString</a>(<a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aError);
<a name="l00306"></a>00306
<a name="l00314"></a>00314 CTMEXPORT CTMuint CTMCALL <a class="code" href="openctm_8h.html#a4012ac28aa780819e40ee118d7c6578e" title="Get information about an OpenCTM context.">ctmGetInteger</a>(CTMcontext aContext, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00315"></a>00315
<a name="l00323"></a>00323 CTMEXPORT CTMfloat CTMCALL <a class="code" href="openctm_8h.html#abe7389b3a396a86a3a1c5d5c6f68183d" title="Get information about an OpenCTM context.">ctmGetFloat</a>(CTMcontext aContext, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00324"></a>00324
<a name="l00339"></a>00339 CTMEXPORT <span class="keyword">const</span> CTMuint * CTMCALL <a class="code" href="openctm_8h.html#ae202716acce7a97668654052dc4d0bef" title="Get an integer array from an OpenCTM context.">ctmGetIntegerArray</a>(CTMcontext aContext,
<a name="l00340"></a>00340 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00341"></a>00341
<a name="l00356"></a>00356 CTMEXPORT <span class="keyword">const</span> CTMfloat * CTMCALL <a class="code" href="openctm_8h.html#abdfcfede5d37c75e78cae989dc71e248" title="Get a floating point array from an OpenCTM context.">ctmGetFloatArray</a>(CTMcontext aContext,
<a name="l00357"></a>00357 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00358"></a>00358
<a name="l00366"></a>00366 CTMEXPORT <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> CTMCALL <a class="code" href="openctm_8h.html#a43c2d19741ba53f695a4119e594d6069" title="Get a reference to the named UV map.">ctmGetNamedUVMap</a>(CTMcontext aContext,
<a name="l00367"></a>00367 <span class="keyword">const</span> <span class="keywordtype">char</span> * aName);
<a name="l00368"></a>00368
<a name="l00382"></a>00382 CTMEXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> * CTMCALL <a class="code" href="openctm_8h.html#a2d689ee3371296b68899d564d5a1f998" title="Get information about a UV map.">ctmGetUVMapString</a>(CTMcontext aContext,
<a name="l00383"></a>00383 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aUVMap, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00384"></a>00384
<a name="l00393"></a>00393 CTMEXPORT CTMfloat CTMCALL <a class="code" href="openctm_8h.html#afad1b100b9f2fe4bf0dfc36cb39ec615" title="Get information about a UV map.">ctmGetUVMapFloat</a>(CTMcontext aContext,
<a name="l00394"></a>00394 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aUVMap, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00395"></a>00395
<a name="l00403"></a>00403 CTMEXPORT <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> CTMCALL <a class="code" href="openctm_8h.html#a15692de5d6e93adf8bed8d06d88c905c" title="Get a reference to the named vertex attribute map.">ctmGetNamedAttribMap</a>(CTMcontext aContext,
<a name="l00404"></a>00404 <span class="keyword">const</span> <span class="keywordtype">char</span> * aName);
<a name="l00405"></a>00405
<a name="l00420"></a>00420 CTMEXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> * CTMCALL <a class="code" href="openctm_8h.html#a841d7c1e0bafd57ee36ccbbc74470b68" title="Get information about a vertex attribute map.">ctmGetAttribMapString</a>(CTMcontext aContext,
<a name="l00421"></a>00421 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aAttribMap, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00422"></a>00422
<a name="l00432"></a>00432 CTMEXPORT CTMfloat CTMCALL <a class="code" href="openctm_8h.html#a7c297f9b6d486f47596cff184602a65d" title="Get information about a vertex attribute map.">ctmGetAttribMapFloat</a>(CTMcontext aContext,
<a name="l00433"></a>00433 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aAttribMap, <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00434"></a>00434
<a name="l00449"></a>00449 CTMEXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> * CTMCALL <a class="code" href="openctm_8h.html#a4e4269df157eb2d117259c69a331e339" title="Get information about an OpenCTM context.">ctmGetString</a>(CTMcontext aContext,
<a name="l00450"></a>00450 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aProperty);
<a name="l00451"></a>00451
<a name="l00461"></a>00461 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#af4ac8e534f59be4edacc39753cf54693" title="Set which compression method to use for the given OpenCTM context.">ctmCompressionMethod</a>(CTMcontext aContext,
<a name="l00462"></a>00462 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aMethod);
<a name="l00463"></a>00463
<a name="l00471"></a>00471 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#aa2902c49b904a7557fdd012e303c720e" title="Set which LZMA compression level to use for the given OpenCTM context.">ctmCompressionLevel</a>(CTMcontext aContext,
<a name="l00472"></a>00472 CTMuint aLevel);
<a name="l00473"></a>00473
<a name="l00481"></a>00481 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#af4191357f51161a16ff886d18ec848d8" title="Set the vertex coordinate precision (only used by the MG2 compression method).">ctmVertexPrecision</a>(CTMcontext aContext,
<a name="l00482"></a>00482 CTMfloat aPrecision);
<a name="l00483"></a>00483
<a name="l00496"></a>00496 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#ade23eb25fa9d5cd1d932bc1203476f27" title="Set the vertex coordinate precision, relative to the mesh dimensions (only used by...">ctmVertexPrecisionRel</a>(CTMcontext aContext,
<a name="l00497"></a>00497 CTMfloat aRelPrecision);
<a name="l00498"></a>00498
<a name="l00510"></a>00510 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a07d8b47a0e642d0d8c77cf18e8d354a5" title="Set the normal precision (only used by the MG2 compression method).">ctmNormalPrecision</a>(CTMcontext aContext,
<a name="l00511"></a>00511 CTMfloat aPrecision);
<a name="l00512"></a>00512
<a name="l00523"></a>00523 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#ac1a75abbf04281acaff4f6f1f9516039" title="Set the coordinate precision for the specified UV map (only used by the MG2 compression...">ctmUVCoordPrecision</a>(CTMcontext aContext,
<a name="l00524"></a>00524 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aUVMap, CTMfloat aPrecision);
<a name="l00525"></a>00525
<a name="l00537"></a>00537 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a8af7af38bd9340838b43805b81698777" title="Set the attribute value precision for the specified attribute map (only used by the...">ctmAttribPrecision</a>(CTMcontext aContext,
<a name="l00538"></a>00538 <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> aAttribMap, CTMfloat aPrecision);
<a name="l00539"></a>00539
<a name="l00544"></a>00544 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a2225924b06488421ee6b9a8505782a25" title="Set the file comment for the given OpenCTM context.">ctmFileComment</a>(CTMcontext aContext,
<a name="l00545"></a>00545 <span class="keyword">const</span> <span class="keywordtype">char</span> * aFileComment);
<a name="l00546"></a>00546
<a name="l00562"></a>00562 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a1cb648e89121ae67f5a8b9e5a8f41c4d" title="Define a triangle mesh.">ctmDefineMesh</a>(CTMcontext aContext,
<a name="l00563"></a>00563 <span class="keyword">const</span> CTMfloat * aVertices, CTMuint aVertexCount, <span class="keyword">const</span> CTMuint * aIndices,
<a name="l00564"></a>00564 CTMuint aTriangleCount, <span class="keyword">const</span> CTMfloat * aNormals);
<a name="l00565"></a>00565
<a name="l00583"></a>00583 CTMEXPORT <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> CTMCALL <a class="code" href="openctm_8h.html#a44345560299ac49dfd502d0470f05e0f" title="Define a UV map.">ctmAddUVMap</a>(CTMcontext aContext,
<a name="l00584"></a>00584 <span class="keyword">const</span> CTMfloat * aUVCoords, <span class="keyword">const</span> <span class="keywordtype">char</span> * aName, <span class="keyword">const</span> <span class="keywordtype">char</span> * aFileName);
<a name="l00585"></a>00585
<a name="l00602"></a>00602 CTMEXPORT <a class="code" href="openctm_8h.html#a0f5efe622ac5146c4505d49860ce5625" title="OpenCTM specific enumerators.">CTMenum</a> CTMCALL <a class="code" href="openctm_8h.html#a920a8fed6bef834db0b241fc5c9bba03" title="Define a custom vertex attribute map.">ctmAddAttribMap</a>(CTMcontext aContext,
<a name="l00603"></a>00603 <span class="keyword">const</span> CTMfloat * aAttribValues, <span class="keyword">const</span> <span class="keywordtype">char</span> * aName);
<a name="l00604"></a>00604
<a name="l00610"></a>00610 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a99a57706d438c5654adbc9646058dc01" title="Load an OpenCTM format file into the context.">ctmLoad</a>(CTMcontext aContext, <span class="keyword">const</span> <span class="keywordtype">char</span> * aFileName);
<a name="l00611"></a>00611
<a name="l00622"></a>00622 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a99699bcbd4cbe0942a22498671af107e" title="Load an OpenCTM format file using a custom stream read function.">ctmLoadCustom</a>(CTMcontext aContext, <a class="code" href="openctm_8h.html#ad2fb8fd3b5997a557d8aba2385ed849b" title="Stream read() function pointer.">CTMreadfn</a> aReadFn,
<a name="l00623"></a>00623 <span class="keywordtype">void</span> * aUserData);
<a name="l00624"></a>00624
<a name="l00630"></a>00630 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#acde994008b0b3321bad9f3bbfacb12db" title="Save an OpenCTM format file.">ctmSave</a>(CTMcontext aContext, <span class="keyword">const</span> <span class="keywordtype">char</span> * aFileName);
<a name="l00631"></a>00631
<a name="l00642"></a>00642 CTMEXPORT <span class="keywordtype">void</span> CTMCALL <a class="code" href="openctm_8h.html#a7e62ca5548a34ed0e126fd4f7b77ef3f" title="Save an OpenCTM format file using a custom stream write function.">ctmSaveCustom</a>(CTMcontext aContext, <a class="code" href="openctm_8h.html#a2428bc1bf2cf2e1af05d132dca892f5b" title="Stream write() function pointer.">CTMwritefn</a> aWriteFn,
<a name="l00643"></a>00643 <span class="keywordtype">void</span> * aUserData);
<a name="l00644"></a>00644
<a name="l00645"></a>00645 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00646"></a>00646 <span class="preprocessor"></span>}
<a name="l00647"></a>00647 <span class="preprocessor">#endif</span>
<a name="l00648"></a>00648 <span class="preprocessor"></span>
<a name="l00649"></a>00649
<a name="l00650"></a>00650 <span class="comment">// C++ extensions to the API (to disable C++ extensions, define OPENCTM_NO_CPP)</span>
<a name="l00651"></a>00651 <span class="preprocessor">#if defined(__cplusplus) && !defined(OPENCTM_NO_CPP)</span>
<a name="l00652"></a>00652 <span class="preprocessor"></span><span class="preprocessor"> #include "<a class="code" href="openctmpp_8h.html">openctmpp.h</a>"</span>
<a name="l00653"></a>00653 <span class="preprocessor">#endif</span>
<a name="l00654"></a>00654 <span class="preprocessor"></span>
<a name="l00655"></a>00655 <span class="preprocessor">#endif // __OPENCTM_H_</span>
</pre></div></div>
<div style="padding: 1em 1em 0.5em 1em; margin: 2em 0 0 0; border-top: 1px solid #84b0c7; color: #808080; text-align: center;">
<p>Copyright © 2009-2010 Marcus Geelnard —
<a href="http://openctm.sourceforge.net" title="OpenCTM home page">openctm.sourceforge.net</a></p>
</div>
</body>
</html>
|