RendererMeshData.generated.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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. [NativeWrapper]
  24. public Vector3[] Positions
  25. {
  26. get { return Internal_getPositions(mCachedPtr); }
  27. set { Internal_setPositions(mCachedPtr, value); }
  28. }
  29. /// <summary>An array of all vertex normals. Only valid if the vertex layout contains vertex normals.</summary>
  30. [ShowInInspector]
  31. [NativeWrapper]
  32. public Vector3[] Normals
  33. {
  34. get { return Internal_getNormals(mCachedPtr); }
  35. set { Internal_setNormals(mCachedPtr, value); }
  36. }
  37. /// <summary>An array of all vertex tangents. Only valid if the vertex layout contains vertex tangents.</summary>
  38. [ShowInInspector]
  39. [NativeWrapper]
  40. public Vector4[] Tangents
  41. {
  42. get { return Internal_getTangents(mCachedPtr); }
  43. set { Internal_setTangents(mCachedPtr, value); }
  44. }
  45. /// <summary>An array of all vertex colors. Only valid if the vertex layout contains vertex colors.</summary>
  46. [ShowInInspector]
  47. [NativeWrapper]
  48. public Color[] Colors
  49. {
  50. get { return Internal_getColors(mCachedPtr); }
  51. set { Internal_setColors(mCachedPtr, value); }
  52. }
  53. /// <summary>
  54. /// An array of all vertex texture coordinates in the UV0 channel. Only valid if the vertex layout contains UV0
  55. /// coordinates.
  56. /// </summary>
  57. [ShowInInspector]
  58. [NativeWrapper]
  59. public Vector2[] UV0
  60. {
  61. get { return Internal_getUV0(mCachedPtr); }
  62. set { Internal_setUV0(mCachedPtr, value); }
  63. }
  64. /// <summary>
  65. /// An array of all vertex texture coordinates in the UV1 channel. Only valid if the vertex layout contains UV1
  66. /// coordinates.
  67. /// </summary>
  68. [ShowInInspector]
  69. [NativeWrapper]
  70. public Vector2[] UV1
  71. {
  72. get { return Internal_getUV1(mCachedPtr); }
  73. set { Internal_setUV1(mCachedPtr, value); }
  74. }
  75. /// <summary>An array of all vertex bone weights. Only valid if the vertex layout contains bone weights.</summary>
  76. [ShowInInspector]
  77. [NativeWrapper]
  78. public BoneWeight[] BoneWeights
  79. {
  80. get { return Internal_getBoneWeights(mCachedPtr); }
  81. set { Internal_setBoneWeights(mCachedPtr, value); }
  82. }
  83. /// <summary>An array of all indices.</summary>
  84. [ShowInInspector]
  85. [NativeWrapper]
  86. public uint[] Indices
  87. {
  88. get { return Internal_getIndices(mCachedPtr); }
  89. set { Internal_setIndices(mCachedPtr, value); }
  90. }
  91. /// <summary>Returns the number of vertices contained in the mesh.</summary>
  92. [ShowInInspector]
  93. [NativeWrapper]
  94. public int VertexCount
  95. {
  96. get { return Internal_getVertexCount(mCachedPtr); }
  97. }
  98. /// <summary>Returns the number of indices contained in the mesh.</summary>
  99. [ShowInInspector]
  100. [NativeWrapper]
  101. public int IndexCount
  102. {
  103. get { return Internal_getIndexCount(mCachedPtr); }
  104. }
  105. [MethodImpl(MethodImplOptions.InternalCall)]
  106. private static extern void Internal_create(MeshData managedInstance, uint numVertices, uint numIndices, VertexLayout layout, IndexType indexType);
  107. [MethodImpl(MethodImplOptions.InternalCall)]
  108. private static extern Vector3[] Internal_getPositions(IntPtr thisPtr);
  109. [MethodImpl(MethodImplOptions.InternalCall)]
  110. private static extern void Internal_setPositions(IntPtr thisPtr, Vector3[] value);
  111. [MethodImpl(MethodImplOptions.InternalCall)]
  112. private static extern Vector3[] Internal_getNormals(IntPtr thisPtr);
  113. [MethodImpl(MethodImplOptions.InternalCall)]
  114. private static extern void Internal_setNormals(IntPtr thisPtr, Vector3[] value);
  115. [MethodImpl(MethodImplOptions.InternalCall)]
  116. private static extern Vector4[] Internal_getTangents(IntPtr thisPtr);
  117. [MethodImpl(MethodImplOptions.InternalCall)]
  118. private static extern void Internal_setTangents(IntPtr thisPtr, Vector4[] value);
  119. [MethodImpl(MethodImplOptions.InternalCall)]
  120. private static extern Color[] Internal_getColors(IntPtr thisPtr);
  121. [MethodImpl(MethodImplOptions.InternalCall)]
  122. private static extern void Internal_setColors(IntPtr thisPtr, Color[] value);
  123. [MethodImpl(MethodImplOptions.InternalCall)]
  124. private static extern Vector2[] Internal_getUV0(IntPtr thisPtr);
  125. [MethodImpl(MethodImplOptions.InternalCall)]
  126. private static extern void Internal_setUV0(IntPtr thisPtr, Vector2[] value);
  127. [MethodImpl(MethodImplOptions.InternalCall)]
  128. private static extern Vector2[] Internal_getUV1(IntPtr thisPtr);
  129. [MethodImpl(MethodImplOptions.InternalCall)]
  130. private static extern void Internal_setUV1(IntPtr thisPtr, Vector2[] value);
  131. [MethodImpl(MethodImplOptions.InternalCall)]
  132. private static extern BoneWeight[] Internal_getBoneWeights(IntPtr thisPtr);
  133. [MethodImpl(MethodImplOptions.InternalCall)]
  134. private static extern void Internal_setBoneWeights(IntPtr thisPtr, BoneWeight[] value);
  135. [MethodImpl(MethodImplOptions.InternalCall)]
  136. private static extern uint[] Internal_getIndices(IntPtr thisPtr);
  137. [MethodImpl(MethodImplOptions.InternalCall)]
  138. private static extern void Internal_setIndices(IntPtr thisPtr, uint[] value);
  139. [MethodImpl(MethodImplOptions.InternalCall)]
  140. private static extern int Internal_getVertexCount(IntPtr thisPtr);
  141. [MethodImpl(MethodImplOptions.InternalCall)]
  142. private static extern int Internal_getIndexCount(IntPtr thisPtr);
  143. }
  144. /** @} */
  145. }