@simversus/yjvis / cax / PrimitiveData
Class: PrimitiveData
Defined in: cax/modelData/primitiveData.ts:17
图元数据类 表示点、线、面等几何图元的拓扑结构数据 继承自 DataArray,支持不仅存储索引数据,还支持单元计数等复杂结构
Extends
Constructors
Constructor
new PrimitiveData(
props):PrimitiveData
Defined in: cax/modelData/primitiveData.ts:98
构造函数
Parameters
props
CellDataProps
初始化属性
Returns
PrimitiveData
Overrides
Properties
_viewFun
protected_viewFun:TypedArrayConstructor
Defined in: cax/modelData/dataArray.ts:20
Inherited from
classHierarchy
classHierarchy:
ClassEnum[]
Defined in: core/baseObject.ts:19
继承链
Inherited from
hasCellCountInData
hasCellCountInData:
boolean=true
Defined in: cax/modelData/primitiveData.ts:29
数据数组中是否包含单元顶点数量标识
- true: 数据格式为 [count, v1, v2, ..., count, v1, v2, ...] (如多边形)
- false: 数据纯粹为索引,根据 numberOfComponents 步进 (如三角形列表)
label?
optionallabel:string
Defined in: core/baseObject.ts:27
自定义标识
Inherited from
name
name:
string=''
Defined in: cax/modelData/dataArray.ts:14
Inherited from
ranges
ranges: [
number,number][] =[]
Defined in: cax/modelData/dataArray.ts:16
Inherited from
topology
topology:
Topology
Defined in: cax/modelData/primitiveData.ts:19
拓扑结构类型 (点、线、面等)
usePositionData
usePositionData:
boolean=false
Defined in: cax/modelData/primitiveData.ts:36
是否直接使用顶点数据
- true: 数据本身就是顶点坐标数据 (不常用,或者是特定优化)
- false: 数据是顶点索引 (标准用法)
userData
userData:
object={}
Defined in: core/baseObject.ts:23
用户自定义数据
Inherited from
uuid
uuid:
string
Defined in: core/baseObject.ts:15
唯一标识符
Inherited from
Accessors
data
Get Signature
get data():
TypedArray
Defined in: cax/modelData/primitiveData.ts:90
获取图元数据
Returns
TypedArray
Set Signature
set data(
data):void
Defined in: cax/modelData/primitiveData.ts:76
设置图元数据 会自动转为 Uint32Array 视图 数据结构示例: [3(components), idx0, idx1, idx2, 4(components), idx0, idx1, idx2, idx3]
Parameters
data
number[] | TypedArray
Returns
void
Overrides
linearMapping
Get Signature
get linearMapping():
boolean
Defined in: cax/modelData/dataArray.ts:29
Returns
boolean
Set Signature
set linearMapping(
value):void
Defined in: cax/modelData/dataArray.ts:33
Parameters
value
boolean
Returns
void
Inherited from
mtime
Get Signature
get mtime():
number
Defined in: core/baseObject.ts:56
获取对象的最后修改时间戳
Returns
number
Inherited from
numberOfCells
Get Signature
get numberOfCells():
number
Defined in: cax/modelData/primitiveData.ts:43
获取该图元包含的单元总数 如果是首次获取,会遍历数据进行统计并缓存
Returns
number
单元数量
numberOfComponents
Get Signature
get numberOfComponents():
number
Defined in: cax/modelData/primitiveData.ts:56
获取每个单元的组件数 (顶点数) 对于固定顶点数的拓扑结构 (如线、三角形),如果没有内部计数标识,则返回固定值
Returns
number
Set Signature
set numberOfComponents(
value):void
Defined in: cax/modelData/primitiveData.ts:67
设置每个单元的组件数
Parameters
value
number
Returns
void
Overrides
numberOfTuples
Get Signature
get numberOfTuples():
number
Defined in: cax/modelData/dataArray.ts:59
元素个数 如果数据为空,则返回0
Returns
number
Inherited from
Methods
addEventListener()
addEventListener(
type,cb):void
Defined in: core/baseObject.ts:105
添加事件监听器
Parameters
type
string
事件类型字符串
cb
Function
事件触发时的回调函数
Returns
void
Inherited from
applyMatrix4()
applyMatrix4(
matrix4):void
Defined in: cax/modelData/dataArray.ts:125
对数据应用矩阵
Parameters
matrix4
Returns
void
Inherited from
applyNormalMatrix()
applyNormalMatrix(
matrix3):void
Defined in: cax/modelData/dataArray.ts:145
对数据应用法线矩阵
Parameters
matrix3
Returns
void
Inherited from
changed()
changed():
void
Defined in: core/baseObject.ts:72
标记对象为已修改 更新修改时间戳并触发所有注册的变更回调
Returns
void
Inherited from
dispatchEvent()
dispatchEvent(
event):void
Defined in: core/baseObject.ts:126
分发事件 触发所有注册了该事件类型的监听器
Parameters
event
事件对象,包含 type 和可选的 data
data?
any
type
string
Returns
void
Inherited from
dispose()
dispose():
void
Defined in: core/baseObject.ts:80
销毁该对象 分发 dispose 事件,通知监听者对象即将被销毁
Returns
void
Inherited from
ergodicCells()
ergodicCells(
cb):void
Defined in: cax/modelData/primitiveData.ts:132
遍历图元的所有单元 支持两种模式:包含单元计数的数据结构和纯索引数组
Parameters
cb
(data) => void
回调函数
- cellSize: 当前单元的顶点数量
- innerCid: 当前单元的局部 ID (第几个单元)
- cloc: 当前单元在 data 数组中的起始位置 (如果 hasCellCountInData 为 false,则为 -1)
Returns
void
getMagnitudeAt()
getMagnitudeAt(
id):number
Defined in: cax/modelData/dataArray.ts:190
获取指定位置的分量和
Parameters
id
number
Returns
number
Inherited from
getPointsByCellLocation()
getPointsByCellLocation(
cellLocation):number[]
Defined in: cax/modelData/primitiveData.ts:108
根据单元在数据数组中的起始位置获取该单元的所有顶点索引
Parameters
cellLocation
number
单元在 this.data 中的起始下标 (包含顶点数标识)
Returns
number[]
顶点索引数组
getPointsByInnerCellId()
getPointsByInnerCellId(
innerCid):number[]
Defined in: cax/modelData/primitiveData.ts:119
根据局部单元 ID 获取该单元的所有顶点索引 仅适用于 hasCellCountInData 为 false 的情况 (即规则排布数据)
Parameters
innerCid
number
局部单元 ID (第几个单元)
Returns
number[]
顶点索引数组
getRange()
getRange(
componentId?):Number2
Defined in: cax/modelData/dataArray.ts:85
获取数据范围
Parameters
componentId?
number
数据的分量数,默认为0,小于0代表总和
Returns
Number2
Inherited from
getValueAt()
getValueAt(
id):Float32Array|Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float64Array
Defined in: cax/modelData/dataArray.ts:167
获取指定位置的值
Parameters
id
number
Returns
Float32Array | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float64Array
Inherited from
is()
is(
t):boolean
Defined in: core/baseObject.ts:65
检查对象是否属于指定的类类型
Parameters
t
ClassEnum
类类型枚举值
Returns
boolean
如果对象是该类型或继承自该类型,则返回 true
Inherited from
onChanged()
onChanged(
cb): () =>void
Defined in: core/baseObject.ts:90
注册对象变更回调 当对象发生改变(调用 changed 方法)时触发
Parameters
cb
Function
回调函数
Returns
取消注册该回调的函数
():
void
Returns
void
Inherited from
removeEventListener()
removeEventListener(
type,cb):void
Defined in: core/baseObject.ts:116
移除事件监听器
Parameters
type
string
事件类型字符串
cb
Function
要移除的回调函数
Returns
void
Inherited from
setValueAt()
setValueAt(
id,values,empty):void
Defined in: cax/modelData/dataArray.ts:175
设置指定位置的值
Parameters
id
number
values
number[]
empty
number = 0
Returns
void
