2
0

BsScriptMesh.generated.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "Wrappers/BsScriptResource.h"
  4. #include "../../../bsf/Source/Foundation/bsfCore/Utility/BsCommonTypes.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Mesh/BsMeshBase.h"
  6. #include "../../../bsf/Source/Foundation/bsfCore/Utility/BsCommonTypes.h"
  7. #include "../../../bsf/Source/Foundation/bsfCore/Renderer/BsRendererMeshData.h"
  8. namespace bs
  9. {
  10. class Mesh;
  11. class MeshEx;
  12. class BS_SCR_BE_EXPORT ScriptMesh : public TScriptResource<ScriptMesh, Mesh>
  13. {
  14. public:
  15. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Mesh")
  16. ScriptMesh(MonoObject* managedInstance, const ResourceHandle<Mesh>& value);
  17. static MonoObject* createInstance();
  18. private:
  19. static MonoObject* Internal_getSkeleton(ScriptMesh* thisPtr);
  20. static MonoObject* Internal_getMorphShapes(ScriptMesh* thisPtr);
  21. static void Internal_create(MonoObject* managedInstance, int32_t numVertices, int32_t numIndices, DrawOperationType topology, MeshUsage usage, VertexLayout vertex, IndexType index);
  22. static void Internal_create0(MonoObject* managedInstance, int32_t numVertices, int32_t numIndices, MonoArray* subMeshes, MeshUsage usage, VertexLayout vertex, IndexType index);
  23. static void Internal_create1(MonoObject* managedInstance, MonoObject* data, DrawOperationType topology, MeshUsage usage);
  24. static void Internal_create2(MonoObject* managedInstance, MonoObject* data, MonoArray* subMeshes, MeshUsage usage);
  25. static MonoArray* Internal_getSubMeshes(ScriptMesh* thisPtr);
  26. static uint32_t Internal_getSubMeshCount(ScriptMesh* thisPtr);
  27. static void Internal_getBounds(ScriptMesh* thisPtr, AABox* box, Sphere* sphere);
  28. static MonoObject* Internal_getMeshData(ScriptMesh* thisPtr);
  29. static void Internal_setMeshData(ScriptMesh* thisPtr, MonoObject* value);
  30. };
  31. }