📄 threejs/Core/Geometries/ShapeGeometry

File: ShapeGeometry.md | Updated: 11/15/2025


title: ShapeGeometry category: Core layout: docs

ShapeGeometry

Creates an one-sided polygonal geometry from one or more path shapes.

Code Example

const arcShape = new THREE.Shape()
	.moveTo( 5, 1 )
	.absarc( 1, 1, 4, 0, Math.PI * 2, false );
const geometry = new THREE.ShapeGeometry( arcShape );
const material = new THREE.MeshBasicMaterial( { color: 0x00ff00, side: THREE.DoubleSide } );
const mesh = new THREE.Mesh( geometry, material ) ;
scene.add( mesh );

Constructor

new ShapeGeometry( shapes : Shape | Array.<Shape>, curveSegments : number )

Constructs a new shape geometry.

shapes | A shape or an array of shapes.
---|---
curveSegments | Number of segments per shape. Default is 12.

Properties

.parameters : Object

Holds the constructor parameters that have been used to generate the geometry. Any modification after instantiation does not change the geometry.

Static Methods

.fromJSON( data : Object, shapes : Array.<Shape> ) : ShapeGeometry

Factory method for creating an instance of this class from the given JSON object.

data | A JSON object representing the serialized geometry.
---|---
shapes | An array of shapes.

Returns: A new instance.

Source

src/geometries/ShapeGeometry.js