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