Mesh.tests.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /* global QUnit */
  2. import { Object3D } from '../../../../src/core/Object3D.js';
  3. import { Mesh } from '../../../../src/objects/Mesh.js';
  4. import { Raycaster } from '../../../../src/core/Raycaster.js';
  5. import { PlaneGeometry } from '../../../../src/geometries/PlaneGeometry.js';
  6. import { MeshBasicMaterial } from '../../../../src/materials/MeshBasicMaterial.js';
  7. import { Vector2 } from '../../../../src/math/Vector2.js';
  8. import { Vector3 } from '../../../../src/math/Vector3.js';
  9. export default QUnit.module( 'Objects', () => {
  10. QUnit.module( 'Mesh', () => {
  11. // INHERITANCE
  12. QUnit.test( 'Extending', ( assert ) => {
  13. var mesh = new Mesh();
  14. assert.strictEqual( mesh instanceof Object3D, true, 'Mesh extends from Object3D' );
  15. } );
  16. // INSTANCING
  17. QUnit.todo( 'Instancing', ( assert ) => {
  18. assert.ok( false, 'everything\'s gonna be alright' );
  19. } );
  20. // PUBLIC STUFF
  21. QUnit.todo( 'isMesh', ( assert ) => {
  22. assert.ok( false, 'everything\'s gonna be alright' );
  23. } );
  24. QUnit.todo( 'copy', ( assert ) => {
  25. assert.ok( false, 'everything\'s gonna be alright' );
  26. } );
  27. QUnit.todo( 'updateMorphTargets', ( assert ) => {
  28. assert.ok( false, 'everything\'s gonna be alright' );
  29. } );
  30. QUnit.todo( 'raycast', ( assert ) => {
  31. const geometry = new PlaneGeometry();
  32. const material = new MeshBasicMaterial();
  33. const mesh = new Mesh( geometry, material );
  34. const raycaster = new Raycaster();
  35. raycaster.ray.origin.set( 0.25, 0.25, 1 );
  36. raycaster.ray.direction.set( 0, 0, - 1 );
  37. const intersections = [];
  38. mesh.raycast( raycaster, intersections );
  39. const intersection = intersections[ 0 ];
  40. assert.equal( intersection.object, mesh, 'intersction object' );
  41. assert.equal( intersection.distance, 1, 'intersction distance' );
  42. assert.equal( intersection.faceIndex, 1, 'intersction face index' );
  43. assert.deepEqual( intersection.face, { a: 0, b: 2, c: 1 }, 'intersction vertex indices' );
  44. assert.deepEqual( intersection.point, new Vector3( 0.25, 0.25, 0 ), 'intersction point' );
  45. assert.deepEqual( intersection.uv, new Vector2( 0.75, 0.75 ), 'intersction uv' );
  46. } );
  47. QUnit.todo( 'clone', ( assert ) => {
  48. assert.ok( false, 'everything\'s gonna be alright' );
  49. } );
  50. } );
  51. } );