import { Path } from '../extras/core/Path.js'; import { LatheGeometry } from './LatheGeometry.js'; class CapsuleGeometry extends LatheGeometry { constructor( radius = 1, length = 1, capSegments = 4, radialSegments = 8 ) { const path = new Path(); path.absarc( 0, - length / 2, radius, Math.PI * 1.5, 0 ); path.absarc( 0, length / 2, radius, 0, Math.PI * 0.5 ); super( path.getPoints( capSegments ), radialSegments ); this.type = 'CapsuleGeometry'; this.parameters = { radius: radius, length: length, capSegments: capSegments, radialSegments: radialSegments, }; } static fromJSON( data ) { return new CapsuleGeometry( data.radius, data.length, data.capSegments, data.radialSegments ); } } export { CapsuleGeometry };