[gs-longan](../README.md) / Segment

# Class: Segment

## Implements

- [`IKey`](../interfaces/IKey.md)

## Table of contents

### Constructors

- [constructor](Segment.md#constructor)

### Accessors

- [attributes](Segment.md#attributes)
- [boundingbox](Segment.md#boundingbox)
- [camera](Segment.md#camera)
- [color](Segment.md#color)
- [condition](Segment.md#condition)
- [diagnosis](Segment.md#diagnosis)
- [driverOptions](Segment.md#driveroptions)
- [geometries](Segment.md#geometries)
- [heuristicOptions](Segment.md#heuristicoptions)
- [includes](Segment.md#includes)
- [key](Segment.md#key)
- [modellingMatrix](Segment.md#modellingmatrix)
- [name](Segment.md#name)
- [owner](Segment.md#owner)
- [path](Segment.md#path)
- [property](Segment.md#property)
- [renderingOptions](Segment.md#renderingoptions)
- [selectability](Segment.md#selectability)
- [shader](Segment.md#shader)
- [styles](Segment.md#styles)
- [subsegments](Segment.md#subsegments)
- [text](Segment.md#text)
- [viewPort](Segment.md#viewport)
- [visibility](Segment.md#visibility)

### Methods

- [addSubSegment](Segment.md#addsubsegment)
- [addSubSegmentWithIndex](Segment.md#addsubsegmentwithindex)
- [clearAll](Segment.md#clearall)
- [clearAttributes](Segment.md#clearattributes)
- [clearBoundingBox](Segment.md#clearboundingbox)
- [clearGeometries](Segment.md#cleargeometries)
- [clearIncludes](Segment.md#clearincludes)
- [clearStyles](Segment.md#clearstyles)
- [clearSubsegments](Segment.md#clearsubsegments)
- [computeArea](Segment.md#computearea)
- [computeBoundingBox](Segment.md#computeboundingbox)
- [computeVolume](Segment.md#computevolume)
- [copyTo](Segment.md#copyto)
- [delete](Segment.md#delete)
- [editEllipse](Segment.md#editellipse)
- [editLine](Segment.md#editline)
- [editPolyline](Segment.md#editpolyline)
- [equals](Segment.md#equals)
- [extrudeByShell](Segment.md#extrudebyshell)
- [findGeometries](Segment.md#findgeometries)
- [findGeometry](Segment.md#findgeometry)
- [forEach](Segment.md#foreach)
- [fromStream](Segment.md#fromstream)
- [fromStreamWithCompression](Segment.md#fromstreamwithcompression)
- [include](Segment.md#include)
- [insertCircle](Segment.md#insertcircle)
- [insertCircleArc](Segment.md#insertcirclearc)
- [insertCube](Segment.md#insertcube)
- [insertCuboid](Segment.md#insertcuboid)
- [insertCuttingPlanes](Segment.md#insertcuttingplanes)
- [insertCylinder](Segment.md#insertcylinder)
- [insertEllipse](Segment.md#insertellipse)
- [insertEllipseArc](Segment.md#insertellipsearc)
- [insertImage](Segment.md#insertimage)
- [insertLine](Segment.md#insertline)
- [insertLocalImage](Segment.md#insertlocalimage)
- [insertMarker](Segment.md#insertmarker)
- [insertMesh](Segment.md#insertmesh)
- [insertParametricGeometry](Segment.md#insertparametricgeometry)
- [insertPointCloud](Segment.md#insertpointcloud)
- [insertPolyCylinder](Segment.md#insertpolycylinder)
- [insertPolyline](Segment.md#insertpolyline)
- [insertShell](Segment.md#insertshell)
- [insertSphere](Segment.md#insertsphere)
- [insertStripe](Segment.md#insertstripe)
- [insertTriangularShell](Segment.md#inserttriangularshell)
- [insertVectorText](Segment.md#insertvectortext)
- [insertVerticalStripe](Segment.md#insertverticalstripe)
- [isSolidGeometry](Segment.md#issolidgeometry)
- [moveTo](Segment.md#moveto)
- [removeSegment](Segment.md#removesegment)
- [rename](Segment.md#rename)
- [rotateByShell](Segment.md#rotatebyshell)
- [setIndex](Segment.md#setindex)
- [style](Segment.md#style)
- [subsegment](Segment.md#subsegment)
- [subsegmentExists](Segment.md#subsegmentexists)
- [sweepByShell](Segment.md#sweepbyshell)
- [toStream](Segment.md#tostream)
- [toStreamWithCompression](Segment.md#tostreamwithcompression)
- [create](Segment.md#create)
- [fromPath](Segment.md#frompath)
- [imageExists](Segment.md#imageexists)

## Constructors

### constructor

• **new Segment**(`key`): [`Segment`](Segment.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `key` | `number` |

#### Returns

[`Segment`](Segment.md)

## Accessors

### attributes

• `get` **attributes**(): [`List`](List.md)\<[`ObjectType`](../enums/LonganCore.ObjectType.md)\>

#### Returns

[`List`](List.md)\<[`ObjectType`](../enums/LonganCore.ObjectType.md)\>

___

### boundingbox

• `get` **boundingbox**(): `Float32Array`

#### Returns

`Float32Array`

• `set` **boundingbox**(`bb`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

`void`

___

### camera

• `get` **camera**(): [`Camera`](Camera.md)

#### Returns

[`Camera`](Camera.md)

___

### color

• `get` **color**(): [`Color`](Color.md)

#### Returns

[`Color`](Color.md)

___

### condition

• `get` **condition**(): [`Condition`](Condition.md)

#### Returns

[`Condition`](Condition.md)

___

### diagnosis

• `get` **diagnosis**(): [`Diagnosis`](Diagnosis.md)

#### Returns

[`Diagnosis`](Diagnosis.md)

___

### driverOptions

• `get` **driverOptions**(): [`DriverOptions`](DriverOptions.md)

#### Returns

[`DriverOptions`](DriverOptions.md)

___

### geometries

• `get` **geometries**(): [`List`](List.md)\<[`Geometry`](Geometry.md)\>

#### Returns

[`List`](List.md)\<[`Geometry`](Geometry.md)\>

___

### heuristicOptions

• `get` **heuristicOptions**(): [`HeuristicOptions`](HeuristicOptions.md)

#### Returns

[`HeuristicOptions`](HeuristicOptions.md)

___

### includes

• `get` **includes**(): [`List`](List.md)\<[`Include`](Include.md)\>

#### Returns

[`List`](List.md)\<[`Include`](Include.md)\>

___

### key

• `get` **key**(): `number`

#### Returns

`number`

#### Implementation of

[IKey](../interfaces/IKey.md).[key](../interfaces/IKey.md#key)

___

### modellingMatrix

• `get` **modellingMatrix**(): [`ModellingMatrix`](ModellingMatrix.md)

#### Returns

[`ModellingMatrix`](ModellingMatrix.md)

___

### name

• `get` **name**(): `string`

#### Returns

`string`

___

### owner

• `get` **owner**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### path

• `get` **path**(): `string`

#### Returns

`string`

___

### property

• `get` **property**(): [`Property`](Property.md)

#### Returns

[`Property`](Property.md)

___

### renderingOptions

• `get` **renderingOptions**(): [`RenderingOptions`](RenderingOptions.md)

#### Returns

[`RenderingOptions`](RenderingOptions.md)

___

### selectability

• `get` **selectability**(): [`Selectability`](Selectability.md)

#### Returns

[`Selectability`](Selectability.md)

___

### shader

• `get` **shader**(): `Shader`

#### Returns

`Shader`

___

### styles

• `get` **styles**(): [`List`](List.md)\<[`Style`](Style.md)\>

#### Returns

[`List`](List.md)\<[`Style`](Style.md)\>

___

### subsegments

• `get` **subsegments**(): [`List`](List.md)\<[`Segment`](Segment.md)\>

#### Returns

[`List`](List.md)\<[`Segment`](Segment.md)\>

___

### text

• `get` **text**(): [`Text`](Text.md)

#### Returns

[`Text`](Text.md)

___

### viewPort

• `get` **viewPort**(): [`Viewport`](Viewport.md)

#### Returns

[`Viewport`](Viewport.md)

___

### visibility

• `get` **visibility**(): [`Visibility`](Visibility.md)

#### Returns

[`Visibility`](Visibility.md)

## Methods

### addSubSegment

▸ **addSubSegment**(`segment`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |

#### Returns

`void`

___

### addSubSegmentWithIndex

▸ **addSubSegmentWithIndex**(`segment`, `index`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |
| `index` | `number` |

#### Returns

`void`

___

### clearAll

▸ **clearAll**(): `void`

#### Returns

`void`

___

### clearAttributes

▸ **clearAttributes**(): `void`

#### Returns

`void`

___

### clearBoundingBox

▸ **clearBoundingBox**(): `void`

#### Returns

`void`

___

### clearGeometries

▸ **clearGeometries**(): `void`

#### Returns

`void`

___

### clearIncludes

▸ **clearIncludes**(): `void`

#### Returns

`void`

___

### clearStyles

▸ **clearStyles**(): `void`

#### Returns

`void`

___

### clearSubsegments

▸ **clearSubsegments**(): `void`

#### Returns

`void`

___

### computeArea

▸ **computeArea**(): `any`

#### Returns

`any`

___

### computeBoundingBox

▸ **computeBoundingBox**(): `void`

#### Returns

`void`

___

### computeVolume

▸ **computeVolume**(): `any`

#### Returns

`any`

___

### copyTo

▸ **copyTo**(`seg`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `seg` | [`Segment`](Segment.md) |

#### Returns

`void`

___

### delete

▸ **delete**(): `void`

#### Returns

`void`

#### Implementation of

[IKey](../interfaces/IKey.md).[delete](../interfaces/IKey.md#delete)

___

### editEllipse

▸ **editEllipse**(`key`, `center`, `major`, `minor`): `Ellipse`

编辑椭圆

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `key` | `number` | 线的key |
| `center` | `ArrayLike`\<`number`\> | 中心点 |
| `major` | `ArrayLike`\<`number`\> | 焦点1 |
| `minor` | `ArrayLike`\<`number`\> | 焦点2 |

#### Returns

`Ellipse`

___

### editLine

▸ **editLine**(`key`, `start`, `end?`): [`Line`](Line.md)

编辑线

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `key` | `number` | 线的key |
| `start` | `ArrayLike`\<`number`\> | 起点 |
| `end?` | `ArrayLike`\<`number`\> | 终点 |

#### Returns

[`Line`](Line.md)

___

### editPolyline

▸ **editPolyline**(`key`, `points`): [`Polyline`](Polyline.md)

编辑线

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `key` | `number` | 线的key |
| `points` | `ArrayLike`\<`number`\> | - |

#### Returns

[`Polyline`](Polyline.md)

___

### equals

▸ **equals**(`obj`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `obj` | [`IKey`](../interfaces/IKey.md) |

#### Returns

`boolean`

#### Implementation of

[IKey](../interfaces/IKey.md).[equals](../interfaces/IKey.md#equals)

___

### extrudeByShell

▸ **extrudeByShell**(`points`, `indexes`, `normal`, `options?`, `isDouble?`): [`Shell`](Shell.md)

通过定义多边形进行任意方向拉伸

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | `undefined` | 多边形顶点列表 |
| `indexes` | `ArrayLike`\<`number`\> | `undefined` | 索引列表 |
| `normal` | `ArrayLike`\<`number`\> | `undefined` | 拉伸方向及长度 |
| `options` | `string` | `""` | 选项 |
| `isDouble` | `boolean` | `false` | 是否插入double类型数据 |

#### Returns

[`Shell`](Shell.md)

___

### findGeometries

▸ **findGeometries**\<`T`\>(`type`): [`List`](List.md)\<`T`\>

#### Type parameters

| Name | Type |
| :------ | :------ |
| `T` | extends [`Geometry`](Geometry.md)\<`T`\> |

#### Parameters

| Name | Type |
| :------ | :------ |
| `type` | `string` |

#### Returns

[`List`](List.md)\<`T`\>

___

### findGeometry

▸ **findGeometry**\<`T`\>(`type`): `T`

#### Type parameters

| Name | Type |
| :------ | :------ |
| `T` | extends [`Geometry`](Geometry.md)\<`T`\> |

#### Parameters

| Name | Type |
| :------ | :------ |
| `type` | `string` |

#### Returns

`T`

___

### forEach

▸ **forEach**(`callback`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `callback` | (`segment`: [`Segment`](Segment.md)) => `any` |

#### Returns

`void`

___

### fromStream

▸ **fromStream**(`stream`): [`Segment`](Segment.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `stream` | `any` |

#### Returns

[`Segment`](Segment.md)

___

### fromStreamWithCompression

▸ **fromStreamWithCompression**(`stream`): [`Segment`](Segment.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `stream` | `any` |

#### Returns

[`Segment`](Segment.md)

___

### include

▸ **include**(`segment`, `conditions?`): `number`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |
| `conditions?` | `string` |

#### Returns

`number`

___

### insertCircle

▸ **insertCircle**(`center`, `radius`, `normal`): `Circle`

插入圆

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `center` | `ArrayLike`\<`number`\> | 中心点 |
| `radius` | `number` | 半径 |
| `normal` | `ArrayLike`\<`number`\> | 法向 |

#### Returns

`Circle`

___

### insertCircleArc

▸ **insertCircleArc**(`center`, `radius`, `normal`, `start`, `end`): `CircularArc`

插入圆弧

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `center` | `ArrayLike`\<`number`\> | 中心点 |
| `radius` | `number` | 半径 |
| `normal` | `ArrayLike`\<`number`\> | 法向 |
| `start` | `number` | 起点弧度 |
| `end` | `number` | 终点弧度 |

#### Returns

`CircularArc`

___

### insertCube

▸ **insertCube**(`length`, `origin?`): [`Shell`](Shell.md)

插入立方体

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `length` | `number` | 边长 |
| `origin?` | `ArrayLike`\<`number`\> | 立方体中心点 |

#### Returns

[`Shell`](Shell.md)

几何对象

___

### insertCuboid

▸ **insertCuboid**(`points`, `extrudeVector`, `extrudeLength`): [`Shell`](Shell.md)

插入长方体

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `points` | `Float64Array` | 长方体截面顶点列表 |
| `extrudeVector` | `Float64Array` | 拉伸方向 |
| `extrudeLength` | `number` | 拉伸长度 |

#### Returns

[`Shell`](Shell.md)

几何对象

___

### insertCuttingPlanes

▸ **insertCuttingPlanes**(`planes`): [`CuttingPlanes`](CuttingPlanes.md)

插入剖切面板

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `planes` | `ArrayLike`\<`number`\> | 面板的点数据 |

#### Returns

[`CuttingPlanes`](CuttingPlanes.md)

___

### insertCylinder

▸ **insertCylinder**(`start`, `end`, `radius`, `cap`): `Cylinder`

插入圆柱

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `start` | `ArrayLike`\<`number`\> | 起点 |
| `end` | `ArrayLike`\<`number`\> | 终点 |
| `radius` | `number` | 半径 |
| `cap` | [`CylinderCap`](../enums/CylinderCap.md) | 封面选择 |

#### Returns

`Cylinder`

___

### insertEllipse

▸ **insertEllipse**(`center`, `major`, `minor`): `Ellipse`

插入椭圆

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `center` | `ArrayLike`\<`number`\> | 圆心 |
| `major` | `ArrayLike`\<`number`\> | 长轴 |
| `minor` | `ArrayLike`\<`number`\> | 短轴 |

#### Returns

`Ellipse`

___

### insertEllipseArc

▸ **insertEllipseArc**(`center`, `major`, `minor`, `start`, `end`): `EllipseArc`

插入椭圆弧

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `center` | `ArrayLike`\<`number`\> | 圆心 |
| `major` | `ArrayLike`\<`number`\> | 长轴 |
| `minor` | `ArrayLike`\<`number`\> | 短轴 |
| `start` | `number` | 起点弧度 |
| `end` | `number` | 重点弧度 |

#### Returns

`EllipseArc`

___

### insertImage

▸ **insertImage**(`name`, `width`, `height`, `data`, `format?`, `compressionQuality?`): [`Image`](Image.md)

插入贴图

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `name` | `string` | 贴图名字 |
| `width` | `number` | 宽度 |
| `height` | `number` | 高度 |
| `data` | `ArrayBuffer` | 图片数据 |
| `format?` | [`ImagePixelFormat`](../enums/ImagePixelFormat.md) | 图片像素格式 |
| `compressionQuality?` | `number` | 压缩品质 |

#### Returns

[`Image`](Image.md)

___

### insertLine

▸ **insertLine**(`start`, `end?`): [`Line`](Line.md)

插入线

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `start` | `ArrayLike`\<`number`\> | 起点 |
| `end?` | `ArrayLike`\<`number`\> | 终点 |

#### Returns

[`Line`](Line.md)

___

### insertLocalImage

▸ **insertLocalImage**(`name`, `width`, `height`, `data`, `format?`, `compressionQuality?`): [`Image`](Image.md)

插入本地贴图

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `name` | `string` | 贴图名字 |
| `width` | `number` | 宽度 |
| `height` | `number` | 高度 |
| `data` | `ArrayBuffer` | 图片数据 |
| `format?` | [`ImagePixelFormat`](../enums/ImagePixelFormat.md) | 图片像素格式 |
| `compressionQuality?` | `number` | 压缩品质 |

#### Returns

[`Image`](Image.md)

___

### insertMarker

▸ **insertMarker**(`position`): [`Marker`](Marker.md)

插入点

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `position` | `ArrayLike`\<`number`\> | 点位置 |

#### Returns

[`Marker`](Marker.md)

___

### insertMesh

▸ **insertMesh**(`row`, `col`, `points`): `Mesh`

#### Parameters

| Name | Type |
| :------ | :------ |
| `row` | `number` |
| `col` | `number` |
| `points` | `ArrayLike`\<`number`\> |

#### Returns

`Mesh`

___

### insertParametricGeometry

▸ **insertParametricGeometry**(`type`, `params`): [`ParametricGeometry`](ParametricGeometry.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `type` | `string` |
| `params` | `ArrayLike`\<`number`\> |

#### Returns

[`ParametricGeometry`](ParametricGeometry.md)

___

### insertPointCloud

▸ **insertPointCloud**(`points`): [`Marker`](Marker.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `points` | `ArrayLike`\<`number`\> |

#### Returns

[`Marker`](Marker.md)

___

### insertPolyCylinder

▸ **insertPolyCylinder**(`points`, `radii`, `cap`): [`PolyCylinder`](PolyCylinder.md)

插入多段圆柱

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | 多段圆柱的中心点的列表 |
| `radii` | `ArrayLike`\<`number`\> | 每个中心点所处截面的半径的列表 |
| `cap` | [`CylinderCap`](../enums/CylinderCap.md) | 首尾两个截面的封面 |

#### Returns

[`PolyCylinder`](PolyCylinder.md)

几何对象.

___

### insertPolyline

▸ **insertPolyline**(`points`): [`Polyline`](Polyline.md)

插入多段线

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | 多段线的点数组 |

#### Returns

[`Polyline`](Polyline.md)

___

### insertShell

▸ **insertShell**(`points`, `indexes`): [`Shell`](Shell.md)

插入shell

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | 顶点 |
| `indexes` | `ArrayLike`\<`number`\> | 索引 |

#### Returns

[`Shell`](Shell.md)

几何对象

___

### insertSphere

▸ **insertSphere**(`center`, `radius`, `curveTessNum?`): [`Shell`](Shell.md)

插入球体

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `center` | `Float64Array` | `undefined` | 中心点 |
| `radius` | `number` | `undefined` | 半径 |
| `curveTessNum` | `number` | `20` | 离散精度 |

#### Returns

[`Shell`](Shell.md)

几何对象

___

### insertStripe

▸ **insertStripe**(`points`, `normal`, `width`, `createUv?`, `uvType?`, `scale?`): [`Shell`](Shell.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `points` | `ArrayLike`\<`number`\> |
| `normal` | `ArrayLike`\<`number`\> |
| `width` | `number` |
| `createUv?` | `boolean` |
| `uvType?` | [`UvType`](../enums/UvType.md) |
| `scale?` | `ArrayLike`\<`number`\> |

#### Returns

[`Shell`](Shell.md)

___

### insertTriangularShell

▸ **insertTriangularShell**(`points`, `indexes`): [`TriangularShell`](TriangularShell.md)

插入TriangularShell

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | 顶点 |
| `indexes` | `ArrayLike`\<`number`\> | TriangularShell的索引 |

#### Returns

[`TriangularShell`](TriangularShell.md)

几何对象

___

### insertVectorText

▸ **insertVectorText**(`text`, `position`, `xAxis`, `yAxis`, `fontSize?`, `height?`, `alignment?`, `fontName?`): `VectorText`

插入三维文字

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `text` | `string` | 文字 |
| `position` | `ArrayLike`\<`number`\> | 位置 |
| `xAxis` | `ArrayLike`\<`number`\> | x轴 |
| `yAxis` | `ArrayLike`\<`number`\> | y轴 |
| `fontSize?` | `number` | 文字大小 |
| `height?` | `number` | 高度 |
| `alignment?` | [`TextAlignment`](../enums/LonganCore.TextAlignment.md) | 文字对准方位 |
| `fontName?` | `string` | 字体名字 |

#### Returns

`VectorText`

___

### insertVerticalStripe

▸ **insertVerticalStripe**(`points`, `height`, `createUv?`, `uvType?`, `scale?`): [`Shell`](Shell.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `points` | `ArrayLike`\<`number`\> |
| `height` | `number` |
| `createUv?` | `boolean` |
| `uvType?` | [`UvType`](../enums/UvType.md) |
| `scale?` | `Float64Array` |

#### Returns

[`Shell`](Shell.md)

___

### isSolidGeometry

▸ **isSolidGeometry**(): `boolean`

#### Returns

`boolean`

___

### moveTo

▸ **moveTo**(`segment`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |

#### Returns

`void`

___

### removeSegment

▸ **removeSegment**(`segment`, `recyclingPath?`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |
| `recyclingPath?` | `string` |

#### Returns

`void`

___

### rename

▸ **rename**(`name`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `name` | `string` |

#### Returns

`boolean`

___

### rotateByShell

▸ **rotateByShell**(`points`, `indexes`, `rotateOrigin`, `rotateAxis`, `options?`, `isDouble?`): [`Shell`](Shell.md)

通过定义多边形创建旋转体

#### Parameters

| Name | Type | Default value | Description |
| :------ | :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | `undefined` | 多边形顶点列表 |
| `indexes` | `ArrayLike`\<`number`\> | `undefined` | 多边形索引 |
| `rotateOrigin` | `ArrayLike`\<`number`\> | `undefined` | 旋转轴的起点 |
| `rotateAxis` | `ArrayLike`\<`number`\> | `undefined` | 旋转法向 |
| `options` | `string` | `""` | 选项 |
| `isDouble` | `boolean` | `false` | 是否插入double类型数据 |

#### Returns

[`Shell`](Shell.md)

几何对象

___

### setIndex

▸ **setIndex**(`index`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `index` | `number` |

#### Returns

`void`

___

### style

▸ **style**(`segment`, `conditions?`): `number`

#### Parameters

| Name | Type |
| :------ | :------ |
| `segment` | [`Segment`](Segment.md) |
| `conditions?` | `string` |

#### Returns

`number`

___

### subsegment

▸ **subsegment**(`name`): [`Segment`](Segment.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `name` | `string` |

#### Returns

[`Segment`](Segment.md)

___

### subsegmentExists

▸ **subsegmentExists**(`name`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `name` | `string` |

#### Returns

`boolean`

___

### sweepByShell

▸ **sweepByShell**(`points`, `indexes`, `path`, `options?`, `isDouble?`): [`Shell`](Shell.md)

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `points` | `ArrayLike`\<`number`\> | `undefined` |
| `indexes` | `ArrayLike`\<`number`\> | `undefined` |
| `path` | `ArrayLike`\<`number`\> | `undefined` |
| `options` | `string` | `""` |
| `isDouble` | `boolean` | `false` |

#### Returns

[`Shell`](Shell.md)

___

### toStream

▸ **toStream**(): `ArrayBuffer`

#### Returns

`ArrayBuffer`

___

### toStreamWithCompression

▸ **toStreamWithCompression**(): `ArrayBuffer`

#### Returns

`ArrayBuffer`

___

### create

▸ **create**(): [`Segment`](Segment.md)

#### Returns

[`Segment`](Segment.md)

___

### fromPath

▸ **fromPath**(`path`): [`Segment`](Segment.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `path` | `string` |

#### Returns

[`Segment`](Segment.md)

___

### imageExists

▸ **imageExists**(`name`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `name` | `string` |

#### Returns

`boolean`
