跳到主要内容

Miaoworker

Ploy3DDocs


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