Scene.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <glue>
  2. <head><![CDATA[// Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  3. // All rights reserved.
  4. // Code licensed under the BSD License.
  5. // http://www.anki3d.org/LICENSE
  6. // WARNING: This file is auto generated.
  7. #include <AnKi/Script/LuaBinder.h>
  8. #include <AnKi/Script/ScriptManager.h>
  9. #include <AnKi/Scene.h>
  10. namespace anki {
  11. template<typename T, typename... TArgs>
  12. static T* newSceneNode(SceneGraph* scene, CString name, TArgs... args)
  13. {
  14. return scene->template newSceneNode<T>(name, std::forward<TArgs>(args)...);
  15. }
  16. template<typename T, typename... TArgs>
  17. static T* newEvent(EventManager* eventManager, TArgs... args)
  18. {
  19. return eventManager->template newEvent<T>(std::forward<TArgs>(args)...);
  20. }
  21. static SceneGraph* getSceneGraph(lua_State* l)
  22. {
  23. LuaBinder* binder = nullptr;
  24. lua_getallocf(l, reinterpret_cast<void**>(&binder));
  25. SceneGraph* scene = &SceneGraph::getSingleton();
  26. ANKI_ASSERT(scene);
  27. return scene;
  28. }
  29. static EventManager* getEventManager(lua_State* l)
  30. {
  31. return &getSceneGraph(l)->getEventManager();
  32. }
  33. using WeakArraySceneNodePtr = WeakArray<SceneNode*>;
  34. ]]></head>
  35. <enums>
  36. <enum name="LightComponentType">
  37. <enumerant name="kPoint"/>
  38. <enumerant name="kSpot"/>
  39. <enumerant name="kDirectional"/>
  40. </enum>
  41. <enum name="BodyComponentCollisionShapeType">
  42. <enumerant name="kFromMeshComponent"/>
  43. <enumerant name="kAabb"/>
  44. <enumerant name="kSphere"/>
  45. <enumerant name="kCount"/>
  46. </enum>
  47. <enum name="ParticleGeometryType">
  48. <enumerant name="kQuad"/>
  49. <enumerant name="kMeshComponent"/>
  50. </enum>
  51. </enums>
  52. <classes>
  53. <!-- Other -->
  54. <class name="WeakArraySceneNodePtr">
  55. <methods>
  56. <method name="getSize">
  57. <return>U32</return>
  58. </method>
  59. <method name="getAt">
  60. <overrideCall><![CDATA[SceneNode* ret = (*self)[arg0];]]></overrideCall>
  61. <args><arg>U32</arg></args>
  62. <return>SceneNode*</return>
  63. </method>
  64. </methods>
  65. </class>
  66. <!-- Components -->
  67. <class name="LightComponent">
  68. <methods>
  69. <method name="setLightComponentType">
  70. <args>
  71. <arg>LightComponentType</arg>
  72. </args>
  73. </method>
  74. <method name="setDiffuseColor">
  75. <args>
  76. <arg>const Vec4&amp;</arg>
  77. </args>
  78. </method>
  79. <method name="getDiffuseColor">
  80. <return>const Vec4&amp;</return>
  81. </method>
  82. <method name="setRadius">
  83. <args>
  84. <arg>F32</arg>
  85. </args>
  86. </method>
  87. <method name="getRadius">
  88. <return>F32</return>
  89. </method>
  90. <method name="setDistance">
  91. <args>
  92. <arg>F32</arg>
  93. </args>
  94. </method>
  95. <method name="getDistance">
  96. <return>F32</return>
  97. </method>
  98. <method name="setInnerAngle">
  99. <args>
  100. <arg>F32</arg>
  101. </args>
  102. </method>
  103. <method name="getInnerAngle">
  104. <return>F32</return>
  105. </method>
  106. <method name="setOuterAngle">
  107. <args>
  108. <arg>F32</arg>
  109. </args>
  110. </method>
  111. <method name="getOuterAngle">
  112. <return>F32</return>
  113. </method>
  114. <method name="setShadowEnabled">
  115. <args>
  116. <arg>Bool</arg>
  117. </args>
  118. </method>
  119. <method name="getShadowEnabled">
  120. <return>Bool</return>
  121. </method>
  122. </methods>
  123. </class>
  124. <class name="DecalComponent">
  125. <methods>
  126. <method name="setDiffuseImageFilename">
  127. <args>
  128. <arg>CString</arg>
  129. </args>
  130. <return>DecalComponent&amp;</return>
  131. </method>
  132. <method name="getDiffuseImageFilename">
  133. <return>CString</return>
  134. </method>
  135. <method name="setDiffuseBlendFactor">
  136. <args>
  137. <arg>F32</arg>
  138. </args>
  139. <return>DecalComponent&amp;</return>
  140. </method>
  141. <method name="getDiffuseBlendFactor">
  142. <return>F32</return>
  143. </method>
  144. <method name="setRoughnessMetalnessImageFilename">
  145. <args>
  146. <arg>CString</arg>
  147. </args>
  148. <return>DecalComponent&amp;</return>
  149. </method>
  150. <method name="getRoughnessMetalnessImageFilename">
  151. <return>CString</return>
  152. </method>
  153. <method name="setRoughnessMetalnessBlendFactor">
  154. <args>
  155. <arg>F32</arg>
  156. </args>
  157. <return>DecalComponent&amp;</return>
  158. </method>
  159. <method name="getRoughnessMetalnessBlendFactor">
  160. <return>F32</return>
  161. </method>
  162. </methods>
  163. </class>
  164. <class name="LensFlareComponent">
  165. <methods>
  166. <method name="loadImageResource">
  167. <args>
  168. <arg>CString</arg>
  169. </args>
  170. </method>
  171. <method name="setFirstFlareSize">
  172. <args>
  173. <arg>const Vec2&amp;</arg>
  174. </args>
  175. </method>
  176. <method name="setColorMultiplier">
  177. <args>
  178. <arg>const Vec4&amp;</arg>
  179. </args>
  180. </method>
  181. </methods>
  182. </class>
  183. <class name="BodyComponent">
  184. <methods>
  185. <method name="setCollisionShapeType">
  186. <args>
  187. <arg>BodyComponentCollisionShapeType</arg>
  188. </args>
  189. </method>
  190. <method name="setBoxExtend">
  191. <args>
  192. <arg>Vec3</arg>
  193. </args>
  194. </method>
  195. <method name="getBoxExtend">
  196. <return>const Vec3&amp;</return>
  197. </method>
  198. <method name="setSphereRadius">
  199. <args>
  200. <arg>F32</arg>
  201. </args>
  202. </method>
  203. <method name="getSphereRadius">
  204. <return>F32</return>
  205. </method>
  206. </methods>
  207. </class>
  208. <class name="TriggerComponent">
  209. <methods>
  210. <method name="getSceneNodesEnter">
  211. <return>WeakArraySceneNodePtr</return>
  212. </method>
  213. <method name="getSceneNodesExit">
  214. <return>WeakArraySceneNodePtr</return>
  215. </method>
  216. </methods>
  217. </class>
  218. <class name="FogDensityComponent">
  219. <methods>
  220. <method name="setDensity">
  221. <args>
  222. <arg>F32</arg>
  223. </args>
  224. </method>
  225. <method name="getDensity">
  226. <return>F32</return>
  227. </method>
  228. </methods>
  229. </class>
  230. <class name="CameraComponent">
  231. <methods>
  232. <method name="setPerspective">
  233. <args>
  234. <arg>F32</arg>
  235. <arg>F32</arg>
  236. <arg>F32</arg>
  237. <arg>F32</arg>
  238. </args>
  239. </method>
  240. </methods>
  241. </class>
  242. <class name="GlobalIlluminationProbeComponent">
  243. <methods>
  244. <method name="setCellSize">
  245. <args>
  246. <arg>F32</arg>
  247. </args>
  248. </method>
  249. <method name="getCellSize">
  250. <return>F32</return>
  251. </method>
  252. <method name="setFadeDistance">
  253. <args>
  254. <arg>F32</arg>
  255. </args>
  256. </method>
  257. <method name="getFadeDistance">
  258. <return>F32</return>
  259. </method>
  260. </methods>
  261. </class>
  262. <class name="ReflectionProbeComponent">
  263. <methods></methods>
  264. </class>
  265. <class name="ParticleEmitter2Component">
  266. <methods>
  267. <method name="setParticleEmitterFilename">
  268. <args>
  269. <arg>CString</arg>
  270. </args>
  271. <return>ParticleEmitter2Component&amp;</return>
  272. </method>
  273. <method name="getParticleEmitterFilename">
  274. <return>CString</return>
  275. </method>
  276. <method name="setParticleGeometryType">
  277. <args>
  278. <arg>ParticleGeometryType</arg>
  279. </args>
  280. <return>ParticleEmitter2Component&amp;</return>
  281. </method>
  282. <method name="getParticleGeometryType">
  283. <return>ParticleGeometryType</return>
  284. </method>
  285. </methods>
  286. </class>
  287. <class name="MeshComponent">
  288. <methods>
  289. <method name="setMeshFilename">
  290. <args>
  291. <arg>CString</arg>
  292. </args>
  293. <return>MeshComponent&amp;</return>
  294. </method>
  295. </methods>
  296. </class>
  297. <class name="MaterialComponent">
  298. <methods>
  299. <method name="setMaterialFilename">
  300. <args>
  301. <arg>CString</arg>
  302. </args>
  303. <return>MaterialComponent&amp;</return>
  304. </method>
  305. <method name="setSubmeshIndex">
  306. <args>
  307. <arg>U32</arg>
  308. </args>
  309. <return>MaterialComponent&amp;</return>
  310. </method>
  311. </methods>
  312. </class>
  313. <class name="SkinComponent">
  314. <methods>
  315. <method name="setSkeletonFilename">
  316. <args>
  317. <arg>CString</arg>
  318. </args>
  319. <return>SkinComponent&amp;</return>
  320. </method>
  321. </methods>
  322. </class>
  323. <class name="SkyboxComponent">
  324. <methods>
  325. <method name="setSolidColor">
  326. <args>
  327. <arg>Vec3</arg>
  328. </args>
  329. </method>
  330. <method name="loadImageResource">
  331. <args>
  332. <arg>CString</arg>
  333. </args>
  334. </method>
  335. <method name="setGeneratedSky" />
  336. <method name="setMinFogDensity">
  337. <args>
  338. <arg>F32</arg>
  339. </args>
  340. </method>
  341. <method name="setMaxFogDensity">
  342. <args>
  343. <arg>F32</arg>
  344. </args>
  345. </method>
  346. <method name="setHeightOfMinFogDensity">
  347. <args>
  348. <arg>F32</arg>
  349. </args>
  350. </method>
  351. <method name="setHeightOfMaxFogDensity">
  352. <args>
  353. <arg>F32</arg>
  354. </args>
  355. </method>
  356. <method name="setFogDiffuseColor">
  357. <args>
  358. <arg>Vec3</arg>
  359. </args>
  360. </method>
  361. <method name="setImageBias">
  362. <args>
  363. <arg>Vec3</arg>
  364. </args>
  365. </method>
  366. <method name="setImageScale">
  367. <args>
  368. <arg>Vec3</arg>
  369. </args>
  370. </method>
  371. </methods>
  372. </class>
  373. <!-- Nodes -->
  374. <class name="SceneNode">
  375. <methods>
  376. <method name="getName">
  377. <return>CString</return>
  378. </method>
  379. <method name="addChild">
  380. <args>
  381. <arg>SceneNode*</arg>
  382. </args>
  383. </method>
  384. <method name="markForDeletion"></method>
  385. <method name="setLocalOrigin">
  386. <args>
  387. <arg>const Vec3&amp;</arg>
  388. </args>
  389. </method>
  390. <method name="getLocalOrigin">
  391. <return>Vec3</return>
  392. </method>
  393. <method name="setLocalRotation">
  394. <args>
  395. <arg>const Mat3&amp;</arg>
  396. </args>
  397. </method>
  398. <method name="getLocalRotation">
  399. <return>Mat3</return>
  400. </method>
  401. <method name="setLocalScale">
  402. <args>
  403. <arg>const Vec3&amp;</arg>
  404. </args>
  405. </method>
  406. <method name="getLocalScale">
  407. <return>Vec3</return>
  408. </method>
  409. <method name="setLocalTransform">
  410. <args>
  411. <arg>const Transform&amp;</arg>
  412. </args>
  413. </method>
  414. <method name="getLocalTransform">
  415. <return>const Transform&amp;</return>
  416. </method>
  417. <method name="newComponent&lt;LightComponent&gt;" alias="newLightComponent">
  418. <return canBeNullptr="1">LightComponent*</return>
  419. </method>
  420. <method name="newComponent&lt;LensFlareComponent&gt;" alias="newLensFlareComponent">
  421. <return canBeNullptr="1">LensFlareComponent*</return>
  422. </method>
  423. <method name="newComponent&lt;DecalComponent&gt;" alias="newDecalComponent">
  424. <return canBeNullptr="1">DecalComponent*</return>
  425. </method>
  426. <method name="newComponent&lt;TriggerComponent&gt;" alias="newTriggerComponent">
  427. <return canBeNullptr="1">TriggerComponent*</return>
  428. </method>
  429. <method name="newComponent&lt;FogDensityComponent&gt;" alias="newFogDensityComponent">
  430. <return canBeNullptr="1">FogDensityComponent*</return>
  431. </method>
  432. <method name="newComponent&lt;CameraComponent&gt;" alias="newCameraComponent">
  433. <return canBeNullptr="1">CameraComponent*</return>
  434. </method>
  435. <method name="newComponent&lt;GlobalIlluminationProbeComponent&gt;" alias="newGlobalIlluminationProbeComponent">
  436. <return canBeNullptr="1">GlobalIlluminationProbeComponent*</return>
  437. </method>
  438. <method name="newComponent&lt;ReflectionProbeComponent&gt;" alias="newReflectionProbeComponent">
  439. <return canBeNullptr="1">ReflectionProbeComponent*</return>
  440. </method>
  441. <method name="newComponent&lt;BodyComponent&gt;" alias="newBodyComponent">
  442. <return canBeNullptr="1">BodyComponent*</return>
  443. </method>
  444. <method name="newComponent&lt;ParticleEmitter2Component&gt;" alias="newParticleEmitter2Component">
  445. <return canBeNullptr="1">ParticleEmitter2Component*</return>
  446. </method>
  447. <method name="newComponent&lt;MeshComponent&gt;" alias="newMeshComponent">
  448. <return canBeNullptr="1">MeshComponent*</return>
  449. </method>
  450. <method name="newComponent&lt;MaterialComponent&gt;" alias="newMaterialComponent">
  451. <return canBeNullptr="1">MaterialComponent*</return>
  452. </method>
  453. <method name="newComponent&lt;SkinComponent&gt;" alias="newSkinComponent">
  454. <return canBeNullptr="1">SkinComponent*</return>
  455. </method>
  456. <method name="newComponent&lt;SkyboxComponent&gt;" alias="newSkyboxComponent">
  457. <return canBeNullptr="1">SkyboxComponent*</return>
  458. </method>
  459. <method name="getFirstComponentOfType&lt;LightComponent&gt;" alias="getFirstLightComponent">
  460. <return>LightComponent&amp;</return>
  461. </method>
  462. <method name="getFirstComponentOfType&lt;LensFlareComponent&gt;" alias="getFirstLensFlareComponent">
  463. <return>LensFlareComponent&amp;</return>
  464. </method>
  465. <method name="getFirstComponentOfType&lt;DecalComponent&gt;" alias="getFirstDecalComponent">
  466. <return>DecalComponent&amp;</return>
  467. </method>
  468. <method name="getFirstComponentOfType&lt;TriggerComponent&gt;" alias="getFirstTriggerComponent">
  469. <return>TriggerComponent&amp;</return>
  470. </method>
  471. <method name="getFirstComponentOfType&lt;FogDensityComponent&gt;" alias="getFirstFogDensityComponent">
  472. <return>FogDensityComponent&amp;</return>
  473. </method>
  474. <method name="getFirstComponentOfType&lt;CameraComponent&gt;" alias="getFirstCameraComponent">
  475. <return>CameraComponent&amp;</return>
  476. </method>
  477. <method name="getFirstComponentOfType&lt;GlobalIlluminationProbeComponent&gt;" alias="getFirstGlobalIlluminationProbeComponent">
  478. <return>GlobalIlluminationProbeComponent&amp;</return>
  479. </method>
  480. <method name="getFirstComponentOfType&lt;ReflectionProbeComponent&gt;" alias="getFirstReflectionProbeComponent">
  481. <return>ReflectionProbeComponent&amp;</return>
  482. </method>
  483. <method name="getFirstComponentOfType&lt;BodyComponent&gt;" alias="getFirstBodyComponent">
  484. <return>BodyComponent&amp;</return>
  485. </method>
  486. <method name="getFirstComponentOfType&lt;MeshComponent&gt;" alias="getFirstMeshComponent">
  487. <return>MeshComponent&amp;</return>
  488. </method>
  489. <method name="getFirstComponentOfType&lt;MaterialComponent&gt;" alias="getFirstMaterialComponent">
  490. <return>MaterialComponent&amp;</return>
  491. </method>
  492. <method name="getFirstComponentOfType&lt;SkinComponent&gt;" alias="getFirstSkinComponent">
  493. <return>SkinComponent&amp;</return>
  494. </method>
  495. <method name="getFirstComponentOfType&lt;SkyboxComponent&gt;" alias="getFirstSkyboxComponent">
  496. <return>SkyboxComponent&amp;</return>
  497. </method>
  498. </methods>
  499. </class>
  500. <class name="SceneGraph">
  501. <methods>
  502. <method name="newSceneNode">
  503. <overrideCall><![CDATA[SceneNode* ret = newSceneNode<SceneNode>(self, arg0);]]></overrideCall>
  504. <args>
  505. <arg>CString</arg>
  506. </args>
  507. <return>SceneNode*</return>
  508. </method>
  509. <method name="setActiveCameraNode">
  510. <args>
  511. <arg>SceneNode*</arg>
  512. </args>
  513. </method>
  514. <method name="tryFindSceneNode">
  515. <args>
  516. <arg>CString</arg>
  517. </args>
  518. <return canBeNullptr="1">SceneNode*</return>
  519. </method>
  520. </methods>
  521. </class>
  522. <!-- Events -->
  523. <class name="Event">
  524. <methods>
  525. <method name="getAssociatedSceneNodes">
  526. <return>WeakArraySceneNodePtr</return>
  527. </method>
  528. </methods>
  529. </class>
  530. <class name="LightEvent">
  531. <methods>
  532. <method name="setIntensityMultiplier">
  533. <args><arg>const Vec4&amp;</arg></args>
  534. </method>
  535. <method name="setFrequency">
  536. <args>
  537. <arg>F32</arg>
  538. <arg>F32</arg>
  539. </args>
  540. </method>
  541. </methods>
  542. </class>
  543. <class name="ScriptEvent"/>
  544. <class name="JitterMoveEvent">
  545. <methods>
  546. <method name="setPositionLimits">
  547. <args>
  548. <arg>Vec3</arg>
  549. <arg>Vec3</arg>
  550. </args>
  551. </method>
  552. </methods>
  553. </class>
  554. <class name="AnimationEvent"/>
  555. <class name="EventManager">
  556. <methods>
  557. <method name="newLightEvent">
  558. <overrideCall><![CDATA[LightEvent* ret = newEvent<LightEvent>(self, arg0, arg1, arg2);]]></overrideCall>
  559. <args>
  560. <arg>F32</arg>
  561. <arg>F32</arg>
  562. <arg>SceneNode*</arg>
  563. </args>
  564. <return>LightEvent*</return>
  565. </method>
  566. <method name="newScriptEvent">
  567. <overrideCall><![CDATA[ScriptEvent* ret = newEvent<ScriptEvent>(self, arg0, arg1, arg2);]]></overrideCall>
  568. <args>
  569. <arg>F32</arg>
  570. <arg>F32</arg>
  571. <arg>CString</arg>
  572. </args>
  573. <return>ScriptEvent*</return>
  574. </method>
  575. <method name="newJitterMoveEvent">
  576. <overrideCall><![CDATA[JitterMoveEvent* ret = newEvent<JitterMoveEvent>(self, arg0, arg1, arg2);]]></overrideCall>
  577. <args>
  578. <arg>F32</arg>
  579. <arg>F32</arg>
  580. <arg>SceneNode*</arg>
  581. </args>
  582. <return>JitterMoveEvent*</return>
  583. </method>
  584. <method name="newAnimationEvent">
  585. <overrideCall><![CDATA[AnimationEvent* ret = newEvent<AnimationEvent>(self, arg0, arg1, arg2);]]></overrideCall>
  586. <args>
  587. <arg>CString</arg>
  588. <arg>CString</arg>
  589. <arg>SceneNode*</arg>
  590. </args>
  591. <return>AnimationEvent*</return>
  592. </method>
  593. </methods>
  594. </class>
  595. </classes>
  596. <functions>
  597. <function name="getSceneGraph">
  598. <overrideCall>SceneGraph* ret = getSceneGraph(l);</overrideCall>
  599. <return>SceneGraph*</return>
  600. </function>
  601. </functions>
  602. <functions>
  603. <function name="getEventManager">
  604. <overrideCall>EventManager* ret = getEventManager(l);</overrideCall>
  605. <return>EventManager*</return>
  606. </function>
  607. </functions>
  608. <tail><![CDATA[} // end namespace anki]]></tail>
  609. </glue>