VRMLLoader.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. * @author Bart McLeod / http://spaceweb.nl/
  4. */
  5. /**
  6. *
  7. * @param manager
  8. * @param parser VRMLparser based on PEG.js grammar
  9. * @param VrmlParser.Renderer.ThreeJs renderer
  10. * @constructor
  11. */
  12. THREE.VRMLLoader = function (parser, manager) {
  13. this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
  14. this.parser = parser;
  15. };
  16. THREE.VRMLLoader.prototype = {
  17. constructor: THREE.VRMLLoader,
  18. parse: function (data) {
  19. try {
  20. var tree = this.parser.parse(data);
  21. console.log(tree);
  22. return tree;
  23. } catch ( e ) {
  24. console.log('Exception with message ' + e.message);
  25. if ( undefined !== e.location ) {
  26. console.log('Exception at location start: offset: ' + e.location.start.offset + ' line: ' + e.location.start.line + ' column: ' + e.location.start.column);
  27. console.log('Exception at location end: offset: ' + e.location.end.offset + ' line: ' + e.location.end.line + ' column: ' + e.location.end.column);
  28. }
  29. return;
  30. }
  31. },
  32. load: function (url, onLoad, onProgress, onError) {
  33. var scope = this;
  34. var loader = new THREE.XHRLoader(this.manager);
  35. loader.load(url, function (text) {
  36. onLoad(scope.parse(text));
  37. }, onProgress, onError);
  38. },
  39. setCrossOrigin: function (value) {
  40. this.crossOrigin = value;
  41. },
  42. };