babylon.mesh.d.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /// <reference path="../babylon.d.ts" />
  2. declare module BABYLON {
  3. interface MeshRayHitTest { hit: bool; distance: number };
  4. class Mesh {
  5. name: string;
  6. id: string;
  7. private _scene: Scene;
  8. private _vertexDeclaration: number[];
  9. private _vertexStrideSize: number;
  10. private _totalVertices: number;
  11. private _worldMatrix: Matrix;
  12. position: Vector3;
  13. rotation: Vector3;
  14. scaling: Vector3;
  15. subMeshes: SubMesh[];
  16. animations: Animation[];
  17. constructor(name: string, vertexDeclaration: number[], scene: Scene);
  18. static BILLBOARDMODE_NONE: number;
  19. static BILLBOARDMODE_X: number;
  20. static BILLBOARDMODE_Y: number;
  21. static BILLBOARDMODE_Z: number;
  22. static BILLBOARDMODE_ALL: number;
  23. material: Material;
  24. parent: Mesh;
  25. _isEnabled: bool;
  26. isVisible: bool;
  27. visibility: number;
  28. billboardMode: number;
  29. checkCollisions: bool;
  30. onDispose: () => void;
  31. getScene(): Scene;
  32. getWorldMatrix: Matrix;
  33. getTotalVertices: number;
  34. getVertices: VertexBuffer;
  35. getVertexStride(): number;
  36. getFloatVertexStrideSize(): number;
  37. _needToSynchronizeChildren(): bool;
  38. isSynchronized(): bool;
  39. isEnabled(): bool;
  40. setEnabled(value: bool): void;
  41. isAnimated(): bool;
  42. computeWorldMatrix(): Matrix;
  43. _createGlobalSubMesh(): SubMesh;
  44. setVertices(vertices: VertexBuffer, uvCount: number): void;
  45. setIndices(indices: number[]): void;
  46. render(subMesh: SubMesh): void;
  47. isDescendantOf(ancestor: Mesh): bool;
  48. getDescendants(): Mesh[];
  49. getEmittedParticleSystems(): ParticleSystem[];
  50. getHierarchyEmittedParticleSystems(): ParticleSystem[];
  51. getChildren(): Mesh[];
  52. isInFrustrum(frustumPlanes: Plane[]): bool;
  53. setMaterialByID(id: string);
  54. getAnimatables(): Material;
  55. intersectsMesh(mesh: Mesh, precise: bool): bool;
  56. intersectsPoint(point: Vector3): bool;
  57. intersects(ray: Ray): MeshRayHitTest;
  58. clone(name: string, newParent: Mesh): Mesh;
  59. dispose(): void;
  60. static createBox(name: string, size: number, scene: Scene): Mesh;
  61. static createSphere(name: string, segments: number, diameter: number, scene: Scene): Mesh;
  62. static createPlane(name: string, size: number, scene: Scene): Mesh;
  63. }
  64. class SubMesh {
  65. materialIndex: number;
  66. verticesStart: number;
  67. verticesCount: number;
  68. indexStart: number;
  69. indexCount: number;
  70. constructor(materialIndex: number, verticesStart: number, verticesCount: number, indexStart: number, indexCount: number, mesh: Mesh);
  71. getMaterial(): Material;
  72. updateBoundingInfo(world: Matrix, scale: Vector3): void;
  73. isInFrustrum(frustumPlanes: Plane[]): bool;
  74. render(): void;
  75. getLinesIndexBuffer(indices: number[], engine: Engine): IndexBuffer;
  76. canIntersects(ray: Ray): bool;
  77. intersects(ray: Ray, positions: Vector3[], indices: number[]): MeshRayHitTest;
  78. clone(newMesh: Mesh): SubMesh;
  79. }
  80. }