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

# Class: ParametricGeometry

## Hierarchy

- `Surface`

  ↳ **`ParametricGeometry`**

## Table of contents

### Constructors

- [constructor](ParametricGeometry.md#constructor)

### Properties

- [relatedPositiveGeo](ParametricGeometry.md#relatedpositivegeo)

### Accessors

- [area](ParametricGeometry.md#area)
- [color](ParametricGeometry.md#color)
- [indexInverse](ParametricGeometry.md#indexinverse)
- [isJointInBoolean](ParametricGeometry.md#isjointinboolean)
- [key](ParametricGeometry.md#key)
- [keyType](ParametricGeometry.md#keytype)
- [normals](ParametricGeometry.md#normals)
- [owner](ParametricGeometry.md#owner)
- [params](ParametricGeometry.md#params)
- [property](ParametricGeometry.md#property)
- [shellSize](ParametricGeometry.md#shellsize)
- [texCoords](ParametricGeometry.md#texcoords)
- [type](ParametricGeometry.md#type)
- [typeName](ParametricGeometry.md#typename)
- [volume](ParametricGeometry.md#volume)

### Methods

- [ComputeTessellateData](ParametricGeometry.md#computetessellatedata)
- [applyMirriorMatrix](ParametricGeometry.md#applymirriormatrix)
- [computeContourProjection](ParametricGeometry.md#computecontourprojection)
- [delete](ParametricGeometry.md#delete)
- [distanceTo](ParametricGeometry.md#distanceto)
- [editIsJointBoolean](ParametricGeometry.md#editisjointboolean)
- [editNegativeParams](ParametricGeometry.md#editnegativeparams)
- [equals](ParametricGeometry.md#equals)
- [insertNegativeEntities](ParametricGeometry.md#insertnegativeentities)
- [insertNegativeEntity](ParametricGeometry.md#insertnegativeentity)
- [moveTo](ParametricGeometry.md#moveto)
- [checkParametericParamLegal](ParametricGeometry.md#checkparametericparamlegal)
- [fromKey](ParametricGeometry.md#fromkey)

## Constructors

### constructor

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

#### Parameters

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

#### Returns

[`ParametricGeometry`](ParametricGeometry.md)

#### Overrides

Surface.constructor

## Properties

### relatedPositiveGeo

• **relatedPositiveGeo**: [`ParametricGeometry`](ParametricGeometry.md) = `null`

## Accessors

### area

• `get` **area**(): `any`

#### Returns

`any`

#### Inherited from

Surface.area

___

### color

• `get` **color**(): `GeometryColor`

#### Returns

`GeometryColor`

#### Inherited from

Surface.color

___

### indexInverse

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

#### Returns

`boolean`

• `set` **indexInverse**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### isJointInBoolean

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

#### Returns

`boolean`

• `set` **isJointInBoolean**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### key

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

#### Returns

`number`

#### Inherited from

Surface.key

___

### keyType

• `get` **keyType**(): `any`

#### Returns

`any`

#### Inherited from

Surface.keyType

___

### normals

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

#### Returns

`Float32Array`

#### Inherited from

Surface.normals

• `set` **normals**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `Float32Array` |

#### Returns

`void`

#### Inherited from

Surface.normals

___

### owner

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

#### Returns

[`Segment`](Segment.md)

#### Inherited from

Surface.owner

___

### params

• `get` **params**(): `Float64Array`

#### Returns

`Float64Array`

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

#### Parameters

| Name | Type |
| :------ | :------ |
| `params` | `Float64Array` |

#### Returns

`void`

___

### property

• `get` **property**(): `GeometryProperty`

#### Returns

`GeometryProperty`

#### Inherited from

Surface.property

___

### shellSize

• `get` **shellSize**(): `any`

#### Returns

`any`

#### Inherited from

Surface.shellSize

___

### texCoords

• `set` **texCoords**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `Float32Array` |

#### Returns

`void`

#### Inherited from

Surface.texCoords

___

### type

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

#### Returns

`string`

___

### typeName

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

#### Returns

`string`

#### Overrides

Surface.typeName

___

### volume

• `get` **volume**(): `any`

#### Returns

`any`

#### Inherited from

Surface.volume

## Methods

### ComputeTessellateData

▸ **ComputeTessellateData**(`image`, `precision?`): `Object`

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `image` | [`Image`](Image.md) | `undefined` |
| `precision` | `number` | `0.2` |

#### Returns

`Object`

| Name | Type |
| :------ | :------ |
| `indexes` | `Int32Array` |
| `normals` | `Float32Array` |
| `positions` | `Float32Array` |
| `texcoords` | `Float32Array` |

#### Inherited from

Surface.ComputeTessellateData

___

### applyMirriorMatrix

▸ **applyMirriorMatrix**(`x`, `y`, `z`): `void`

设置镜像矩阵.

#### Parameters

| Name | Type |
| :------ | :------ |
| `x` | `number` |
| `y` | `number` |
| `z` | `number` |

#### Returns

`void`

___

### computeContourProjection

▸ **computeContourProjection**(`plane_normal`): `Float32Array`

计算三维物体在平面中的轮廓线（未消隐）

#### Parameters

| Name | Type |
| :------ | :------ |
| `plane_normal` | `Float32Array` |

#### Returns

`Float32Array`

二维轮廓线数组

___

### delete

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

#### Returns

`void`

#### Overrides

Surface.delete

___

### distanceTo

▸ **distanceTo**(`geom`, `path1?`, `path2?`): `Float32Array`

#### Parameters

| Name | Type |
| :------ | :------ |
| `geom` | [`Geometry`](Geometry.md) |
| `path1?` | `Int32Array` |
| `path2?` | `Int32Array` |

#### Returns

`Float32Array`

#### Inherited from

Surface.distanceTo

___

### editIsJointBoolean

▸ **editIsJointBoolean**(`isJointInBoolean`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `isJointInBoolean` | `boolean` |

#### Returns

`void`

___

### editNegativeParams

▸ **editNegativeParams**(`params`): `void`

必须是负实体几何.

#### Parameters

| Name | Type |
| :------ | :------ |
| `params` | `Float64Array` |

#### Returns

`void`

___

### equals

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

#### Parameters

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

#### Returns

`boolean`

#### Inherited from

Surface.equals

___

### insertNegativeEntities

▸ **insertNegativeEntities**(`types`, `params`, `counts`): `number`

#### Parameters

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

#### Returns

`number`

___

### insertNegativeEntity

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

#### Parameters

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

#### Returns

[`ParametricGeometry`](ParametricGeometry.md)

___

### moveTo

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

#### Parameters

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

#### Returns

`void`

#### Inherited from

Surface.moveTo

___

### checkParametericParamLegal

▸ **checkParametericParamLegal**(`type`, `params`): `boolean`

#### Parameters

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

#### Returns

`boolean`

___

### fromKey

▸ **fromKey**(`key`): [`Geometry`](Geometry.md)

#### Parameters

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

#### Returns

[`Geometry`](Geometry.md)

#### Inherited from

Surface.fromKey
