RendererMeshData.generated.cs 5.3 KB

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