1
0

PDBLoader.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. [page:Loader] &rarr;
  11. <h1>PDB加载器([name])</h1>
  12. <p class="desc">用于加载 `.pdb` 资源的加载器。<br>
  13. [link:http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format) 蛋白质数据库] 文件格式是描述分子三​​维结构的文本文件。
  14. </p>
  15. <h2>导入</h2>
  16. <p>
  17. [name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。
  18. </p>
  19. <code>
  20. import { PDBLoader } from 'three/addons/loaders/PDBLoader.js';
  21. </code>
  22. <h2>代码示例</h2>
  23. <code>
  24. // instantiate a loader
  25. const loader = new PDBLoader();
  26. // load a PDB resource
  27. loader.load(
  28. // resource URL
  29. 'models/pdb/caffeine.pdb',
  30. // called when the resource is loaded
  31. function ( pdb ) {
  32. const geometryAtoms = pdb.geometryAtoms;
  33. const geometryBonds = pdb.geometryBonds;
  34. const json = pdb.json;
  35. console.log( 'This molecule has ' + json.atoms.length + ' atoms' );
  36. },
  37. // called when loading is in progresses
  38. function ( xhr ) {
  39. console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
  40. },
  41. // called when loading has errors
  42. function ( error ) {
  43. console.log( 'An error happened' );
  44. }
  45. );
  46. </code>
  47. <h2>例子</h2>
  48. <p>
  49. [example:webgl_loader_pdb]
  50. </p>
  51. <h2>构造函数</h2>
  52. <h3>[name]( [param:LoadingManager manager] )</h3>
  53. <p>
  54. [page:LoadingManager manager] — 加载器使用的 [page:LoadingManager loadingManager] 。默认值为 [page:LoadingManager
  55. THREE.DefaultLoadingManager]。
  56. </p>
  57. <p>
  58. 创建一个新的 [name]。
  59. </p>
  60. <h2>属性</h2>
  61. <p>有关公共属性,请参阅 [page:Loader] 基类。</p>
  62. <h2>Methods</h2>
  63. <p>有关常用方法,请参阅 [page:Loader] 基类。</p>
  64. <h3>[method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function
  65. onError] )</h3>
  66. <p>
  67. [page:String url] — 包含 `.pdb` 文件路径/URL 的字符串。<br />
  68. [page:Function onLoad] — (可选)加载成功完成后调用的函数。该函数接收具有以下属性的对象。[page:BufferGeometry geometryAtoms]、[page:BufferGeometry
  69. geometryBonds] 和 [page:Object JSON] 结构。<br />
  70. [page:Function onProgress] — (可选)加载过程中调用的函数。参数将是 XMLHttpRequest 实例,其中包含 .[page:Integer total] 和 .[page:Integer
  71. loaded] 字节。如果服务器没有设置 Content-Length,.[page:Integer total] 将为 0。<br />
  72. [page:Function onError] —(可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。<br />
  73. </p>
  74. <p>
  75. 开始从 url 加载并使用解析后的响应内容调用 onLoad。
  76. </p>
  77. <h3>[method:Object parse]( [param:String text] )</h3>
  78. <p>
  79. [page:String text] — 要解析的文本 `pdb` 结构。
  80. </p>
  81. <p>
  82. 解析 `pdb` 文本并返回JSON结构。<br />
  83. </p>
  84. <h2>源代码</h2>
  85. <p>
  86. [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PDBLoader.js examples/jsm/loaders/PDBLoader.js]
  87. </p>
  88. </body>
  89. </html>