<p dir="auto">How would you suggest I extend THREE.BinaryLoader? I'd like to augment it by adding support for morph targets after the current loading code.</p>
<p dir="auto">Would it be possible to add createBinModel() and parseMetaData() to THREE.BinaryLoader (and change the call from  THREE.BinaryLoader.prototype.createBinModel( xhr.response, callback, texturePath, json.materials ); to this.createBinModel( xhr.response, callback, texturePath, json.materials ); ) so we could override them as necessary in a subclass, or maybe add THREE.BrinaryLoader.init_extra_data( data, start )?</p>
<p dir="auto">Thanks!</p>
<p dir="auto"><code class="notranslate">BufferGeometry.fromDirectGeometry</code> will import indices from <code class="notranslate">DirectGeometry</code> if they exist, and <code class="notranslate">BufferGeometry.fromGeometry</code> passes through <code class="notranslate">DirectGeometry.fromGeometry</code> first (as of r72 dev). But the indices get lost in the middle because <code class="notranslate">DirectGeometry.fromGeometry</code> does not create indices from faces in <code class="notranslate">THREE.Geometry</code>.</p>
<p dir="auto">In <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="67631040" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/6377" data-hovercard-type="pull_request" data-hovercard-url="/mrdoob/three.js/pull/6377/hovercard" href="https://github.com/mrdoob/three.js/pull/6377">#6377</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrdoob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrdoob">@mrdoob</a> <a href="https://github.com/mrdoob/three.js/pull/6377#issuecomment-91962875" data-hovercard-type="pull_request" data-hovercard-url="/mrdoob/three.js/pull/6377/hovercard">asked</a>:</p>
<blockquote>
<p dir="auto">Any reason you want indexed buffers out of <code class="notranslate">THREE.Geometry</code>? If it's for performance reasons I would, instead, focus on converting the primitives and loaders to <code class="notranslate">BufferGeometry</code> (or <code class="notranslate">DynamicGeometry</code>).</p>
</blockquote>
<p dir="auto"><code class="notranslate">THREE.Geometry</code> is easier to manipulate, so sometimes it's useful to start there and then convert it to <code class="notranslate">BufferGeometry</code> for rendering.</p>
<p dir="auto">Related to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="60186495" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/6191" data-hovercard-type="issue" data-hovercard-url="/mrdoob/three.js/issues/6191/hovercard" href="https://github.com/mrdoob/three.js/issues/6191">#6191</a></p>