RendererMeshData.generated.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Rendering
  7. * @{
  8. */
  9. /// <summary>
  10. /// Contains mesh vertex and index data used for initializing, updating and reading mesh data from Mesh.
  11. /// </summary>
  12. [ShowInInspector]
  13. public partial class MeshData : ScriptObject
  14. {
  15. private MeshData(bool __dummy0) { }
  16. protected MeshData() { }
  17. public MeshData(uint numVertices, uint numIndices, VertexLayout layout, IndexType indexType = IndexType.Index32)
  18. {
  19. Internal_create(this, numVertices, numIndices, layout, indexType);
  20. }
  21. /// <summary>An array of all vertex positions. Only valid if the vertex layout contains vertex positions.</summary>
  22. [ShowInInspector]
  23. public Vector3[] Positions
  24. {
  25. get { return Internal_getPositions(mCachedPtr); }
  26. set { Internal_setPositions(mCachedPtr, value); }
  27. }
  28. /// <summary>An array of all vertex normals. Only valid if the vertex layout contains vertex normals.</summary>
  29. [ShowInInspector]
  30. public Vector3[] Normals
  31. {
  32. get { return Internal_getNormals(mCachedPtr); }
  33. set { Internal_setNormals(mCachedPtr, value); }
  34. }
  35. /// <summary>An array of all vertex tangents. Only valid if the vertex layout contains vertex tangents.</summary>
  36. [ShowInInspector]
  37. public Vector4[] Tangents
  38. {
  39. get { return Internal_getTangents(mCachedPtr); }
  40. set { Internal_setTangents(mCachedPtr, value); }
  41. }
  42. /// <summary>An array of all vertex colors. Only valid if the vertex layout contains vertex colors.</summary>
  43. [ShowInInspector]
  44. public Color[] Colors
  45. {
  46. get { return Internal_getColors(mCachedPtr); }
  47. set { Internal_setColors(mCachedPtr, value); }
  48. }
  49. /// <summary>
  50. /// An array of all vertex texture coordinates in the UV0 channel. Only valid if the vertex layout contains UV0
  51. /// coordinates.
  52. /// </summary>
  53. [ShowInInspector]
  54. public Vector2[] UV0
  55. {
  56. get { return Internal_getUV0(mCachedPtr); }
  57. set { Internal_setUV0(mCachedPtr, value); }
  58. }
  59. /// <summary>
  60. /// An array of all vertex texture coordinates in the UV1 channel. Only valid if the vertex layout contains UV1
  61. /// coordinates.
  62. /// </summary>
  63. [ShowInInspector]
  64. public Vector2[] UV1
  65. {
  66. get { return Internal_getUV1(mCachedPtr); }
  67. set { Internal_setUV1(mCachedPtr, value); }
  68. }
  69. /// <summary>An array of all vertex bone weights. Only valid if the vertex layout contains bone weights.</summary>
  70. [ShowInInspector]
  71. public BoneWeight[] BoneWeights
  72. {
  73. get { return Internal_getBoneWeights(mCachedPtr); }
  74. set { Internal_setBoneWeights(mCachedPtr, value); }
  75. }
  76. /// <summary>An array of all indices.</summary>
  77. [ShowInInspector]
  78. public uint[] Indices
  79. {
  80. get { return Internal_getIndices(mCachedPtr); }
  81. set { Internal_setIndices(mCachedPtr, value); }
  82. }
  83. /// <summary>Returns the number of vertices contained in the mesh.</summary>
  84. [ShowInInspector]
  85. public int VertexCount
  86. {
  87. get { return Internal_getVertexCount(mCachedPtr); }
  88. }
  89. /// <summary>Returns the number of indices contained in the mesh.</summary>
  90. [ShowInInspector]
  91. public int IndexCount
  92. {
  93. get { return Internal_getIndexCount(mCachedPtr); }
  94. }
  95. [MethodImpl(MethodImplOptions.InternalCall)]
  96. private static extern void Internal_create(MeshData managedInstance, uint numVertices, uint numIndices, VertexLayout layout, IndexType indexType);
  97. [MethodImpl(MethodImplOptions.InternalCall)]
  98. private static extern Vector3[] Internal_getPositions(IntPtr thisPtr);
  99. [MethodImpl(MethodImplOptions.InternalCall)]
  100. private static extern void Internal_setPositions(IntPtr thisPtr, Vector3[] value);
  101. [MethodImpl(MethodImplOptions.InternalCall)]
  102. private static extern Vector3[] Internal_getNormals(IntPtr thisPtr);
  103. [MethodImpl(MethodImplOptions.InternalCall)]
  104. private static extern void Internal_setNormals(IntPtr thisPtr, Vector3[] value);
  105. [MethodImpl(MethodImplOptions.InternalCall)]
  106. private static extern Vector4[] Internal_getTangents(IntPtr thisPtr);
  107. [MethodImpl(MethodImplOptions.InternalCall)]
  108. private static extern void Internal_setTangents(IntPtr thisPtr, Vector4[] value);
  109. [MethodImpl(MethodImplOptions.InternalCall)]
  110. private static extern Color[] Internal_getColors(IntPtr thisPtr);
  111. [MethodImpl(MethodImplOptions.InternalCall)]
  112. private static extern void Internal_setColors(IntPtr thisPtr, Color[] value);
  113. [MethodImpl(MethodImplOptions.InternalCall)]
  114. private static extern Vector2[] Internal_getUV0(IntPtr thisPtr);
  115. [MethodImpl(MethodImplOptions.InternalCall)]
  116. private static extern void Internal_setUV0(IntPtr thisPtr, Vector2[] value);
  117. [MethodImpl(MethodImplOptions.InternalCall)]
  118. private static extern Vector2[] Internal_getUV1(IntPtr thisPtr);
  119. [MethodImpl(MethodImplOptions.InternalCall)]
  120. private static extern void Internal_setUV1(IntPtr thisPtr, Vector2[] value);
  121. [MethodImpl(MethodImplOptions.InternalCall)]
  122. private static extern BoneWeight[] Internal_getBoneWeights(IntPtr thisPtr);
  123. [MethodImpl(MethodImplOptions.InternalCall)]
  124. private static extern void Internal_setBoneWeights(IntPtr thisPtr, BoneWeight[] value);
  125. [MethodImpl(MethodImplOptions.InternalCall)]
  126. private static extern uint[] Internal_getIndices(IntPtr thisPtr);
  127. [MethodImpl(MethodImplOptions.InternalCall)]
  128. private static extern void Internal_setIndices(IntPtr thisPtr, uint[] value);
  129. [MethodImpl(MethodImplOptions.InternalCall)]
  130. private static extern int Internal_getVertexCount(IntPtr thisPtr);
  131. [MethodImpl(MethodImplOptions.InternalCall)]
  132. private static extern int Internal_getIndexCount(IntPtr thisPtr);
  133. }
  134. /** @} */
  135. }