@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
readonlyattributes: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
readonlycolor:AttributeData
Defined in: cax/modelData/modelData.ts:69
顶点颜色属性
faces
readonlyfaces: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?
optionallabel:string
Defined in: core/baseObject.ts:27
自定义标识
Inherited from
BaseModelData.label
lines
readonlylines:PrimitiveData
Defined in: cax/modelData/modelData.ts:43
线图元数据 存储线段的拓扑结构
normal
readonlynormal:AttributeData
Defined in: cax/modelData/modelData.ts:65
顶点法线属性
Overrides
BaseModelData.normal
points
readonlypoints:PrimitiveData
Defined in: cax/modelData/modelData.ts:37
点图元数据 存储离散点的拓扑结构
positions
readonlypositions:DataArray
Defined in: cax/modelData/modelData.ts:31
顶点坐标数据 存储所有顶点的 x, y, z 坐标
Overrides
BaseModelData.positions
strips
readonlystrips: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
readonlyuv:AttributeData
Defined in: cax/modelData/modelData.ts:67
顶点 UV 属性
fromBoundingBox()
staticfromBoundingBox: (box) =>ModelData
Defined in: cax/modelData/modelData.ts:19
从包围盒创建 ModelData
Parameters
box
Returns
ModelData
fromJSON()
staticfromJSON: (data,md,haveLineData) =>ModelData
Defined in: cax/modelData/modelData.ts:16
从 JSON 数据创建 ModelData
Parameters
data
md
ModelData = ...
haveLineData
boolean = false
Returns
ModelData
fromVTKPolyData()
staticfromVTKPolyData: (polyData) =>ModelData
Defined in: cax/modelData/modelData.ts:22
从 VTK PolyData 创建 ModelData
Parameters
polyData
any
Returns
ModelData
merge()
staticmerge: (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
Set Signature
set boundingBox(
box):void
Defined in: cax/modelData/baseModelData.ts:25
Parameters
box
Returns
void
Inherited from
BaseModelData.boundingBox
mtime
Get Signature
get mtime():
number
Defined in: cax/modelData/modelData.ts:84
获取修改时间戳 聚合所有子数据的时间戳,当任何子数据发生变化时,该时间戳也会更新
Returns
number
Overrides
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
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
Inherited from
BaseModelData.computeBoundingBox
computeNormal()
computeNormal(
cells):Float32Array
Defined in: cax/modelData/modelData.ts:473
计算表面法线 结果不区分正反面
Parameters
cells
图元数据
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
属性数据对象
getAttributeByNameAndType()
getAttributeByNameAndType(
name,type):AttributeData
Defined in: cax/modelData/modelData.ts:282
根据名称和类型获取属性数据
Parameters
name
string
属性名称
type
属性类型
Returns
属性数据对象
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
拓扑类型
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
图元拓扑类型 (point, line, face)
Returns
对应的图元数据对象
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
Returns
void
Inherited from
BaseModelData.setScalar
toJSON()
toJSON():
string
Defined in: cax/modelData/modelData.ts:527
转换为 JSON 字符串
Returns
string
JSON 字符串
