Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Mesh

网格资源。

Hierarchy

Implements

Index

Constructors

constructor

Properties

_callbackTable

_callbackTable: any = createMap(true)

IEventTarget 实现,它们将被 applyMixins 在 EventTarget 中用相同的实现覆盖

Private _data

_data: Uint8Array | null = null

Private _dataLength

_dataLength: number = 0

Private _hasFlatBuffers

_hasFlatBuffers: boolean = false

Private _hash

_hash: number = 0

Private _initialized

_initialized: boolean = false

Protected _name

_name: string

_native

_native: string = ""

用于本机资产的可序列化URL。供内部使用。

default

""

_objFlags

_objFlags: number

Private _renderingMesh

_renderingMesh: RenderingMesh | null = null

_uuid

_uuid: string

内部使用。

loaded

loaded: boolean = true

该资源是否已经成功加载。

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

当场景或 Prefab 被标记为 asyncLoadAssets,禁止延迟加载该资源所依赖的其它 RawAsset。

property

{Boolean} preventDeferredLoadDependents

default

false

static

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

禁止预加载原生对象。

property

{Boolean} preventPreloadNativeObject

default

false

static

Accessors

nativeAsset

  • get nativeAsset(): ArrayBuffer
  • set nativeAsset(value: ArrayBuffer): void

data

  • get data(): null | Uint8Array

hasFlatBuffers

  • get hasFlatBuffers(): boolean

hash

  • get hash(): number

isValid

  • get isValid(): boolean
  • 表示该对象是否可用(被 destroy 后将不可用)。
    当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
    因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
    如果希望判断当前帧是否调用过 destroy,请使用 cc.isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。

    property

    {Boolean} isValid

    default

    true

    readonly
    example
    import * as cc from 'cc';
    var node = new cc.Node();
    cc.log(node.isValid);    // true
    node.destroy();
    cc.log(node.isValid);    // true, still valid in this frame
    // after a frame...
    cc.log(node.isValid);    // false, destroyed in the end of last frame

    Returns boolean

maxPosition

  • get maxPosition(): undefined | Vec3
  • (各分量都)大于等于此网格任何顶点位置的最大位置。

    deprecated

    请使用 this.struct.maxPosition

    Returns undefined | Vec3

minPosition

  • get minPosition(): undefined | Vec3
  • (各分量都)小于等于此网格任何顶点位置的最大位置。

    deprecated

    请使用 this.struct.minPosition

    Returns undefined | Vec3

name

  • get name(): string
  • set name(value: string): void

nativeUrl

  • get nativeUrl(): string
  • 返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。

    property

    nativeUrl

    type

    {String}

    readonly

    Returns string

renderingMesh

struct

subMeshCount

  • get subMeshCount(): number

Methods

Private accessAttribute

  • accessAttribute(primitiveIndex: number, attributeName: GFXAttributeName, accessor: function): void

Private createVertexBuffers

destroyImmediate

  • _destroyImmediate(): void

destruct

  • _destruct(): void
  • Clear all references in the instance.

    NOTE: this method will not clear the getter or setter functions which defined in the instance of CCObject. You can override the _destruct method if you need, for example: _destruct: function () { for (var key in this) { if (this.hasOwnProperty(key)) { switch (typeof this[key]) { case 'string': this[key] = ''; break; case 'object': case 'function': this[key] = null; break; } } }

    Returns void

Private setRawAsset

  • setRawAsset(filename: string, inLibrary?: boolean): void

assign

  • assign(struct: Struct, data: Uint8Array): void
  • 重置此网格的结构和数据。

    deprecated

    将在 V1.0.0 移除,请转用 this.reset()

    Parameters

    • struct: Struct

      新的结构。

    • data: Uint8Array

      新的数据。

    Returns void

copyAttribute

  • copyAttribute(primitiveIndex: number, attributeName: GFXAttributeName, buffer: ArrayBuffer, stride: number, offset: number): boolean
  • 读取子网格的指定属性到目标缓冲区中。

    Parameters

    • primitiveIndex: number

      子网格索引。

    • attributeName: GFXAttributeName

      属性名称。

    • buffer: ArrayBuffer

      目标缓冲区。

    • stride: number

      相邻属性在目标缓冲区的字节间隔。

    • offset: number

      首个属性在目标缓冲区中的偏移。

    Returns boolean

    不存在指定的子网格、子网格不存在指定的属性或属性无法读取时返回 false,否则返回 true

copyIndices

  • copyIndices(primitiveIndex: number, outputArray: number[] | ArrayBufferView): boolean
  • 读取子网格的索引数据到目标数组中。

    Parameters

    • primitiveIndex: number

      子网格索引。

    • outputArray: number[] | ArrayBufferView

      目标数组。

    Returns boolean

    不存在指定的子网格或子网格不存在索引数据时返回 false,否则返回 true

createFlatBuffers

  • createFlatBuffers(): boolean

Optional createNode

destroy

  • destroy(): boolean

destroyFlatBuffers

  • destroyFlatBuffers(): void

destroyRenderingMesh

  • destroyRenderingMesh(): void

dispatchEvent

  • dispatchEvent(event: Event): void

emit

  • emit(key: string, ...args: any[]): void

getSubMesh

  • 获取此网格创建的渲染子网格。

    deprecated

    请使用 this.renderingMesh.getSubmesh(index)

    Parameters

    • index: number

      渲染子网格的索引。

    Returns IRenderingSubmesh

    指定的渲染子网格。

hasEventListener

  • hasEventListener(key: string, callback?: Function | undefined, target?: Object | undefined): boolean

initialize

  • initialize(): void

merge

  • merge(mesh: Mesh, worldMatrix?: Mat4, validate?: undefined | false | true): boolean
  • 合并指定的网格到此网格中。

    Parameters

    • mesh: Mesh

      合并的网格。

    • Optional worldMatrix: Mat4

      合并的网格的世界变换矩阵

    • Optional validate: undefined | false | true

    Returns boolean

    是否验证成功。若验证选项为 true 且验证未通过则返回 false,否则返回 true

off

  • off(type: string, callback?: Function | undefined, target?: Object | undefined): void

on

  • on(type: string, callback: Function, target?: Object | undefined): Function | undefined

once

  • once(type: string, callback: Function, target?: Object | undefined): Function | undefined

readAttribute

  • 读取子网格的指定属性。

    Parameters

    • primitiveIndex: number

      子网格索引。

    • attributeName: GFXAttributeName

      属性名称。

    Returns Storage | null

    不存在指定的子网格、子网格不存在指定的属性或属性无法读取时返回 null, 否则,创建足够大的缓冲区包含指定属性的所有数据,并为该缓冲区创建与属性类型对应的数组视图。

readIndices

  • readIndices(primitiveIndex: number): null | Float32Array | Uint8Array | Uint16Array | Int16Array | Int32Array | Uint32Array | Int8Array | Float64Array
  • 读取子网格的索引数据。

    Parameters

    • primitiveIndex: number

      子网格索引。

    Returns null | Float32Array | Uint8Array | Uint16Array | Int16Array | Int32Array | Uint32Array | Int8Array | Float64Array

    不存在指定的子网格或子网格不存在索引数据时返回 null, 否则,创建足够大的缓冲区包含所有索引数据,并为该缓冲区创建与索引类型对应的数组视图。

removeAll

  • removeAll(keyOrTarget?: string | Object | undefined): void

reset

targetOff

  • targetOff(keyOrTarget?: string | Object | undefined): void

toString

  • toString(): string
  • 返回对象的字符串表示形式。
    Asset 对象将会重写 Object 对象的 toString() 方法。
    当资源要表示为文本值时或在字符串连接时引用时,
    JavaScript 会自动调用 toString() 方法。

    对于原始类型的资源,它将返回this.nativeUrl
    否则,返回空字符串。
    子类可能会覆盖此方法。

    method

    toString

    Returns string

validateMergingMesh

  • validateMergingMesh(mesh: Mesh): boolean
  • 验证指定网格是否可以合并至当前网格。

    当满足以下条件之一时,指定网格可以合并至当前网格:

    • 当前网格无数据而待合并网格有数据;
    • 它们的顶点块数目相同且对应顶点块的布局一致,并且它们的子网格数目相同且对应子网格的布局一致。 两个顶点块布局一致当且仅当:
    • 它们具有相同数量的顶点属性且对应的顶点属性具有相同的属性格式。 两个子网格布局一致,当且仅当:
    • 它们具有相同的图元类型并且引用相同数量、相同索引的顶点块;并且,
    • 要么都需要索引绘制,要么都不需要索引绘制。

    Parameters

    • mesh: Mesh

      指定的网格。

    Returns boolean

Static deferredDestroy

  • _deferredDestroy(): void

Static deserialize

  • deserialize(data: any): any

Static isRawAssetType

  • isRawAssetType(ctor: Function): boolean

Object literals

Private struct

struct: object

primitives

primitives: never[] = []

vertexBundles

vertexBundles: never[] = []

Generated using TypeDoc