pango 3.1.1-x64-mingw32 → 3.1.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +27 -5
  3. data/ext/pango/depend +2 -2
  4. data/ext/pango/extconf.rb +32 -28
  5. data/ext/pango/pango.def +0 -16
  6. data/ext/pango/rb-pango-attr-list.c +64 -0
  7. data/ext/pango/rb-pango-attribute.c +147 -0
  8. data/ext/pango/rb-pango-context.c +79 -0
  9. data/ext/pango/{rbpangoconversions.h → rb-pango-conversions.h} +4 -6
  10. data/ext/pango/rb-pango-private.h +27 -0
  11. data/ext/pango/rb-pango.c +32 -0
  12. data/ext/pango/rb-pango.h +29 -0
  13. data/extconf.rb +25 -9
  14. data/lib/2.2/pango.so +0 -0
  15. data/lib/2.3/pango.so +0 -0
  16. data/lib/2.4/pango.so +0 -0
  17. data/lib/pango.rb +24 -68
  18. data/lib/pango/cairo-loader.rb +63 -0
  19. data/lib/pango/color.rb +31 -0
  20. data/lib/pango/deprecated.rb +37 -0
  21. data/lib/pango/font-description.rb +29 -0
  22. data/lib/pango/language.rb +29 -0
  23. data/lib/pango/layout.rb +41 -0
  24. data/lib/pango/loader.rb +87 -0
  25. data/lib/pango/markup.rb +31 -0
  26. data/lib/pango/matrix.rb +64 -0
  27. data/lib/pango/rectangle.rb +28 -0
  28. data/lib/pango/version.rb +30 -0
  29. data/test/pango-test-utils.rb +7 -7
  30. data/test/run-test.rb +34 -8
  31. data/test/test-attr-list.rb +28 -0
  32. data/test/test-color.rb +1 -3
  33. data/test/test-context.rb +4 -4
  34. data/test/test-enum.rb +37 -0
  35. data/test/test-font-description.rb +31 -0
  36. data/test/test-language.rb +2 -1
  37. data/test/test-layout.rb +12 -0
  38. data/test/test-markup.rb +30 -0
  39. data/test/test-matrix.rb +131 -5
  40. data/test/test-rectangle.rb +16 -3
  41. data/vendor/local/bin/derb.exe +0 -0
  42. data/vendor/local/bin/genbrk.exe +0 -0
  43. data/vendor/local/bin/genccode.exe +0 -0
  44. data/vendor/local/bin/gencfu.exe +0 -0
  45. data/vendor/local/bin/gencmn.exe +0 -0
  46. data/vendor/local/bin/gencnval.exe +0 -0
  47. data/vendor/local/bin/gendict.exe +0 -0
  48. data/vendor/local/bin/gennorm2.exe +0 -0
  49. data/vendor/local/bin/genrb.exe +0 -0
  50. data/vendor/local/bin/gensprep.exe +0 -0
  51. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  52. data/vendor/local/bin/hb-shape.exe +0 -0
  53. data/vendor/local/bin/hb-view.exe +0 -0
  54. data/vendor/local/bin/icuinfo.exe +0 -0
  55. data/vendor/local/bin/icupkg.exe +0 -0
  56. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  57. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  58. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  59. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  60. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  61. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  62. data/vendor/local/bin/makeconv.exe +0 -0
  63. data/vendor/local/bin/pango-view.exe +0 -0
  64. data/vendor/local/bin/pkgdata.exe +0 -0
  65. data/vendor/local/bin/uconv.exe +0 -0
  66. data/vendor/local/include/graphene-1.0/graphene-box.h +148 -0
  67. data/vendor/local/include/graphene-1.0/graphene-euler.h +140 -0
  68. data/vendor/local/include/graphene-1.0/graphene-frustum.h +93 -0
  69. data/vendor/local/include/graphene-1.0/graphene-gobject.h +119 -0
  70. data/vendor/local/include/graphene-1.0/graphene-macros.h +105 -0
  71. data/vendor/local/include/graphene-1.0/graphene-matrix.h +288 -0
  72. data/vendor/local/include/graphene-1.0/graphene-plane.h +99 -0
  73. data/vendor/local/include/graphene-1.0/graphene-point.h +120 -0
  74. data/vendor/local/include/graphene-1.0/graphene-point3d.h +140 -0
  75. data/vendor/local/include/graphene-1.0/graphene-quad.h +80 -0
  76. data/vendor/local/include/graphene-1.0/graphene-quaternion.h +136 -0
  77. data/vendor/local/include/graphene-1.0/graphene-ray.h +98 -0
  78. data/vendor/local/include/graphene-1.0/graphene-rect.h +180 -0
  79. data/vendor/local/include/graphene-1.0/graphene-simd4f.h +1870 -0
  80. data/vendor/local/include/graphene-1.0/graphene-simd4x4f.h +1045 -0
  81. data/vendor/local/include/graphene-1.0/graphene-size.h +105 -0
  82. data/vendor/local/include/graphene-1.0/graphene-sphere.h +97 -0
  83. data/vendor/local/include/graphene-1.0/graphene-triangle.h +105 -0
  84. data/vendor/local/include/graphene-1.0/graphene-types.h +88 -0
  85. data/vendor/local/include/graphene-1.0/graphene-vec2.h +130 -0
  86. data/vendor/local/include/graphene-1.0/graphene-vec3.h +155 -0
  87. data/vendor/local/include/graphene-1.0/graphene-vec4.h +156 -0
  88. data/vendor/local/include/graphene-1.0/graphene-version-macros.h +185 -0
  89. data/vendor/local/include/graphene-1.0/graphene-version.h +70 -0
  90. data/vendor/local/include/graphene-1.0/graphene.h +61 -0
  91. data/vendor/local/include/harfbuzz/hb-common.h +36 -0
  92. data/vendor/local/include/harfbuzz/hb-font.h +18 -1
  93. data/vendor/local/include/harfbuzz/hb-ot-var.h +105 -0
  94. data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
  95. data/vendor/local/include/harfbuzz/hb-shape.h +0 -16
  96. data/vendor/local/include/harfbuzz/hb-version.h +2 -2
  97. data/vendor/local/include/pango-1.0/pango/pango-engine.h +6 -6
  98. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  99. data/vendor/local/include/pango-1.0/pango/pango-layout.h +1 -1
  100. data/vendor/local/lib/girepository-1.0/Graphene-1.0.typelib +0 -0
  101. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  102. data/vendor/local/lib/graphene-1.0/include/graphene-config.h +89 -0
  103. data/vendor/local/lib/icudt.dll +0 -0
  104. data/vendor/local/lib/icudt58.dll +0 -0
  105. data/vendor/local/lib/icuin.dll +0 -0
  106. data/vendor/local/lib/icuin58.dll +0 -0
  107. data/vendor/local/lib/icuio.dll +0 -0
  108. data/vendor/local/lib/icuio58.dll +0 -0
  109. data/vendor/local/lib/icutest.dll +0 -0
  110. data/vendor/local/lib/icutest58.dll +0 -0
  111. data/vendor/local/lib/icutu.dll +0 -0
  112. data/vendor/local/lib/icutu58.dll +0 -0
  113. data/vendor/local/lib/icuuc.dll +0 -0
  114. data/vendor/local/lib/icuuc58.dll +0 -0
  115. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  116. data/vendor/local/lib/libgraphene-1.0.la +41 -0
  117. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  118. data/vendor/local/lib/libharfbuzz-icu.la +1 -1
  119. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  120. data/vendor/local/lib/libharfbuzz.la +1 -1
  121. data/vendor/local/lib/libicudt.dll.a +0 -0
  122. data/vendor/local/lib/libicuin.dll.a +0 -0
  123. data/vendor/local/lib/libicuio.dll.a +0 -0
  124. data/vendor/local/lib/libicutest.dll.a +0 -0
  125. data/vendor/local/lib/libicutu.dll.a +0 -0
  126. data/vendor/local/lib/libicuuc.dll.a +0 -0
  127. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  128. data/vendor/local/lib/libpango-1.0.la +1 -1
  129. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  130. data/vendor/local/lib/libpangocairo-1.0.la +1 -1
  131. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  132. data/vendor/local/lib/libpangoft2-1.0.la +1 -1
  133. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  134. data/vendor/local/lib/libpangowin32-1.0.la +1 -1
  135. data/vendor/local/lib/pkgconfig/graphene-1.0.pc +15 -0
  136. data/vendor/local/lib/pkgconfig/graphene-gobject-1.0.pc +15 -0
  137. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  142. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  143. data/vendor/local/share/gir-1.0/Graphene-1.0.gir +8180 -0
  144. data/vendor/local/share/gir-1.0/Pango-1.0.gir +12 -16
  145. data/vendor/local/share/gtk-doc/html/graphene/annotation-glossary.html +57 -0
  146. data/vendor/local/share/gtk-doc/html/graphene/api-index.html +1985 -0
  147. data/vendor/local/share/gtk-doc/html/graphene/ch01.html +97 -0
  148. data/vendor/local/share/gtk-doc/html/graphene/deprecated-api-index.html +34 -0
  149. data/vendor/local/share/gtk-doc/html/graphene/graphene-Box.html +1252 -0
  150. data/vendor/local/share/gtk-doc/html/graphene/graphene-Euler.html +886 -0
  151. data/vendor/local/share/gtk-doc/html/graphene/graphene-Frustum.html +527 -0
  152. data/vendor/local/share/gtk-doc/html/graphene/graphene-GObject-integration.html +147 -0
  153. data/vendor/local/share/gtk-doc/html/graphene/graphene-Matrix.html +2959 -0
  154. data/vendor/local/share/gtk-doc/html/graphene/graphene-Plane.html +641 -0
  155. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point.html +689 -0
  156. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point3D.html +916 -0
  157. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quad.html +418 -0
  158. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quaternion.html +1056 -0
  159. data/vendor/local/share/gtk-doc/html/graphene/graphene-Ray.html +596 -0
  160. data/vendor/local/share/gtk-doc/html/graphene/graphene-Rectangle.html +1483 -0
  161. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-matrix.html +1475 -0
  162. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-vector.html +3046 -0
  163. data/vendor/local/share/gtk-doc/html/graphene/graphene-Size.html +489 -0
  164. data/vendor/local/share/gtk-doc/html/graphene/graphene-Sphere.html +641 -0
  165. data/vendor/local/share/gtk-doc/html/graphene/graphene-Triangle.html +705 -0
  166. data/vendor/local/share/gtk-doc/html/graphene/graphene-Vectors.html +3715 -0
  167. data/vendor/local/share/gtk-doc/html/graphene/graphene-Versioning-information.html +104 -0
  168. data/vendor/local/share/gtk-doc/html/graphene/graphene.devhelp2 +534 -0
  169. data/vendor/local/share/gtk-doc/html/graphene/home.png +0 -0
  170. data/vendor/local/share/gtk-doc/html/graphene/index.html +107 -0
  171. data/vendor/local/share/gtk-doc/html/graphene/ix03.html +1313 -0
  172. data/vendor/local/share/gtk-doc/html/graphene/ix04.html +582 -0
  173. data/vendor/local/share/gtk-doc/html/graphene/ix05.html +151 -0
  174. data/vendor/local/share/gtk-doc/html/graphene/ix06.html +34 -0
  175. data/vendor/local/share/gtk-doc/html/graphene/left-insensitive.png +0 -0
  176. data/vendor/local/share/gtk-doc/html/graphene/left.png +0 -0
  177. data/vendor/local/share/gtk-doc/html/{pango/api-index-1-40.html → graphene/object-tree.html} +14 -11
  178. data/vendor/local/share/gtk-doc/html/graphene/rectangle-intersection.png +0 -0
  179. data/vendor/local/share/gtk-doc/html/graphene/rectangle-union.png +0 -0
  180. data/vendor/local/share/gtk-doc/html/graphene/rectangle.png +0 -0
  181. data/vendor/local/share/gtk-doc/html/graphene/right-insensitive.png +0 -0
  182. data/vendor/local/share/gtk-doc/html/graphene/right.png +0 -0
  183. data/vendor/local/share/gtk-doc/html/graphene/style.css +479 -0
  184. data/vendor/local/share/gtk-doc/html/graphene/triangle-barycentric.png +0 -0
  185. data/vendor/local/share/gtk-doc/html/graphene/up-insensitive.png +0 -0
  186. data/vendor/local/share/gtk-doc/html/graphene/up.png +0 -0
  187. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-2-3.html +2 -2
  188. data/vendor/local/share/gtk-doc/html/harfbuzz/{api-index-1-4-0.html → api-index-1-3-3.html} +2 -2
  189. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +104 -0
  190. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +9 -2
  191. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +1 -1
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +156 -40
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +73 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +1 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +49 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html +174 -177
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +40 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +2 -2
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +28 -10
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +1 -1
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +2 -2
  202. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +2 -2
  203. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +2 -2
  204. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +1 -1
  205. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +1 -1
  206. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +3 -3
  207. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +1 -1
  208. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +2 -2
  209. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +1 -1
  210. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +1 -1
  211. data/vendor/local/share/gtk-doc/html/pango/index.html +2 -23
  212. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +1 -1
  213. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +1 -1
  214. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +69 -69
  215. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +1 -1
  216. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +1 -1
  217. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +5 -1
  218. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +5 -4
  219. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +8 -4
  220. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +3 -3
  221. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +4 -4
  222. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +1 -1
  223. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +3 -1
  224. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1 -1
  225. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +3 -3
  226. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +1 -1
  227. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +1 -1
  228. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +3 -3
  229. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +3 -3
  230. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +1 -1
  231. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +3 -3
  232. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +1 -1
  233. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +1 -1
  234. data/vendor/local/share/gtk-doc/html/pango/pango.html +1 -1
  235. data/vendor/local/share/gtk-doc/html/pango/rendering.html +1 -1
  236. data/vendor/local/share/man/man1/pango-view.1 +2 -2
  237. metadata +119 -78
  238. data/README +0 -32
  239. data/ext/pango/rbpango.c +0 -356
  240. data/ext/pango/rbpango.h +0 -95
  241. data/ext/pango/rbpangoanalysis.c +0 -218
  242. data/ext/pango/rbpangoattribute.c +0 -506
  243. data/ext/pango/rbpangoattriterator.c +0 -141
  244. data/ext/pango/rbpangoattrlist.c +0 -101
  245. data/ext/pango/rbpangocairo.c +0 -122
  246. data/ext/pango/rbpangocairocontext.c +0 -131
  247. data/ext/pango/rbpangocolor.c +0 -120
  248. data/ext/pango/rbpangocontext.c +0 -344
  249. data/ext/pango/rbpangocoverage.c +0 -106
  250. data/ext/pango/rbpangoengine.c +0 -73
  251. data/ext/pango/rbpangofont.c +0 -110
  252. data/ext/pango/rbpangofontdescription.c +0 -282
  253. data/ext/pango/rbpangofontface.c +0 -73
  254. data/ext/pango/rbpangofontfamily.c +0 -79
  255. data/ext/pango/rbpangofontmap.c +0 -102
  256. data/ext/pango/rbpangofontmetrics.c +0 -85
  257. data/ext/pango/rbpangofontset.c +0 -69
  258. data/ext/pango/rbpangofontsetsimple.c +0 -60
  259. data/ext/pango/rbpangoglyphinfo.c +0 -123
  260. data/ext/pango/rbpangoglyphitem.c +0 -125
  261. data/ext/pango/rbpangoglyphstring.c +0 -151
  262. data/ext/pango/rbpangogravity.c +0 -54
  263. data/ext/pango/rbpangoitem.c +0 -95
  264. data/ext/pango/rbpangolanguage.c +0 -94
  265. data/ext/pango/rbpangolayout.c +0 -583
  266. data/ext/pango/rbpangolayoutiter.c +0 -189
  267. data/ext/pango/rbpangolayoutline.c +0 -243
  268. data/ext/pango/rbpangologattr.c +0 -109
  269. data/ext/pango/rbpangomatrix.c +0 -143
  270. data/ext/pango/rbpangoprivate.h +0 -49
  271. data/ext/pango/rbpangorectangle.c +0 -170
  272. data/ext/pango/rbpangorenderer.c +0 -193
  273. data/ext/pango/rbpangoscript.c +0 -84
  274. data/ext/pango/rbpangoscriptiter.c +0 -92
  275. data/ext/pango/rbpangotabarray.c +0 -128
  276. data/sample/attribute.rb +0 -82
  277. data/sample/break.rb +0 -28
  278. data/sample/gdk_layout.rb +0 -27
  279. data/sample/glyphstring.rb +0 -61
  280. data/sample/item.rb +0 -37
  281. data/sample/label.rb +0 -23
  282. data/sample/layout.rb +0 -102
  283. data/sample/pango_cairo.rb +0 -66
  284. data/sample/parse.rb +0 -33
  285. data/sample/sample.txt +0 -10
  286. data/sample/script.rb +0 -23
  287. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +0 -134
  288. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +0 -48
  289. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +0 -63
  290. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +0 -227
  291. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +0 -151
  292. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +0 -121
  293. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +0 -86
  294. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +0 -123
  295. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +0 -96
  296. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +0 -45
  297. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +0 -38
  298. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +0 -38
  299. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +0 -52
  300. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +0 -41
  301. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +0 -38
  302. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +0 -79
  303. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +0 -200
  304. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +0 -164
  305. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +0 -170
  306. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +0 -441
@@ -0,0 +1,886 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>Euler: Graphene Reference Manual</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7
+ <link rel="home" href="index.html" title="Graphene Reference Manual">
8
+ <link rel="up" href="ch01.html" title="Graphene">
9
+ <link rel="prev" href="graphene-Matrix.html" title="Matrix">
10
+ <link rel="next" href="graphene-Quaternion.html" title="Quaternion">
11
+ <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18
+ <a href="#graphene-Euler.description" class="shortcut">Description</a></span>
19
+ </td>
20
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21
+ <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22
+ <td><a accesskey="p" href="graphene-Matrix.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23
+ <td><a accesskey="n" href="graphene-Quaternion.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24
+ </tr></table>
25
+ <div class="refentry">
26
+ <a name="graphene-Euler"></a><div class="titlepage"></div>
27
+ <div class="refnamediv"><table width="100%"><tr>
28
+ <td valign="top">
29
+ <h2><span class="refentrytitle"><a name="graphene-Euler.top_of_page"></a>Euler</span></h2>
30
+ <p>Euler — Euler angles</p>
31
+ </td>
32
+ <td class="gallery_image" valign="top" align="right"></td>
33
+ </tr></table></div>
34
+ <div class="refsect1">
35
+ <a name="graphene-Euler.functions"></a><h2>Functions</h2>
36
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
37
+ <colgroup>
38
+ <col width="150px" class="functions_return">
39
+ <col class="functions_name">
40
+ </colgroup>
41
+ <tbody>
42
+ <tr>
43
+ <td class="function_type">
44
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
45
+ </td>
46
+ <td class="function_name">
47
+ <a class="link" href="graphene-Euler.html#graphene-euler-alloc" title="graphene_euler_alloc ()">graphene_euler_alloc</a> <span class="c_punctuation">()</span>
48
+ </td>
49
+ </tr>
50
+ <tr>
51
+ <td class="function_type">
52
+ <span class="returnvalue">void</span>
53
+ </td>
54
+ <td class="function_name">
55
+ <a class="link" href="graphene-Euler.html#graphene-euler-free" title="graphene_euler_free ()">graphene_euler_free</a> <span class="c_punctuation">()</span>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td class="function_type">
60
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
61
+ </td>
62
+ <td class="function_name">
63
+ <a class="link" href="graphene-Euler.html#graphene-euler-init" title="graphene_euler_init ()">graphene_euler_init</a> <span class="c_punctuation">()</span>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <td class="function_type">
68
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
69
+ </td>
70
+ <td class="function_name">
71
+ <a class="link" href="graphene-Euler.html#graphene-euler-init-with-order" title="graphene_euler_init_with_order ()">graphene_euler_init_with_order</a> <span class="c_punctuation">()</span>
72
+ </td>
73
+ </tr>
74
+ <tr>
75
+ <td class="function_type">
76
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
77
+ </td>
78
+ <td class="function_name">
79
+ <a class="link" href="graphene-Euler.html#graphene-euler-init-from-matrix" title="graphene_euler_init_from_matrix ()">graphene_euler_init_from_matrix</a> <span class="c_punctuation">()</span>
80
+ </td>
81
+ </tr>
82
+ <tr>
83
+ <td class="function_type">
84
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
85
+ </td>
86
+ <td class="function_name">
87
+ <a class="link" href="graphene-Euler.html#graphene-euler-init-from-quaternion" title="graphene_euler_init_from_quaternion ()">graphene_euler_init_from_quaternion</a> <span class="c_punctuation">()</span>
88
+ </td>
89
+ </tr>
90
+ <tr>
91
+ <td class="function_type">
92
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
93
+ </td>
94
+ <td class="function_name">
95
+ <a class="link" href="graphene-Euler.html#graphene-euler-init-from-vec3" title="graphene_euler_init_from_vec3 ()">graphene_euler_init_from_vec3</a> <span class="c_punctuation">()</span>
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td class="function_type">
100
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
101
+ </td>
102
+ <td class="function_name">
103
+ <a class="link" href="graphene-Euler.html#graphene-euler-init-from-euler" title="graphene_euler_init_from_euler ()">graphene_euler_init_from_euler</a> <span class="c_punctuation">()</span>
104
+ </td>
105
+ </tr>
106
+ <tr>
107
+ <td class="function_type">
108
+ <span class="returnvalue">bool</span>
109
+ </td>
110
+ <td class="function_name">
111
+ <a class="link" href="graphene-Euler.html#graphene-euler-equal" title="graphene_euler_equal ()">graphene_euler_equal</a> <span class="c_punctuation">()</span>
112
+ </td>
113
+ </tr>
114
+ <tr>
115
+ <td class="function_type">
116
+ <span class="returnvalue">float</span>
117
+ </td>
118
+ <td class="function_name">
119
+ <a class="link" href="graphene-Euler.html#graphene-euler-get-x" title="graphene_euler_get_x ()">graphene_euler_get_x</a> <span class="c_punctuation">()</span>
120
+ </td>
121
+ </tr>
122
+ <tr>
123
+ <td class="function_type">
124
+ <span class="returnvalue">float</span>
125
+ </td>
126
+ <td class="function_name">
127
+ <a class="link" href="graphene-Euler.html#graphene-euler-get-y" title="graphene_euler_get_y ()">graphene_euler_get_y</a> <span class="c_punctuation">()</span>
128
+ </td>
129
+ </tr>
130
+ <tr>
131
+ <td class="function_type">
132
+ <span class="returnvalue">float</span>
133
+ </td>
134
+ <td class="function_name">
135
+ <a class="link" href="graphene-Euler.html#graphene-euler-get-z" title="graphene_euler_get_z ()">graphene_euler_get_z</a> <span class="c_punctuation">()</span>
136
+ </td>
137
+ </tr>
138
+ <tr>
139
+ <td class="function_type">
140
+ <a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="returnvalue">graphene_euler_order_t</span></a>
141
+ </td>
142
+ <td class="function_name">
143
+ <a class="link" href="graphene-Euler.html#graphene-euler-get-order" title="graphene_euler_get_order ()">graphene_euler_get_order</a> <span class="c_punctuation">()</span>
144
+ </td>
145
+ </tr>
146
+ <tr>
147
+ <td class="function_type">
148
+ <span class="returnvalue">void</span>
149
+ </td>
150
+ <td class="function_name">
151
+ <a class="link" href="graphene-Euler.html#graphene-euler-to-vec3" title="graphene_euler_to_vec3 ()">graphene_euler_to_vec3</a> <span class="c_punctuation">()</span>
152
+ </td>
153
+ </tr>
154
+ <tr>
155
+ <td class="function_type">
156
+ <span class="returnvalue">void</span>
157
+ </td>
158
+ <td class="function_name">
159
+ <a class="link" href="graphene-Euler.html#graphene-euler-to-matrix" title="graphene_euler_to_matrix ()">graphene_euler_to_matrix</a> <span class="c_punctuation">()</span>
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td class="function_type">
164
+ <span class="returnvalue">void</span>
165
+ </td>
166
+ <td class="function_name">
167
+ <a class="link" href="graphene-Euler.html#graphene-euler-reorder" title="graphene_euler_reorder ()">graphene_euler_reorder</a> <span class="c_punctuation">()</span>
168
+ </td>
169
+ </tr>
170
+ </tbody>
171
+ </table></div>
172
+ </div>
173
+ <div class="refsect1">
174
+ <a name="graphene-Euler.other"></a><h2>Types and Values</h2>
175
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
176
+ <colgroup>
177
+ <col width="150px" class="name">
178
+ <col class="description">
179
+ </colgroup>
180
+ <tbody>
181
+ <tr>
182
+ <td class="datatype_keyword"> </td>
183
+ <td class="function_name"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t">graphene_euler_t</a></td>
184
+ </tr>
185
+ <tr>
186
+ <td class="datatype_keyword">enum</td>
187
+ <td class="function_name"><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t">graphene_euler_order_t</a></td>
188
+ </tr>
189
+ </tbody>
190
+ </table></div>
191
+ </div>
192
+ <div class="refsect1">
193
+ <a name="graphene-Euler.includes"></a><h2>Includes</h2>
194
+ <pre class="synopsis">#include &lt;graphene.h&gt;
195
+ </pre>
196
+ </div>
197
+ <div class="refsect1">
198
+ <a name="graphene-Euler.description"></a><h2>Description</h2>
199
+ <p>The <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> structure defines a rotation along three axis using
200
+ three angles. It also optionally can describe the order of the rotations.</p>
201
+ <p>Rotations described Euler angles are immediately understandable, compared
202
+ to rotations expressed using quaternions, but they are susceptible of
203
+ <a class="ulink" href="http://en.wikipedia.org/wiki/Gimbal_lock" target="_top">"Gimbal lock"</a> — the loss of
204
+ one degree of freedom caused by two axis on the same plane. You typically
205
+ should use <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to expose rotation angles in your API, or to
206
+ store them, but use <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a> to apply rotations to modelview
207
+ matrices, or interpolate between initial and final rotation transformations.</p>
208
+ <p>See also: <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a>.</p>
209
+ </div>
210
+ <div class="refsect1">
211
+ <a name="graphene-Euler.functions_details"></a><h2>Functions</h2>
212
+ <div class="refsect2">
213
+ <a name="graphene-euler-alloc"></a><h3>graphene_euler_alloc ()</h3>
214
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
215
+ graphene_euler_alloc (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
216
+ <p>Allocates a new <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>.</p>
217
+ <p>The contents of the returned structure are undefined.</p>
218
+ <p><span class="annotation">[<acronym title="This symbol is a constructor, not a static method."><span class="acronym">constructor</span></acronym>]</span></p>
219
+ <div class="refsect3">
220
+ <a name="graphene-euler-alloc.returns"></a><h4>Returns</h4>
221
+ <p> the newly allocated <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
222
+ <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
223
+ </div>
224
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
225
+ </div>
226
+ <hr>
227
+ <div class="refsect2">
228
+ <a name="graphene-euler-free"></a><h3>graphene_euler_free ()</h3>
229
+ <pre class="programlisting"><span class="returnvalue">void</span>
230
+ graphene_euler_free (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>);</pre>
231
+ <p>Frees the resources allocated by <a class="link" href="graphene-Euler.html#graphene-euler-alloc" title="graphene_euler_alloc ()"><code class="function">graphene_euler_alloc()</code></a>.</p>
232
+ <div class="refsect3">
233
+ <a name="graphene-euler-free.parameters"></a><h4>Parameters</h4>
234
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
235
+ <colgroup>
236
+ <col width="150px" class="parameters_name">
237
+ <col class="parameters_description">
238
+ <col width="200px" class="parameters_annotations">
239
+ </colgroup>
240
+ <tbody><tr>
241
+ <td class="parameter_name"><p>e</p></td>
242
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
243
+ <td class="parameter_annotations"> </td>
244
+ </tr></tbody>
245
+ </table></div>
246
+ </div>
247
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
248
+ </div>
249
+ <hr>
250
+ <div class="refsect2">
251
+ <a name="graphene-euler-init"></a><h3>graphene_euler_init ()</h3>
252
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
253
+ graphene_euler_init (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
254
+ <em class="parameter"><code><span class="type">float</span> x</code></em>,
255
+ <em class="parameter"><code><span class="type">float</span> y</code></em>,
256
+ <em class="parameter"><code><span class="type">float</span> z</code></em>);</pre>
257
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using the given angles.</p>
258
+ <p>The order of the rotations is <a class="link" href="graphene-Euler.html#GRAPHENE-EULER-ORDER-DEFAULT:CAPS"><code class="literal">GRAPHENE_EULER_ORDER_DEFAULT</code></a>.</p>
259
+ <div class="refsect3">
260
+ <a name="graphene-euler-init.parameters"></a><h4>Parameters</h4>
261
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
262
+ <colgroup>
263
+ <col width="150px" class="parameters_name">
264
+ <col class="parameters_description">
265
+ <col width="200px" class="parameters_annotations">
266
+ </colgroup>
267
+ <tbody>
268
+ <tr>
269
+ <td class="parameter_name"><p>e</p></td>
270
+ <td class="parameter_description"><p>the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to initialize</p></td>
271
+ <td class="parameter_annotations"> </td>
272
+ </tr>
273
+ <tr>
274
+ <td class="parameter_name"><p>x</p></td>
275
+ <td class="parameter_description"><p>rotation angle on the X axis, in degrees</p></td>
276
+ <td class="parameter_annotations"> </td>
277
+ </tr>
278
+ <tr>
279
+ <td class="parameter_name"><p>y</p></td>
280
+ <td class="parameter_description"><p>rotation angle on the Y axis, in degrees</p></td>
281
+ <td class="parameter_annotations"> </td>
282
+ </tr>
283
+ <tr>
284
+ <td class="parameter_name"><p>z</p></td>
285
+ <td class="parameter_description"><p>rotation angle on the Z axis, in degrees</p></td>
286
+ <td class="parameter_annotations"> </td>
287
+ </tr>
288
+ </tbody>
289
+ </table></div>
290
+ </div>
291
+ <div class="refsect3">
292
+ <a name="graphene-euler-init.returns"></a><h4>Returns</h4>
293
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
294
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
295
+ </div>
296
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
297
+ </div>
298
+ <hr>
299
+ <div class="refsect2">
300
+ <a name="graphene-euler-init-with-order"></a><h3>graphene_euler_init_with_order ()</h3>
301
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
302
+ graphene_euler_init_with_order (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
303
+ <em class="parameter"><code><span class="type">float</span> x</code></em>,
304
+ <em class="parameter"><code><span class="type">float</span> y</code></em>,
305
+ <em class="parameter"><code><span class="type">float</span> z</code></em>,
306
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="type">graphene_euler_order_t</span></a> order</code></em>);</pre>
307
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> with the given angles and <em class="parameter"><code>order</code></em>
308
+ .</p>
309
+ <div class="refsect3">
310
+ <a name="graphene-euler-init-with-order.parameters"></a><h4>Parameters</h4>
311
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
312
+ <colgroup>
313
+ <col width="150px" class="parameters_name">
314
+ <col class="parameters_description">
315
+ <col width="200px" class="parameters_annotations">
316
+ </colgroup>
317
+ <tbody>
318
+ <tr>
319
+ <td class="parameter_name"><p>e</p></td>
320
+ <td class="parameter_description"><p>the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to initialize</p></td>
321
+ <td class="parameter_annotations"> </td>
322
+ </tr>
323
+ <tr>
324
+ <td class="parameter_name"><p>x</p></td>
325
+ <td class="parameter_description"><p>rotation angle on the X axis, in degrees</p></td>
326
+ <td class="parameter_annotations"> </td>
327
+ </tr>
328
+ <tr>
329
+ <td class="parameter_name"><p>y</p></td>
330
+ <td class="parameter_description"><p>rotation angle on the Y axis, in degrees</p></td>
331
+ <td class="parameter_annotations"> </td>
332
+ </tr>
333
+ <tr>
334
+ <td class="parameter_name"><p>z</p></td>
335
+ <td class="parameter_description"><p>rotation angle on the Z axis, in degrees</p></td>
336
+ <td class="parameter_annotations"> </td>
337
+ </tr>
338
+ <tr>
339
+ <td class="parameter_name"><p>order</p></td>
340
+ <td class="parameter_description"><p>the order used to apply the rotations</p></td>
341
+ <td class="parameter_annotations"> </td>
342
+ </tr>
343
+ </tbody>
344
+ </table></div>
345
+ </div>
346
+ <div class="refsect3">
347
+ <a name="graphene-euler-init-with-order.returns"></a><h4>Returns</h4>
348
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
349
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
350
+ </div>
351
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
352
+ </div>
353
+ <hr>
354
+ <div class="refsect2">
355
+ <a name="graphene-euler-init-from-matrix"></a><h3>graphene_euler_init_from_matrix ()</h3>
356
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
357
+ graphene_euler_init_from_matrix (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
358
+ <em class="parameter"><code>const <a class="link" href="graphene-Matrix.html#graphene-matrix-t" title="graphene_matrix_t"><span class="type">graphene_matrix_t</span></a> *m</code></em>,
359
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="type">graphene_euler_order_t</span></a> order</code></em>);</pre>
360
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using the given rotation matrix.</p>
361
+ <p>If the <a class="link" href="graphene-Matrix.html#graphene-matrix-t" title="graphene_matrix_t"><span class="type">graphene_matrix_t</span></a> <em class="parameter"><code>m</code></em>
362
+ is <a href="/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> will
363
+ be initialized with all angles set to 0.</p>
364
+ <div class="refsect3">
365
+ <a name="graphene-euler-init-from-matrix.parameters"></a><h4>Parameters</h4>
366
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
367
+ <colgroup>
368
+ <col width="150px" class="parameters_name">
369
+ <col class="parameters_description">
370
+ <col width="200px" class="parameters_annotations">
371
+ </colgroup>
372
+ <tbody>
373
+ <tr>
374
+ <td class="parameter_name"><p>e</p></td>
375
+ <td class="parameter_description"><p>the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to initialize</p></td>
376
+ <td class="parameter_annotations"> </td>
377
+ </tr>
378
+ <tr>
379
+ <td class="parameter_name"><p>m</p></td>
380
+ <td class="parameter_description"><p> a rotation matrix. </p></td>
381
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
382
+ </tr>
383
+ <tr>
384
+ <td class="parameter_name"><p>order</p></td>
385
+ <td class="parameter_description"><p>the order used to apply the rotations</p></td>
386
+ <td class="parameter_annotations"> </td>
387
+ </tr>
388
+ </tbody>
389
+ </table></div>
390
+ </div>
391
+ <div class="refsect3">
392
+ <a name="graphene-euler-init-from-matrix.returns"></a><h4>Returns</h4>
393
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
394
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
395
+ </div>
396
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
397
+ </div>
398
+ <hr>
399
+ <div class="refsect2">
400
+ <a name="graphene-euler-init-from-quaternion"></a><h3>graphene_euler_init_from_quaternion ()</h3>
401
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
402
+ graphene_euler_init_from_quaternion (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
403
+ <em class="parameter"><code>const <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a> *q</code></em>,
404
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="type">graphene_euler_order_t</span></a> order</code></em>);</pre>
405
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using the given normalized quaternion.</p>
406
+ <p>If the <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a> <em class="parameter"><code>q</code></em>
407
+ is <a href="/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> will
408
+ be initialized with all angles set to 0.</p>
409
+ <div class="refsect3">
410
+ <a name="graphene-euler-init-from-quaternion.parameters"></a><h4>Parameters</h4>
411
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
412
+ <colgroup>
413
+ <col width="150px" class="parameters_name">
414
+ <col class="parameters_description">
415
+ <col width="200px" class="parameters_annotations">
416
+ </colgroup>
417
+ <tbody>
418
+ <tr>
419
+ <td class="parameter_name"><p>e</p></td>
420
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
421
+ <td class="parameter_annotations"> </td>
422
+ </tr>
423
+ <tr>
424
+ <td class="parameter_name"><p>q</p></td>
425
+ <td class="parameter_description"><p> a normalized <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a>. </p></td>
426
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
427
+ </tr>
428
+ <tr>
429
+ <td class="parameter_name"><p>order</p></td>
430
+ <td class="parameter_description"><p>the order used to apply the rotations</p></td>
431
+ <td class="parameter_annotations"> </td>
432
+ </tr>
433
+ </tbody>
434
+ </table></div>
435
+ </div>
436
+ <div class="refsect3">
437
+ <a name="graphene-euler-init-from-quaternion.returns"></a><h4>Returns</h4>
438
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
439
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
440
+ </div>
441
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
442
+ </div>
443
+ <hr>
444
+ <div class="refsect2">
445
+ <a name="graphene-euler-init-from-vec3"></a><h3>graphene_euler_init_from_vec3 ()</h3>
446
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
447
+ graphene_euler_init_from_vec3 (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
448
+ <em class="parameter"><code>const <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a> *v</code></em>,
449
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="type">graphene_euler_order_t</span></a> order</code></em>);</pre>
450
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using the angles contained in a
451
+ <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a>.</p>
452
+ <p>If the <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a> <em class="parameter"><code>v</code></em>
453
+ is <a href="/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> will be
454
+ initialized with all angles set to 0.</p>
455
+ <div class="refsect3">
456
+ <a name="graphene-euler-init-from-vec3.parameters"></a><h4>Parameters</h4>
457
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
458
+ <colgroup>
459
+ <col width="150px" class="parameters_name">
460
+ <col class="parameters_description">
461
+ <col width="200px" class="parameters_annotations">
462
+ </colgroup>
463
+ <tbody>
464
+ <tr>
465
+ <td class="parameter_name"><p>e</p></td>
466
+ <td class="parameter_description"><p>the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to initialize</p></td>
467
+ <td class="parameter_annotations"> </td>
468
+ </tr>
469
+ <tr>
470
+ <td class="parameter_name"><p>v</p></td>
471
+ <td class="parameter_description"><p> a <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a> containing the rotation
472
+ angles in degrees. </p></td>
473
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
474
+ </tr>
475
+ <tr>
476
+ <td class="parameter_name"><p>order</p></td>
477
+ <td class="parameter_description"><p>the order used to apply the rotations</p></td>
478
+ <td class="parameter_annotations"> </td>
479
+ </tr>
480
+ </tbody>
481
+ </table></div>
482
+ </div>
483
+ <div class="refsect3">
484
+ <a name="graphene-euler-init-from-vec3.returns"></a><h4>Returns</h4>
485
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
486
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
487
+ </div>
488
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
489
+ </div>
490
+ <hr>
491
+ <div class="refsect2">
492
+ <a name="graphene-euler-init-from-euler"></a><h3>graphene_euler_init_from_euler ()</h3>
493
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="returnvalue">graphene_euler_t</span></a> *
494
+ graphene_euler_init_from_euler (<em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
495
+ <em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *src</code></em>);</pre>
496
+ <p>Initializes a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using the angles and order of
497
+ another <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>.</p>
498
+ <p>If the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> <em class="parameter"><code>src</code></em>
499
+ is <a href="/home/vagrant/ruby-gnome2.win64/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, this function is equivalent
500
+ to calling <a class="link" href="graphene-Euler.html#graphene-euler-init" title="graphene_euler_init ()"><code class="function">graphene_euler_init()</code></a> with all angles set to 0.</p>
501
+ <div class="refsect3">
502
+ <a name="graphene-euler-init-from-euler.parameters"></a><h4>Parameters</h4>
503
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
504
+ <colgroup>
505
+ <col width="150px" class="parameters_name">
506
+ <col class="parameters_description">
507
+ <col width="200px" class="parameters_annotations">
508
+ </colgroup>
509
+ <tbody>
510
+ <tr>
511
+ <td class="parameter_name"><p>e</p></td>
512
+ <td class="parameter_description"><p>the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> to initialize</p></td>
513
+ <td class="parameter_annotations"> </td>
514
+ </tr>
515
+ <tr>
516
+ <td class="parameter_name"><p>src</p></td>
517
+ <td class="parameter_description"><p> a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p></td>
518
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
519
+ </tr>
520
+ </tbody>
521
+ </table></div>
522
+ </div>
523
+ <div class="refsect3">
524
+ <a name="graphene-euler-init-from-euler.returns"></a><h4>Returns</h4>
525
+ <p> the initialized <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p>
526
+ <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
527
+ </div>
528
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
529
+ </div>
530
+ <hr>
531
+ <div class="refsect2">
532
+ <a name="graphene-euler-equal"></a><h3>graphene_euler_equal ()</h3>
533
+ <pre class="programlisting"><span class="returnvalue">bool</span>
534
+ graphene_euler_equal (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *a</code></em>,
535
+ <em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *b</code></em>);</pre>
536
+ <p>Checks if two <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> are equal.</p>
537
+ <div class="refsect3">
538
+ <a name="graphene-euler-equal.parameters"></a><h4>Parameters</h4>
539
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
540
+ <colgroup>
541
+ <col width="150px" class="parameters_name">
542
+ <col class="parameters_description">
543
+ <col width="200px" class="parameters_annotations">
544
+ </colgroup>
545
+ <tbody>
546
+ <tr>
547
+ <td class="parameter_name"><p>a</p></td>
548
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
549
+ <td class="parameter_annotations"> </td>
550
+ </tr>
551
+ <tr>
552
+ <td class="parameter_name"><p>b</p></td>
553
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
554
+ <td class="parameter_annotations"> </td>
555
+ </tr>
556
+ </tbody>
557
+ </table></div>
558
+ </div>
559
+ <div class="refsect3">
560
+ <a name="graphene-euler-equal.returns"></a><h4>Returns</h4>
561
+ <p> <code class="literal">true</code> if the two <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> are equal</p>
562
+ </div>
563
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
564
+ </div>
565
+ <hr>
566
+ <div class="refsect2">
567
+ <a name="graphene-euler-get-x"></a><h3>graphene_euler_get_x ()</h3>
568
+ <pre class="programlisting"><span class="returnvalue">float</span>
569
+ graphene_euler_get_x (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>);</pre>
570
+ <p>Retrieves the rotation angle on the X axis, in degrees.</p>
571
+ <div class="refsect3">
572
+ <a name="graphene-euler-get-x.parameters"></a><h4>Parameters</h4>
573
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
574
+ <colgroup>
575
+ <col width="150px" class="parameters_name">
576
+ <col class="parameters_description">
577
+ <col width="200px" class="parameters_annotations">
578
+ </colgroup>
579
+ <tbody><tr>
580
+ <td class="parameter_name"><p>e</p></td>
581
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
582
+ <td class="parameter_annotations"> </td>
583
+ </tr></tbody>
584
+ </table></div>
585
+ </div>
586
+ <div class="refsect3">
587
+ <a name="graphene-euler-get-x.returns"></a><h4>Returns</h4>
588
+ <p> the rotation angle</p>
589
+ </div>
590
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
591
+ </div>
592
+ <hr>
593
+ <div class="refsect2">
594
+ <a name="graphene-euler-get-y"></a><h3>graphene_euler_get_y ()</h3>
595
+ <pre class="programlisting"><span class="returnvalue">float</span>
596
+ graphene_euler_get_y (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>);</pre>
597
+ <p>Retrieves the rotation angle on the Y axis, in degrees.</p>
598
+ <div class="refsect3">
599
+ <a name="graphene-euler-get-y.parameters"></a><h4>Parameters</h4>
600
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
601
+ <colgroup>
602
+ <col width="150px" class="parameters_name">
603
+ <col class="parameters_description">
604
+ <col width="200px" class="parameters_annotations">
605
+ </colgroup>
606
+ <tbody><tr>
607
+ <td class="parameter_name"><p>e</p></td>
608
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
609
+ <td class="parameter_annotations"> </td>
610
+ </tr></tbody>
611
+ </table></div>
612
+ </div>
613
+ <div class="refsect3">
614
+ <a name="graphene-euler-get-y.returns"></a><h4>Returns</h4>
615
+ <p> the rotation angle</p>
616
+ </div>
617
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
618
+ </div>
619
+ <hr>
620
+ <div class="refsect2">
621
+ <a name="graphene-euler-get-z"></a><h3>graphene_euler_get_z ()</h3>
622
+ <pre class="programlisting"><span class="returnvalue">float</span>
623
+ graphene_euler_get_z (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>);</pre>
624
+ <p>Retrieves the rotation angle on the Z axis, in degrees.</p>
625
+ <div class="refsect3">
626
+ <a name="graphene-euler-get-z.parameters"></a><h4>Parameters</h4>
627
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
628
+ <colgroup>
629
+ <col width="150px" class="parameters_name">
630
+ <col class="parameters_description">
631
+ <col width="200px" class="parameters_annotations">
632
+ </colgroup>
633
+ <tbody><tr>
634
+ <td class="parameter_name"><p>e</p></td>
635
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
636
+ <td class="parameter_annotations"> </td>
637
+ </tr></tbody>
638
+ </table></div>
639
+ </div>
640
+ <div class="refsect3">
641
+ <a name="graphene-euler-get-z.returns"></a><h4>Returns</h4>
642
+ <p> the rotation angle</p>
643
+ </div>
644
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
645
+ </div>
646
+ <hr>
647
+ <div class="refsect2">
648
+ <a name="graphene-euler-get-order"></a><h3>graphene_euler_get_order ()</h3>
649
+ <pre class="programlisting"><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="returnvalue">graphene_euler_order_t</span></a>
650
+ graphene_euler_get_order (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>);</pre>
651
+ <p>Retrieves the order used to apply the rotations described in the
652
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> structure, when converting to and from other
653
+ structures, like <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a> and <a class="link" href="graphene-Matrix.html#graphene-matrix-t" title="graphene_matrix_t"><span class="type">graphene_matrix_t</span></a>.</p>
654
+ <p>This function does not return the <a class="link" href="graphene-Euler.html#GRAPHENE-EULER-ORDER-DEFAULT:CAPS"><code class="literal">GRAPHENE_EULER_ORDER_DEFAULT</code></a>
655
+ enumeration value; it will return the effective order of rotation
656
+ instead.</p>
657
+ <div class="refsect3">
658
+ <a name="graphene-euler-get-order.parameters"></a><h4>Parameters</h4>
659
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
660
+ <colgroup>
661
+ <col width="150px" class="parameters_name">
662
+ <col class="parameters_description">
663
+ <col width="200px" class="parameters_annotations">
664
+ </colgroup>
665
+ <tbody><tr>
666
+ <td class="parameter_name"><p>e</p></td>
667
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
668
+ <td class="parameter_annotations"> </td>
669
+ </tr></tbody>
670
+ </table></div>
671
+ </div>
672
+ <div class="refsect3">
673
+ <a name="graphene-euler-get-order.returns"></a><h4>Returns</h4>
674
+ <p> the order used to apply the rotations</p>
675
+ </div>
676
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
677
+ </div>
678
+ <hr>
679
+ <div class="refsect2">
680
+ <a name="graphene-euler-to-vec3"></a><h3>graphene_euler_to_vec3 ()</h3>
681
+ <pre class="programlisting"><span class="returnvalue">void</span>
682
+ graphene_euler_to_vec3 (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
683
+ <em class="parameter"><code><a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a> *res</code></em>);</pre>
684
+ <p>Retrieves the angles of a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> and initializes a
685
+ <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a> with them.</p>
686
+ <div class="refsect3">
687
+ <a name="graphene-euler-to-vec3.parameters"></a><h4>Parameters</h4>
688
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
689
+ <colgroup>
690
+ <col width="150px" class="parameters_name">
691
+ <col class="parameters_description">
692
+ <col width="200px" class="parameters_annotations">
693
+ </colgroup>
694
+ <tbody>
695
+ <tr>
696
+ <td class="parameter_name"><p>e</p></td>
697
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
698
+ <td class="parameter_annotations"> </td>
699
+ </tr>
700
+ <tr>
701
+ <td class="parameter_name"><p>res</p></td>
702
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-Vectors.html#graphene-vec3-t" title="graphene_vec3_t"><span class="type">graphene_vec3_t</span></a>. </p></td>
703
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
704
+ </tr>
705
+ </tbody>
706
+ </table></div>
707
+ </div>
708
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
709
+ </div>
710
+ <hr>
711
+ <div class="refsect2">
712
+ <a name="graphene-euler-to-matrix"></a><h3>graphene_euler_to_matrix ()</h3>
713
+ <pre class="programlisting"><span class="returnvalue">void</span>
714
+ graphene_euler_to_matrix (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
715
+ <em class="parameter"><code><a class="link" href="graphene-Matrix.html#graphene-matrix-t" title="graphene_matrix_t"><span class="type">graphene_matrix_t</span></a> *res</code></em>);</pre>
716
+ <p>Converts a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> into a transformation matrix expressing
717
+ the extrinsic composition of rotations described by the Euler angles.</p>
718
+ <p>The rotations are applied over the reference frame axes in the order
719
+ associated with the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>; for instance, if the order
720
+ used to initialize <em class="parameter"><code>e</code></em>
721
+ is <a class="link" href="graphene-Euler.html#GRAPHENE-EULER-ORDER-XYZ:CAPS"><code class="literal">GRAPHENE_EULER_ORDER_XYZ</code></a>:</p>
722
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
723
+ <li class="listitem"><p>the first rotation moves the body around the X axis with
724
+ an angle φ</p></li>
725
+ <li class="listitem"><p>the second rotation moves the body around the Y axis with
726
+ an angle of ϑ</p></li>
727
+ <li class="listitem"><p>the third rotation moves the body around the Z axis with
728
+ an angle of ψ</p></li>
729
+ </ul></div>
730
+ <p>The rotation sign convention is left-handed, to preserve compatibility
731
+ between Euler-based, quaternion-based, and angle-axis-based rotations.</p>
732
+ <div class="refsect3">
733
+ <a name="graphene-euler-to-matrix.parameters"></a><h4>Parameters</h4>
734
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
735
+ <colgroup>
736
+ <col width="150px" class="parameters_name">
737
+ <col class="parameters_description">
738
+ <col width="200px" class="parameters_annotations">
739
+ </colgroup>
740
+ <tbody>
741
+ <tr>
742
+ <td class="parameter_name"><p>e</p></td>
743
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
744
+ <td class="parameter_annotations"> </td>
745
+ </tr>
746
+ <tr>
747
+ <td class="parameter_name"><p>res</p></td>
748
+ <td class="parameter_description"><p> return location for a <a class="link" href="graphene-Matrix.html#graphene-matrix-t" title="graphene_matrix_t"><span class="type">graphene_matrix_t</span></a>. </p></td>
749
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
750
+ </tr>
751
+ </tbody>
752
+ </table></div>
753
+ </div>
754
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
755
+ </div>
756
+ <hr>
757
+ <div class="refsect2">
758
+ <a name="graphene-euler-reorder"></a><h3>graphene_euler_reorder ()</h3>
759
+ <pre class="programlisting"><span class="returnvalue">void</span>
760
+ graphene_euler_reorder (<em class="parameter"><code>const <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *e</code></em>,
761
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-order-t" title="enum graphene_euler_order_t"><span class="type">graphene_euler_order_t</span></a> order</code></em>,
762
+ <em class="parameter"><code><a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> *res</code></em>);</pre>
763
+ <p>Reorders a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> using <em class="parameter"><code>order</code></em>
764
+ .</p>
765
+ <p>This function is equivalent to creating a <a class="link" href="graphene-Quaternion.html#graphene-quaternion-t" title="graphene_quaternion_t"><span class="type">graphene_quaternion_t</span></a> from the
766
+ given <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>, and then converting the quaternion into another
767
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>.</p>
768
+ <div class="refsect3">
769
+ <a name="graphene-euler-reorder.parameters"></a><h4>Parameters</h4>
770
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
771
+ <colgroup>
772
+ <col width="150px" class="parameters_name">
773
+ <col class="parameters_description">
774
+ <col width="200px" class="parameters_annotations">
775
+ </colgroup>
776
+ <tbody>
777
+ <tr>
778
+ <td class="parameter_name"><p>e</p></td>
779
+ <td class="parameter_description"><p>a <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a></p></td>
780
+ <td class="parameter_annotations"> </td>
781
+ </tr>
782
+ <tr>
783
+ <td class="parameter_name"><p>order</p></td>
784
+ <td class="parameter_description"><p>the new order</p></td>
785
+ <td class="parameter_annotations"> </td>
786
+ </tr>
787
+ <tr>
788
+ <td class="parameter_name"><p>res</p></td>
789
+ <td class="parameter_description"><p> return location for the reordered
790
+ <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a>. </p></td>
791
+ <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
792
+ </tr>
793
+ </tbody>
794
+ </table></div>
795
+ </div>
796
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
797
+ </div>
798
+ </div>
799
+ <div class="refsect1">
800
+ <a name="graphene-Euler.other_details"></a><h2>Types and Values</h2>
801
+ <div class="refsect2">
802
+ <a name="graphene-euler-t"></a><h3>graphene_euler_t</h3>
803
+ <pre class="programlisting">typedef struct {
804
+ } graphene_euler_t;
805
+ </pre>
806
+ <p>Describe a rotation using Euler angles.</p>
807
+ <p>The contents of the <a class="link" href="graphene-Euler.html#graphene-euler-t" title="graphene_euler_t"><span class="type">graphene_euler_t</span></a> structure are private
808
+ and should never be accessed directly.</p>
809
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
810
+ </div>
811
+ <hr>
812
+ <div class="refsect2">
813
+ <a name="graphene-euler-order-t"></a><h3>enum graphene_euler_order_t</h3>
814
+ <p>Specify the order of the rotations on each axis.</p>
815
+ <p>The <a class="link" href="graphene-Euler.html#GRAPHENE-EULER-ORDER-DEFAULT:CAPS"><code class="literal">GRAPHENE_EULER_ORDER_DEFAULT</code></a> value is special, and is used
816
+ as an alias for one of the other orders.</p>
817
+ <div class="refsect3">
818
+ <a name="graphene-euler-order-t.members"></a><h4>Members</h4>
819
+ <div class="informaltable"><table class="informaltable" width="100%" border="0">
820
+ <colgroup>
821
+ <col width="300px" class="enum_members_name">
822
+ <col class="enum_members_description">
823
+ <col width="200px" class="enum_members_annotations">
824
+ </colgroup>
825
+ <tbody>
826
+ <tr>
827
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-DEFAULT:CAPS"></a>GRAPHENE_EULER_ORDER_DEFAULT</p></td>
828
+ <td class="enum_member_description">
829
+ <p>Rotate in the default order; the
830
+ default order is one of the following enumeration values</p>
831
+ </td>
832
+ <td class="enum_member_annotations"> </td>
833
+ </tr>
834
+ <tr>
835
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-XYZ:CAPS"></a>GRAPHENE_EULER_ORDER_XYZ</p></td>
836
+ <td class="enum_member_description">
837
+ <p>Rotate in the X, Y, and Z order</p>
838
+ </td>
839
+ <td class="enum_member_annotations"> </td>
840
+ </tr>
841
+ <tr>
842
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-YZX:CAPS"></a>GRAPHENE_EULER_ORDER_YZX</p></td>
843
+ <td class="enum_member_description">
844
+ <p>Rotate in the Y, Z, and X order</p>
845
+ </td>
846
+ <td class="enum_member_annotations"> </td>
847
+ </tr>
848
+ <tr>
849
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-ZXY:CAPS"></a>GRAPHENE_EULER_ORDER_ZXY</p></td>
850
+ <td class="enum_member_description">
851
+ <p>Rotate in the Z, X, and Y order</p>
852
+ </td>
853
+ <td class="enum_member_annotations"> </td>
854
+ </tr>
855
+ <tr>
856
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-XZY:CAPS"></a>GRAPHENE_EULER_ORDER_XZY</p></td>
857
+ <td class="enum_member_description">
858
+ <p>Rotate in the X, Z, and Y order</p>
859
+ </td>
860
+ <td class="enum_member_annotations"> </td>
861
+ </tr>
862
+ <tr>
863
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-YXZ:CAPS"></a>GRAPHENE_EULER_ORDER_YXZ</p></td>
864
+ <td class="enum_member_description">
865
+ <p>Rotate in the Y, X, and Z order</p>
866
+ </td>
867
+ <td class="enum_member_annotations"> </td>
868
+ </tr>
869
+ <tr>
870
+ <td class="enum_member_name"><p><a name="GRAPHENE-EULER-ORDER-ZYX:CAPS"></a>GRAPHENE_EULER_ORDER_ZYX</p></td>
871
+ <td class="enum_member_description">
872
+ <p>Rotate in the Z, Y, and X order</p>
873
+ </td>
874
+ <td class="enum_member_annotations"> </td>
875
+ </tr>
876
+ </tbody>
877
+ </table></div>
878
+ </div>
879
+ <p class="since">Since: <a class="link" href="ix04.html#api-index-1.2">1.2</a></p>
880
+ </div>
881
+ </div>
882
+ </div>
883
+ <div class="footer">
884
+ <hr>Generated by GTK-Doc V1.25</div>
885
+ </body>
886
+ </html>