Skip to content

@simversus/yjvis


@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 ​

DataArray.constructor

Properties ​

_viewFun ​

protected _viewFun: TypedArrayConstructor

Defined in: cax/modelData/dataArray.ts:20

Inherited from ​

DataArray._viewFun


classHierarchy ​

classHierarchy: ClassEnum[]

Defined in: core/baseObject.ts:19

继承链

Inherited from ​

DataArray.classHierarchy


hasCellCountInData ​

hasCellCountInData: boolean = true

Defined in: cax/modelData/primitiveData.ts:29

数据数组中是否包含单元顶点数量标识

  • true: 数据格式为 [count, v1, v2, ..., count, v1, v2, ...] (如多边形)
  • false: 数据纯粹为索引,根据 numberOfComponents 步进 (如三角形列表)

label? ​

optional label: string

Defined in: core/baseObject.ts:27

自定义标识

Inherited from ​

DataArray.label


name ​

name: string = ''

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

Inherited from ​

DataArray.name


ranges ​

ranges: [number, number][] = []

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

Inherited from ​

DataArray.ranges


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 ​

DataArray.userData


uuid ​

uuid: string

Defined in: core/baseObject.ts:15

唯一标识符

Inherited from ​

DataArray.uuid

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 ​

DataArray.data


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 ​

DataArray.linearMapping


mtime ​

Get Signature ​

get mtime(): number

Defined in: core/baseObject.ts:56

获取对象的最后修改时间戳

Returns ​

number

Inherited from ​

DataArray.mtime


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 ​

DataArray.numberOfComponents


numberOfTuples ​

Get Signature ​

get numberOfTuples(): number

Defined in: cax/modelData/dataArray.ts:59

元素个数 如果数据为空,则返回0

Returns ​

number

Inherited from ​

DataArray.numberOfTuples

Methods ​

addEventListener() ​

addEventListener(type, cb): void

Defined in: core/baseObject.ts:105

添加事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

事件触发时的回调函数

Returns ​

void

Inherited from ​

DataArray.addEventListener


applyMatrix4() ​

applyMatrix4(matrix4): void

Defined in: cax/modelData/dataArray.ts:125

对数据应用矩阵

Parameters ​

matrix4 ​

Mat4

Returns ​

void

Inherited from ​

DataArray.applyMatrix4


applyNormalMatrix() ​

applyNormalMatrix(matrix3): void

Defined in: cax/modelData/dataArray.ts:145

对数据应用法线矩阵

Parameters ​

matrix3 ​

Mat3

Returns ​

void

Inherited from ​

DataArray.applyNormalMatrix


changed() ​

changed(): void

Defined in: core/baseObject.ts:72

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

Returns ​

void

Inherited from ​

DataArray.changed


dispatchEvent() ​

dispatchEvent(event): void

Defined in: core/baseObject.ts:126

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

Parameters ​

event ​

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

data? ​

any

type ​

string

Returns ​

void

Inherited from ​

DataArray.dispatchEvent


dispose() ​

dispose(): void

Defined in: core/baseObject.ts:80

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

Returns ​

void

Inherited from ​

DataArray.dispose


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 ​

DataArray.getMagnitudeAt


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 ​

DataArray.getRange


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 ​

DataArray.getValueAt


is() ​

is(t): boolean

Defined in: core/baseObject.ts:65

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

Parameters ​

t ​

ClassEnum

类类型枚举值

Returns ​

boolean

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

Inherited from ​

DataArray.is


onChanged() ​

onChanged(cb): () => void

Defined in: core/baseObject.ts:90

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

Parameters ​

cb ​

Function

回调函数

Returns ​

取消注册该回调的函数

(): void

Returns ​

void

Inherited from ​

DataArray.onChanged


removeEventListener() ​

removeEventListener(type, cb): void

Defined in: core/baseObject.ts:116

移除事件监听器

Parameters ​

type ​

string

事件类型字符串

cb ​

Function

要移除的回调函数

Returns ​

void

Inherited from ​

DataArray.removeEventListener


setValueAt() ​

setValueAt(id, values, empty): void

Defined in: cax/modelData/dataArray.ts:175

设置指定位置的值

Parameters ​

id ​

number

values ​

number[]

empty ​

number = 0

Returns ​

void

Inherited from ​

DataArray.setValueAt