跳到主要内容

Miaoworker

Ploy3D • Docs


Ploy3D / Miaoworker

Class: Miaoworker

事务处理器。

Constructors​

new Miaoworker()​

new Miaoworker(_global?): Miaoworker

构造函数。

Parameters​

• _global?: any

Returns​

Miaoworker

Properties​

baseURI​

baseURI: string

根路径。


dazServ​

dazServ: string

DAZ资源服务地址。


env​

env: SharedENV

共享数据环境。


gltfCache​

gltfCache: Record<string, object>

GLTF导入缓存(避免运行期内重复导入)。


importer​

importer: Importer

资源导入器接口。


internal​

internal: Internal

内核接口。


kernel​

kernel: Kernel

内核管理器。


kernelCode​

kernelCode: ArrayBuffer

内核代码。


startTS​

startTS: number

事务处理器启动时间戳。


uid​

uid: number

用户ID(请登陆并设置真实用户ID,用户仅能上传使用真实用户ID标识的资源,模拟用户ID可能会导致资源UUID冲突)。


webgl​

webgl: boolean

是否使用的是WebGL图形API

Methods​

Decode_dem()​

Decode_dem(worker, url): Promise<Uint8Array>

加载并解码DEM数据。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• url: string

数据URL。

Returns​

Promise<Uint8Array>

异步对象。


Earcut()​

Earcut(vertices, holeIndices?, dim?): number[]

多边形三角化。

Parameters​

• vertices: number[]

顶点坐标数组。

• holeIndices?: number[]

孔洞顶点索引数组。

• dim?: number

图形维度(2/3)。

Returns​

number[]

返回三角形索引数组。


EncodeTexture()​

EncodeTexture(data_, has_alpha): Promise<object>

压缩贴图数据。

Parameters​

• data_: ArrayBuffer

原始贴图数据。

• has_alpha: boolean

数据是否包含不透明度。

Returns​

Promise<object>

返回压缩结果。

data​

data: ArrayBuffer

has_alpha​

has_alpha: boolean


Fetch()​

Fetch<T>(input, init, type): Promise<T>

网络请求方法。

Type Parameters​

• T

Parameters​

• input: string

请求路径(请保证路径的正确性)。

• init: RequestInit

请求参数。

• type: "formData" | "text" | "blob" | "json" | "arrayBuffer"

请求数据类型。

Returns​

Promise<T>

返回指定类型数据。


Import_daz()​

Import_daz(worker, url, progress): Promise<object>

导入DAZ文件,返回资源包UUID。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• url: string

DAZ文件路径。

• progress

Returns​

Promise<object>

异步对象

main​

main: string

pkgs​

pkgs: object[]


Import_gltf()​

Import_gltf(worker, url, progress): Promise<object>

导入GLTF文件,返回资源包内容。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• url: string

GLTF文件路径。

• progress

Returns​

Promise<object>

异步对象

files​

files: Record<string, any>

pkg​

pkg: PackageReg


Import_gltf_file()​

Import_gltf_file(worker, file, progress): Promise<PackageReg>

导入GLTF文件,返回资源包内容。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• file: File

GLTF文件描述。

• progress

Returns​

Promise<PackageReg>

异步对象。


Import_vtile_bd()​

Import_vtile_bd(worker, param, progress): Promise<object>

装载百度地图矢量瓦片,返回网格数据。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• param

瓦片参数。

• param.col: number

• param.level: number

• param.row: number

• progress

Returns​

Promise<object>

异步对象。

groups​

groups: object[]

normals​

normals: number[]

uvs​

uvs: number[]

vertices​

vertices: number[]


Load_3mxb_resource()​

Load_3mxb_resource(worker, group, progress): Promise<object>

加载3MX场景分组资源实例。

Parameters​

• worker: number

派遣线程索引,0为主线程。

• group

• group._ab?: ArrayBuffer

资源数据缓存。

• group._ab_offset: number

资源数据缓存偏移。

• group._file: string

3MXB文件名。

• group._path: string

3MXB文件文件夹路径。

• group.resources: object[]

资源列表。

• progress

Returns​

Promise<object>

异步对象

_ab?​

optional _ab: ArrayBuffer

_ab_offset​

_ab_offset: number

_file​

_file: string

_path​

_path: string

resources​

resources: object[]


Pako_inflate()​

Pako_inflate(buffer): Uint8Array

GZIP数据解压。

Parameters​

• buffer: ArrayBuffer

压缩数据。

Returns​

Uint8Array

返回解压后数据。


Shutdown()​

Shutdown(): Promise<object>

事务处理器关闭方法。

Returns​

Promise<object>

异步对象

child​

child: any

recvTick​

recvTick: number

sendTick​

sendTick: number

slot​

slot: number

slots​

slots: number


Startup()​

Startup(args?): Promise<Miaoworker>

事务处理器启动方法。

Parameters​

• args?

• args.baseURI?: string

根路径。

• args.dazServ?: string

DAZ资源服务地址。

• args.kernelCode?: ArrayBuffer

内核代码。

• args.uid?: number

用户ID(请登陆并设置真实用户ID,用户仅能上传使用真实用户ID标识的资源,模拟用户ID可能会导致资源UUID冲突)。

• args.webgl?: boolean

是否使用的是WebGL图形API

Returns​

Promise<Miaoworker>

异步对象


Track()​

Track(msg, ctrl?): void

事务处理器日志打印方法。

Parameters​

• msg: string

日志信息。

• ctrl?: number

打印模式(0:log,1:info,2:warn,>2:error)。

Returns​

void