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

# Class: GpuPreSelector

## Hierarchy

- [`ViewerOperator`](ViewerOperator.md)

  ↳ **`GpuPreSelector`**

## Table of contents

### Constructors

- [constructor](GpuPreSelector.md#constructor)

### Properties

- [\_selectSegment](GpuPreSelector.md#_selectsegment)
- [keyDown](GpuPreSelector.md#keydown)
- [keyPress](GpuPreSelector.md#keypress)
- [keyUp](GpuPreSelector.md#keyup)
- [lButtonDown](GpuPreSelector.md#lbuttondown)
- [lButtonDownAndMove](GpuPreSelector.md#lbuttondownandmove)
- [lButtonUp](GpuPreSelector.md#lbuttonup)
- [mButtonDown](GpuPreSelector.md#mbuttondown)
- [mButtonDownAndMove](GpuPreSelector.md#mbuttondownandmove)
- [mButtonUp](GpuPreSelector.md#mbuttonup)
- [mouseMove](GpuPreSelector.md#mousemove)
- [mouseWheel](GpuPreSelector.md#mousewheel)
- [rButtonDown](GpuPreSelector.md#rbuttondown)
- [rButtonDownAndMove](GpuPreSelector.md#rbuttondownandmove)
- [rButtonUp](GpuPreSelector.md#rbuttonup)
- [selectedInfo](GpuPreSelector.md#selectedinfo)
- [touchCancel](GpuPreSelector.md#touchcancel)
- [touchEnd](GpuPreSelector.md#touchend)
- [touchMove](GpuPreSelector.md#touchmove)
- [touchStart](GpuPreSelector.md#touchstart)
- [typeName](GpuPreSelector.md#typename)
- [windowKeyDown](GpuPreSelector.md#windowkeydown)
- [windowKeyPress](GpuPreSelector.md#windowkeypress)
- [windowKeyUp](GpuPreSelector.md#windowkeyup)

### Accessors

- [edgeSelection](GpuPreSelector.md#edgeselection)
- [enable](GpuPreSelector.md#enable)
- [faceSelection](GpuPreSelector.md#faceselection)
- [isEdgeSelected](GpuPreSelector.md#isedgeselected)
- [isFaceSelected](GpuPreSelector.md#isfaceselected)
- [isVertexSelected](GpuPreSelector.md#isvertexselected)
- [persistent](GpuPreSelector.md#persistent)
- [selectedNormal](GpuPreSelector.md#selectednormal)
- [selectedOriginPosition](GpuPreSelector.md#selectedoriginposition)
- [selectedPosition](GpuPreSelector.md#selectedposition)
- [selectedTriangle](GpuPreSelector.md#selectedtriangle)
- [vertexSelection](GpuPreSelector.md#vertexselection)
- [viewer](GpuPreSelector.md#viewer)

### Methods

- [fina](GpuPreSelector.md#fina)
- [init](GpuPreSelector.md#init)
- [isBorderEdge](GpuPreSelector.md#isborderedge)
- [onKeyDown](GpuPreSelector.md#onkeydown)
- [onKeyPress](GpuPreSelector.md#onkeypress)
- [onKeyUp](GpuPreSelector.md#onkeyup)
- [onLButtonDown](GpuPreSelector.md#onlbuttondown)
- [onLButtonDownAndMove](GpuPreSelector.md#onlbuttondownandmove)
- [onLButtonUp](GpuPreSelector.md#onlbuttonup)
- [onMButtonDown](GpuPreSelector.md#onmbuttondown)
- [onMButtonDownAndMove](GpuPreSelector.md#onmbuttondownandmove)
- [onMButtonUp](GpuPreSelector.md#onmbuttonup)
- [onMouseMove](GpuPreSelector.md#onmousemove)
- [onMouseWheel](GpuPreSelector.md#onmousewheel)
- [onRButtonDown](GpuPreSelector.md#onrbuttondown)
- [onRButtonDownAndMove](GpuPreSelector.md#onrbuttondownandmove)
- [onRButtonUp](GpuPreSelector.md#onrbuttonup)
- [onTouchCancel](GpuPreSelector.md#ontouchcancel)
- [onTouchEnd](GpuPreSelector.md#ontouchend)
- [onTouchMove](GpuPreSelector.md#ontouchmove)
- [onTouchStart](GpuPreSelector.md#ontouchstart)
- [onWindowKeyDown](GpuPreSelector.md#onwindowkeydown)
- [onWindowKeyPress](GpuPreSelector.md#onwindowkeypress)
- [onWindowKeyUp](GpuPreSelector.md#onwindowkeyup)

## Constructors

### constructor

• **new GpuPreSelector**(): [`GpuPreSelector`](GpuPreSelector.md)

#### Returns

[`GpuPreSelector`](GpuPreSelector.md)

#### Overrides

[ViewerOperator](ViewerOperator.md).[constructor](ViewerOperator.md#constructor)

## Properties

### \_selectSegment

• **\_selectSegment**: [`Segment`](Segment.md)

___

### keyDown

• **keyDown**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[keyDown](ViewerOperator.md#keydown)

___

### keyPress

• **keyPress**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[keyPress](ViewerOperator.md#keypress)

___

### keyUp

• **keyUp**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[keyUp](ViewerOperator.md#keyup)

___

### lButtonDown

• **lButtonDown**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[lButtonDown](ViewerOperator.md#lbuttondown)

___

### lButtonDownAndMove

• **lButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[lButtonDownAndMove](ViewerOperator.md#lbuttondownandmove)

___

### lButtonUp

• **lButtonUp**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[lButtonUp](ViewerOperator.md#lbuttonup)

___

### mButtonDown

• **mButtonDown**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[mButtonDown](ViewerOperator.md#mbuttondown)

___

### mButtonDownAndMove

• **mButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[mButtonDownAndMove](ViewerOperator.md#mbuttondownandmove)

___

### mButtonUp

• **mButtonUp**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[mButtonUp](ViewerOperator.md#mbuttonup)

___

### mouseMove

• **mouseMove**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[mouseMove](ViewerOperator.md#mousemove)

___

### mouseWheel

• **mouseWheel**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[mouseWheel](ViewerOperator.md#mousewheel)

___

### rButtonDown

• **rButtonDown**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[rButtonDown](ViewerOperator.md#rbuttondown)

___

### rButtonDownAndMove

• **rButtonDownAndMove**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[rButtonDownAndMove](ViewerOperator.md#rbuttondownandmove)

___

### rButtonUp

• **rButtonUp**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[rButtonUp](ViewerOperator.md#rbuttonup)

___

### selectedInfo

• **selectedInfo**: `Object` = `null`

#### Type declaration

| Name | Type |
| :------ | :------ |
| `info` | `Int32Array` |
| `meshComponent` | [`MeshComponent`](MeshComponent.md) |

___

### touchCancel

• **touchCancel**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[touchCancel](ViewerOperator.md#touchcancel)

___

### touchEnd

• **touchEnd**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[touchEnd](ViewerOperator.md#touchend)

___

### touchMove

• **touchMove**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[touchMove](ViewerOperator.md#touchmove)

___

### touchStart

• **touchStart**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[touchStart](ViewerOperator.md#touchstart)

___

### typeName

• **typeName**: `string` = `"GpuPreSelector"`

#### Overrides

[ViewerOperator](ViewerOperator.md).[typeName](ViewerOperator.md#typename)

___

### windowKeyDown

• **windowKeyDown**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[windowKeyDown](ViewerOperator.md#windowkeydown)

___

### windowKeyPress

• **windowKeyPress**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[windowKeyPress](ViewerOperator.md#windowkeypress)

___

### windowKeyUp

• **windowKeyUp**: [`List`](List.md)\<(`sender`: [`ViewerOperator`](ViewerOperator.md), `event`: [`ViewerEvent`](ViewerEvent.md)) => `void`\>

#### Inherited from

[ViewerOperator](ViewerOperator.md).[windowKeyUp](ViewerOperator.md#windowkeyup)

## Accessors

### edgeSelection

• `get` **edgeSelection**(): `boolean`

获取顶点可选性

#### Returns

`boolean`

• `set` **edgeSelection**(`onoff`): `void`

设置边可选性

#### Parameters

| Name | Type |
| :------ | :------ |
| `onoff` | `boolean` |

#### Returns

`void`

___

### enable

• `get` **enable**(): `boolean`

#### Returns

`boolean`

#### Inherited from

ViewerOperator.enable

• `set` **enable**(`enable`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `enable` | `boolean` |

#### Returns

`void`

#### Inherited from

ViewerOperator.enable

___

### faceSelection

• `get` **faceSelection**(): `boolean`

获取面可选性

#### Returns

`boolean`

• `set` **faceSelection**(`onoff`): `void`

设置面可选性

#### Parameters

| Name | Type |
| :------ | :------ |
| `onoff` | `boolean` |

#### Returns

`void`

___

### isEdgeSelected

• `get` **isEdgeSelected**(): `boolean`

#### Returns

`boolean`

___

### isFaceSelected

• `get` **isFaceSelected**(): `boolean`

#### Returns

`boolean`

___

### isVertexSelected

• `get` **isVertexSelected**(): `boolean`

#### Returns

`boolean`

___

### persistent

• `get` **persistent**(): `boolean`

#### Returns

`boolean`

#### Inherited from

ViewerOperator.persistent

• `set` **persistent**(`persistent`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `persistent` | `boolean` |

#### Returns

`void`

#### Inherited from

ViewerOperator.persistent

___

### selectedNormal

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

#### Returns

`Float32Array`

___

### selectedOriginPosition

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

原始的世界坐标

#### Returns

`Float32Array`

___

### selectedPosition

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

转换过的世界坐标

#### Returns

`Float32Array`

___

### selectedTriangle

• `get` **selectedTriangle**(): `Object`

#### Returns

`Object`

| Name | Type |
| :------ | :------ |
| `p1` | `Float32Array` |
| `p2` | `Float32Array` |
| `p3` | `Float32Array` |

___

### vertexSelection

• `get` **vertexSelection**(): `boolean`

获取顶点可选性

#### Returns

`boolean`

• `set` **vertexSelection**(`onoff`): `void`

设置顶点可选性

#### Parameters

| Name | Type |
| :------ | :------ |
| `onoff` | `boolean` |

#### Returns

`void`

___

### viewer

• `get` **viewer**(): [`Viewer`](Viewer.md)

#### Returns

[`Viewer`](Viewer.md)

#### Inherited from

ViewerOperator.viewer

• `set` **viewer**(`viewer`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |

#### Returns

`void`

#### Inherited from

ViewerOperator.viewer

## Methods

### fina

▸ **fina**(): `void`

#### Returns

`void`

#### Overrides

[ViewerOperator](ViewerOperator.md).[fina](ViewerOperator.md#fina)

___

### init

▸ **init**(): `void`

#### Returns

`void`

#### Overrides

[ViewerOperator](ViewerOperator.md).[init](ViewerOperator.md#init)

___

### isBorderEdge

▸ **isBorderEdge**(`indexes`, `l1`, `l2`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `indexes` | `Int32Array` |
| `l1` | `number` |
| `l2` | `number` |

#### Returns

`boolean`

___

### onKeyDown

▸ **onKeyDown**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onKeyDown](ViewerOperator.md#onkeydown)

___

### onKeyPress

▸ **onKeyPress**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onKeyPress](ViewerOperator.md#onkeypress)

___

### onKeyUp

▸ **onKeyUp**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onKeyUp](ViewerOperator.md#onkeyup)

___

### onLButtonDown

▸ **onLButtonDown**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onLButtonDown](ViewerOperator.md#onlbuttondown)

___

### onLButtonDownAndMove

▸ **onLButtonDownAndMove**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onLButtonDownAndMove](ViewerOperator.md#onlbuttondownandmove)

___

### onLButtonUp

▸ **onLButtonUp**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onLButtonUp](ViewerOperator.md#onlbuttonup)

___

### onMButtonDown

▸ **onMButtonDown**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onMButtonDown](ViewerOperator.md#onmbuttondown)

___

### onMButtonDownAndMove

▸ **onMButtonDownAndMove**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onMButtonDownAndMove](ViewerOperator.md#onmbuttondownandmove)

___

### onMButtonUp

▸ **onMButtonUp**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onMButtonUp](ViewerOperator.md#onmbuttonup)

___

### onMouseMove

▸ **onMouseMove**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Overrides

[ViewerOperator](ViewerOperator.md).[onMouseMove](ViewerOperator.md#onmousemove)

___

### onMouseWheel

▸ **onMouseWheel**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onMouseWheel](ViewerOperator.md#onmousewheel)

___

### onRButtonDown

▸ **onRButtonDown**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onRButtonDown](ViewerOperator.md#onrbuttondown)

___

### onRButtonDownAndMove

▸ **onRButtonDownAndMove**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onRButtonDownAndMove](ViewerOperator.md#onrbuttondownandmove)

___

### onRButtonUp

▸ **onRButtonUp**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onRButtonUp](ViewerOperator.md#onrbuttonup)

___

### onTouchCancel

▸ **onTouchCancel**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onTouchCancel](ViewerOperator.md#ontouchcancel)

___

### onTouchEnd

▸ **onTouchEnd**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onTouchEnd](ViewerOperator.md#ontouchend)

___

### onTouchMove

▸ **onTouchMove**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onTouchMove](ViewerOperator.md#ontouchmove)

___

### onTouchStart

▸ **onTouchStart**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onTouchStart](ViewerOperator.md#ontouchstart)

___

### onWindowKeyDown

▸ **onWindowKeyDown**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onWindowKeyDown](ViewerOperator.md#onwindowkeydown)

___

### onWindowKeyPress

▸ **onWindowKeyPress**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onWindowKeyPress](ViewerOperator.md#onwindowkeypress)

___

### onWindowKeyUp

▸ **onWindowKeyUp**(`e`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `e` | [`ViewerEvent`](ViewerEvent.md) |

#### Returns

`void`

#### Inherited from

[ViewerOperator](ViewerOperator.md).[onWindowKeyUp](ViewerOperator.md#onwindowkeyup)
