BsScriptMesh.generated.h 1.9 KB

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