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 字符串