134 lines
3.3 KiB
Markdown
134 lines
3.3 KiB
Markdown
---
|
||
outline: [2, 3]
|
||
---
|
||
|
||
# IconManager
|
||
|
||
- 源文件:`packages/sdk/src/manager/IconManager.ts`
|
||
- 文档位置:`packages/docs/api/manager/IconManager.md`
|
||
|
||
## 类:`IconManager`
|
||
|
||
- 作用:图标管理类 - 通过精灵图(Sprite)添加和删除图标
|
||
|
||
### 构造函数
|
||
|
||
#### `new IconManager(scene: THREE.Scene)`
|
||
|
||
- 作用:构造函数
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `scene` | `THREE.Scene` | 是 | Three.js场景实例 |
|
||
|
||
- 出参:`IconManager`
|
||
- 返回说明:返回当前类实例。
|
||
|
||
### 属性
|
||
|
||
| 属性名 | 可见性 | 类型 | 作用 |
|
||
| --- | --- | --- | --- |
|
||
| `scene` | `public` | `THREE.Scene` | 用于保存 `scene` 对应的数据。 |
|
||
| `icons` | `public` | `Map<string, THREE.Sprite>` | 用于保存 `icons` 的映射关系。 |
|
||
| `textureLoader` | `public` | `THREE.TextureLoader` | 用于保存 `textureLoader` 对应的数据。 |
|
||
|
||
### 方法
|
||
|
||
#### `addIcon(iconOrId: Icon | string, textureUrl?: string, position?: THREE.Vector3, size: number = 1): THREE.Sprite<THREE.Object3DEventMap>`
|
||
|
||
- 作用:添加图标
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `iconOrId` | `Icon \| string` | 是 | 图标实例或图标唯一标识 |
|
||
| `textureUrl` | `string` | 否 | 精灵图纹理URL(当第一个参数是ID时使用) |
|
||
| `position` | `THREE.Vector3` | 否 | 图标位置(当第一个参数是ID时使用) |
|
||
| `size` | `number` | 否 | 图标大小(当第一个参数是ID时使用) |
|
||
|
||
- 出参:`THREE.Sprite<THREE.Object3DEventMap>`
|
||
- 返回说明:添加的精灵图实例
|
||
|
||
#### `removeIcon(id: string): boolean`
|
||
|
||
- 作用:删除图标
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `id` | `string` | 是 | 图标唯一标识 |
|
||
|
||
- 出参:`boolean`
|
||
- 返回说明:是否删除成功
|
||
|
||
#### `getIcon(id: string): THREE.Sprite<THREE.Object3DEventMap> | undefined`
|
||
|
||
- 作用:获取图标
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `id` | `string` | 是 | 图标唯一标识 |
|
||
|
||
- 出参:`THREE.Sprite<THREE.Object3DEventMap> \| undefined`
|
||
- 返回说明:精灵图实例或undefined
|
||
|
||
#### `getAllIcons(): Map<string, THREE.Sprite<THREE.Object3DEventMap>>`
|
||
|
||
- 作用:获取所有图标
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`Map<string, THREE.Sprite<THREE.Object3DEventMap>>`
|
||
- 返回说明:图标ID和精灵图实例的映射
|
||
|
||
#### `updateIconPosition(id: string, position: THREE.Vector3): boolean`
|
||
|
||
- 作用:更新图标位置
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `id` | `string` | 是 | 图标唯一标识 |
|
||
| `position` | `THREE.Vector3` | 是 | 新位置 |
|
||
|
||
- 出参:`boolean`
|
||
- 返回说明:是否更新成功
|
||
|
||
#### `updateIconSize(id: string, size: number): boolean`
|
||
|
||
- 作用:更新图标大小
|
||
|
||
- 入参:
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `id` | `string` | 是 | 图标唯一标识 |
|
||
| `size` | `number` | 是 | 新大小 |
|
||
|
||
- 出参:`boolean`
|
||
- 返回说明:是否更新成功
|
||
|
||
#### `clearAllIcons(): void`
|
||
|
||
- 作用:清除所有图标
|
||
|
||
- 入参:无
|
||
|
||
- 出参:`void`
|
||
- 返回说明:无返回值。
|
||
|
||
## 构造示例
|
||
|
||
- 当前 Demo 中没有直接展示 `IconManager` 的构造调用。
|
||
|
||
## 函数示例
|
||
|
||
- 当前 Demo 中没有直接展示 `IconManager` 的公开方法调用。
|