Model loading · class

BlendStruct

One struct in the file, read by field name.

Explained in Importing models.

class BlendStruct
import { BlendStruct } from '@driftengine/assets';

Constructor

new

constructor(file: BlendData, struct: DnaStruct, offset: number, /** The datablock this struct's data belongs to, which every pointer in it is resolved inside. */ scope: number)
ParameterTypeDescription
fileBlendData
structDnaStruct
offsetnumber
/** The datablock this struct's data belongs to
which every pointer in it is resolved inside. */ scope: number

Properties

NameTypeDescription
filereadonlyBlendData
structreadonlyDnaStruct
offsetreadonlynumber
scopereadonlynumberThe datablock this struct's data belongs to, which every pointer in it is resolved inside.

Accessors

NameTypeDescription
typegetstring

Methods

has

has(name: string): boolean
ParameterTypeDescription
namestring

field

field(name: string): DnaField
ParameterTypeDescription
namestring

int

int(name: string, index?: number): number

An integer field of any width, signed as its type is.

ParameterTypeDescription
namestring
index?number

float

float(name: string, index?: number): number
ParameterTypeDescription
namestring
index?number

floats

floats(name: string): number[]

Every element of a float array field, flattened: co[3] is three, mat[4][4] sixteen.

ParameterTypeDescription
namestring

ints

ints(name: string): number[]
ParameterTypeDescription
namestring

string

string(name: string): string

A char[] field as text, up to its first zero.

ParameterTypeDescription
namestring

idName

idName(): string

An ID's name without its two-letter code: OBCube is Cube.

ptr

ptr(name: string, index?: number): bigint
ParameterTypeDescription
namestring
index?number

deref

deref(name: string, type?: string): BlendStruct | null

Follow a pointer field, typed by the block it lands in or by type where that is known.

ParameterTypeDescription
namestring
type?string

array

array(name: string, type: string, count?: number): BlendStruct[]

An array a pointer field names, count long or as long as its block.

ParameterTypeDescription
namestring
typestring
count?number

raw

raw(name: string): Uint8Array | null

The bytes a pointer field names, through the end of their block.

ParameterTypeDescription
namestring

blockOf

blockOf(name: string): BlendBlock | null

The block a pointer field names.

ParameterTypeDescription
namestring

text

text(name: string): string

A char * field's text.

ParameterTypeDescription
namestring

sub

sub(name: string): BlendStruct

An embedded struct field, viewed in place.

ParameterTypeDescription
namestring

list

list(name: string, type?: string): BlendStruct[]

The links of a ListBase field, following next until it runs out.

ParameterTypeDescription
namestring
type?string

pointers

pointers(name: string, count: number): bigint[]

An array of pointers that a pointer-to-pointer field names: Mesh.mat, Object.mat.

ParameterTypeDescription
namestring
countnumber