<p dir="auto">Right now you cannot clone a THREE.Line when it's geometry attribute is a type of THREE.Geometry.</p>
<p dir="auto">This is because the clone method calls the constructor without parameters so that the new line's geometry attribute will be constructed as a THREE.BufferGeometry by default. Then the copy method tries to copy a THREE.Geometry object into a THREE.BufferGeometry, which doesn't work.</p>
<p dir="auto">So shouldn't the clone method look like the one in THREE.Mesh ? meaning:</p>
<p dir="auto">`clone: function () {</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" return new this.constructor(this.geometry, this.material).copy( this );"><pre class="notranslate"><code class="notranslate"> return new this.constructor(this.geometry, this.material).copy( this );
</code></pre></div>
<p dir="auto">}`</p>
<p dir="auto"><a href="https://jsfiddle.net/8no92gha/" rel="nofollow">This</a> fiddle shows the error:</p>
<p dir="auto">I don't know but maybe this kind of problem could exist at other places too.</p>
<h5 dir="auto">Three.js version</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Dev</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> r99</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> ...</li>
</ul>
<h5 dir="auto">Browser</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Chrome</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Firefox</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Internet Explorer</li>
</ul>
<h5 dir="auto">OS</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Windows</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> macOS</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Linux</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Android</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> iOS</li>
</ul>
<h5 dir="auto">Hardware Requirements (graphics card, VR Device, ...)</h5>
<p dir="auto">ref: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="370403507" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/15062" data-hovercard-type="pull_request" data-hovercard-url="/mrdoob/three.js/pull/15062/hovercard" href="https://github.com/mrdoob/three.js/pull/15062">#15062</a></p>
<p dir="auto">If you are constructing a line, use Geometry<br>
Then line.clone() will cause an error.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="let l = new Line(new Geometry());
l.clone();"><pre class="notranslate"><code class="notranslate">let l = new Line(new Geometry());
l.clone();
</code></pre></div>