Skip to content

@simversus/yjvis


@simversus/yjvis / cax / ModelData

Class: ModelData ​

Defined in: cax/modelData/modelData.ts:14

模型数据类 存储几何体的数据结构,包括顶点、拓扑结构(点、线、面)、属性(法线、UV、颜色等) 支持多种拓扑结构和属性数据的管理与操作

Extends ​

  • BaseModelData

Constructors ​

Constructor ​

new ModelData(options): ModelData

Defined in: cax/modelData/modelData.ts:113

构造函数

Parameters ​

options ​

初始化选项

attributes? ​

AttributeData[] = ...

其他属性数据

faceData? ​

NumberArray = ...

面索引数据

lineData? ​

NumberArray = ...

线索引数据

normalData? ​

NumberArray = ...

法线数据

positionData? ​

NumberArray = ...

顶点坐标数据

stripData? ​

NumberArray = ...

条带索引数据

uvData? ​

NumberArray = ...

UV 数据

Returns ​

ModelData

Overrides ​

BaseModelData.constructor

Properties ​

attributes ​

readonly attributes: AttributeData[] = []

Defined in: cax/modelData/DataSet.ts:6

Inherited from ​

BaseModelData.attributes


classHierarchy ​

classHierarchy: ClassEnum[]

Defined in: core/baseObject.ts:19

继承链

Inherited from ​

BaseModelData.classHierarchy


color ​

readonly color: AttributeData

Defined in: cax/modelData/modelData.ts:69

顶点颜色属性


faces ​

readonly faces: PrimitiveData

Defined in: cax/modelData/modelData.ts:49

面图元数据 存储多边形(通常是三角形)的拓扑结构


fields ​

fields: Partial<Record<FieldType, AttributeData>> = {}

Defined in: cax/modelData/DataSet.ts:8

Inherited from ​

BaseModelData.fields


label? ​

optional label: string

Defined in: core/baseObject.ts:27

自定义标识

Inherited from ​

BaseModelData.label


lines ​

readonly lines: PrimitiveData

Defined in: cax/modelData/modelData.ts:43

线图元数据 存储线段的拓扑结构


normal ​

readonly normal: AttributeData

Defined in: cax/modelData/modelData.ts:65

顶点法线属性

Overrides ​

BaseModelData.normal


points ​

readonly points: PrimitiveData

Defined in: cax/modelData/modelData.ts:37

点图元数据 存储离散点的拓扑结构


positions ​

readonly positions: DataArray

Defined in: cax/modelData/modelData.ts:31

顶点坐标数据 存储所有顶点的 x, y, z 坐标

Overrides ​

BaseModelData.positions


strips ​

readonly strips: PrimitiveData

Defined in: cax/modelData/modelData.ts:55

三角条带图元数据 存储三角形条带的拓扑结构


userData ​

userData: object = {}

Defined in: core/baseObject.ts:23

用户自定义数据

Inherited from ​

BaseModelData.userData


uuid ​

uuid: string

Defined in: core/baseObject.ts:15

唯一标识符

Inherited from ​

BaseModelData.uuid


uv ​

readonly uv: AttributeData

Defined in: cax/modelData/modelData.ts:67

顶点 UV 属性


fromBoundingBox() ​

static fromBoundingBox: (box) => ModelData

Defined in: cax/modelData/modelData.ts:19

从包围盒创建 ModelData

Parameters ​

box ​

Box

Returns ​

ModelData


fromJSON() ​

static fromJSON: (data, md, haveLineData) => ModelData

Defined in: cax/modelData/modelData.ts:16

从 JSON 数据创建 ModelData

Parameters ​

data ​

JSONModelData

md ​

ModelData = ...

haveLineData ​

boolean = false

Returns ​

ModelData


fromVTKPolyData() ​

static fromVTKPolyData: (polyData) => ModelData

Defined in: cax/modelData/modelData.ts:22

从 VTK PolyData 创建 ModelData

Parameters ​

polyData ​

any

Returns ​

ModelData


merge() ​

static merge: (mdT, md1, md2) => void

Defined in: cax/modelData/modelData.ts:25

合并多个 ModelData

Parameters ​

mdT ​

ModelData

md1 ​

ModelData

md2 ​

ModelData

Returns ​

void

Accessors ​

boundingBox ​

Get Signature ​

get boundingBox(): Box

Defined in: cax/modelData/baseModelData.ts:17

根据this.positions.mtime修改, 重新计算包围盒

Returns ​

Box

Set Signature ​

set boundingBox(box): void

Defined in: cax/modelData/baseModelData.ts:25

Parameters ​
box ​

Box

Returns ​

void

Inherited from ​

BaseModelData.boundingBox


mtime ​

Get Signature ​

get mtime(): number

Defined in: cax/modelData/modelData.ts:84

获取修改时间戳 聚合所有子数据的时间戳,当任何子数据发生变化时,该时间戳也会更新

Returns ​

number

Overrides ​

PixelData.mtime

Methods ​

addAttibutes() ​

addAttibutes(...attrs): void

Defined in: cax/modelData/modelData.ts:299

添加属性数据

Parameters ​

attrs ​

...AttributeData[]

属性数据对象列表

Returns ​

void


addEventListener() ​

addEventListener(type, cb): void

Defined in: core/baseObject.ts:105

添加事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

事件触发时的回调函数

Returns ​

void

Inherited from ​

BaseModelData.addEventListener


applyMatrix4() ​

applyMatrix4(matrix): void

Defined in: cax/modelData/baseModelData.ts:34

对模型数据应用矩阵

Parameters ​

matrix ​

Mat4

Returns ​

void

Inherited from ​

BaseModelData.applyMatrix4


buildCellMap() ​

buildCellMap(): void

Defined in: cax/modelData/modelData.ts:238

构建单元映射表 建立全局单元ID到 (类型, 内部位置) 的映射 用于快速查找单元信息

Returns ​

void


changed() ​

changed(): void

Defined in: core/baseObject.ts:72

标记对象为已修改 更新修改时间戳并触发所有注册的变更回调

Returns ​

void

Inherited from ​

BaseModelData.changed


clear() ​

clear(): void

Defined in: cax/modelData/modelData.ts:316

清空模型数据 清除所有几何体和属性数据

Returns ​

void


computeBoundingBox() ​

computeBoundingBox(): Box

Defined in: cax/modelData/baseModelData.ts:48

计算模型的包围盒的坐标位置, 局部坐标系

Returns ​

Box

Inherited from ​

BaseModelData.computeBoundingBox


computeNormal() ​

computeNormal(cells): Float32Array

Defined in: cax/modelData/modelData.ts:473

计算表面法线 结果不区分正反面

Parameters ​

cells ​

PrimitiveData

图元数据

Returns ​

Float32Array

法线数组


dispatchEvent() ​

dispatchEvent(event): void

Defined in: core/baseObject.ts:126

分发事件 触发所有注册了该事件类型的监听器

Parameters ​

event ​

事件对象,包含 type 和可选的 data

data? ​

any

type ​

string

Returns ​

void

Inherited from ​

BaseModelData.dispatchEvent


dispose() ​

dispose(): void

Defined in: core/baseObject.ts:80

销毁该对象 分发 dispose 事件,通知监听者对象即将被销毁

Returns ​

void

Inherited from ​

BaseModelData.dispose


fromJSON() ​

fromJSON(data_): ModelData

Defined in: cax/modelData/modelData.ts:511

从 JSON 字符串解析模型数据

Parameters ​

data_ ​

string

JSON 字符串

Returns ​

ModelData

this


getAttributeByIndex() ​

getAttributeByIndex(index): AttributeData

Defined in: cax/modelData/modelData.ts:291

根据序号获取属性数据

Parameters ​

index ​

number = 0

属性序号

Returns ​

AttributeData

属性数据对象


getAttributeByNameAndType() ​

getAttributeByNameAndType(name, type): AttributeData

Defined in: cax/modelData/modelData.ts:282

根据名称和类型获取属性数据

Parameters ​

name ​

string

属性名称

type ​

AttributeType

属性类型

Returns ​

AttributeData

属性数据对象


getCellInfo() ​

getCellInfo(cid): object

Defined in: cax/modelData/modelData.ts:224

获取该单元的详细信息 包括单元类型和顶点索引

Parameters ​

cid ​

number

单元ID

Returns ​

object

包含类型和位置ID的对象

positionIds ​

positionIds: number[]

type ​

type: Topology = topology


getCellOffset() ​

getCellOffset(type): number

Defined in: cax/modelData/modelData.ts:495

获取拓扑结构的单元起始偏移量

Parameters ​

type ​

Topology

拓扑类型

Returns ​

number

偏移量


getCellPositionIds() ​

getCellPositionIds(cid): number[]

Defined in: cax/modelData/modelData.ts:193

获取单元的顶点索引

Parameters ​

cid ​

number

单元ID (全局ID)

Returns ​

number[]

顶点索引数组


getPositionsByPids() ​

getPositionsByPids(pids): Number3[]

Defined in: cax/modelData/modelData.ts:333

根据坐标 ID 集合获取坐标值

Parameters ​

pids ​

坐标 ID 数组或集合

number[] | Set<number>

Returns ​

Number3[]

坐标数组 [[x, y, z], ...]


getPrimitiveByTopology() ​

getPrimitiveByTopology(topology): PrimitiveData

Defined in: cax/modelData/modelData.ts:174

根据图元类型获取指定图元数据

Parameters ​

topology ​

Topology

图元拓扑类型 (point, line, face)

Returns ​

PrimitiveData

对应的图元数据对象


is() ​

is(t): boolean

Defined in: core/baseObject.ts:65

检查对象是否属于指定的类类型

Parameters ​

t ​

ClassEnum

类类型枚举值

Returns ​

boolean

如果对象是该类型或继承自该类型,则返回 true

Inherited from ​

BaseModelData.is


merge() ​

merge(md): void

Defined in: cax/modelData/modelData.ts:308

合并另一个模型数据到当前模型

Parameters ​

md ​

ModelData

待合并的模型数据

Returns ​

void


onChanged() ​

onChanged(cb): () => void

Defined in: core/baseObject.ts:90

注册对象变更回调 当对象发生改变(调用 changed 方法)时触发

Parameters ​

cb ​

Function

回调函数

Returns ​

取消注册该回调的函数

(): void

Returns ​

void

Inherited from ​

BaseModelData.onChanged


removeEventListener() ​

removeEventListener(type, cb): void

Defined in: core/baseObject.ts:116

移除事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

要移除的回调函数

Returns ​

void

Inherited from ​

BaseModelData.removeEventListener


setFromActiveCell() ​

setFromActiveCell(cids, md): ModelData

Defined in: cax/modelData/modelData.ts:353

从另一个模型数据的高亮单元中获取数据构建新的模型数据 要求 cids 中的单元类型一致

Parameters ​

cids ​

number[]

单元 ID 列表

md ​

ModelData

Returns ​

ModelData

this


setFromMultiActiveCell() ​

setFromMultiActiveCell(sources): void

Defined in: cax/modelData/modelData.ts:413

从多个模型、多个拾取单元构建模型数据 支持多选不同模型的单元

Parameters ​

sources ​

object[]

数据源列表,每个元素包含 cids 和 md

Returns ​

void

this


setScalar() ​

setScalar(data): void

Defined in: cax/modelData/DataSet.ts:10

Parameters ​

data ​

AttributeData

Returns ​

void

Inherited from ​

BaseModelData.setScalar


toJSON() ​

toJSON(): string

Defined in: cax/modelData/modelData.ts:527

转换为 JSON 字符串

Returns ​

string

JSON 字符串