Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Mesh

Mesh asset

Hierarchy

Index

Constructors

constructor

Properties

Private _boneSpaceBounds

_boneSpaceBounds: Map<number, (null | aabb)[]> = new Map<number, (aabb | null)[]>()

Private _data

_data: Uint8Array = globalEmptyMeshBuffer

Private _dataLength

_dataLength: number = 0

Private _hash

_hash: number = 0

Private _initialized

_initialized: boolean = false

Private _jointBufferIndices

_jointBufferIndices: number[] | null = null

Protected _name

_name: string

_native

_native: string = ""

Serializable url for native asset. For internal usage.

default

""

_objFlags

_objFlags: number

Private _renderingSubMeshes

_renderingSubMeshes: RenderingSubMesh[] | null = null

_uuid

_uuid: string

内部使用。

loaded

loaded: boolean = true

Whether the asset is loaded or not

morphRendering

morphRendering: MorphRendering | null = null

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

Indicates whether its dependent raw assets can support deferred load if the owner scene (or prefab) is marked as asyncLoadAssets.

default

false

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

Indicates whether its native object should be preloaded from native url.

default

false

Accessors

nativeAsset

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

data

  • get data(): Uint8Array

hash

  • get hash(): number

isValid

  • get isValid(): boolean
  • Indicates whether the object is not yet destroyed. (It will not be available after being destroyed)
    When an object's destroy is called, it is actually destroyed after the end of this frame. So isValid will return false from the next frame, while isValid in the current frame will still be true. If you want to determine whether the current frame has called destroy, use isValid(obj, true), but this is often caused by a particular logical requirements, which is not normally required.

    default

    true

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

    Returns boolean

jointBufferIndices

  • get jointBufferIndices(): number[]

maxPosition

  • get maxPosition(): undefined | Vec3
  • The maximum position of all vertices in the mesh

    deprecated

    Please use [[struct.maxPosition]] instead

    Returns undefined | Vec3

minPosition

  • get minPosition(): undefined | Vec3
  • The minimum position of all vertices in the mesh

    deprecated

    Please use [[struct.minPosition]] instead

    Returns undefined | Vec3

name

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

nativeUrl

  • get nativeUrl(): string

renderingSubMeshes

struct

subMeshCount

  • get subMeshCount(): number
  • The sub meshes count of the mesh.

    deprecated

    Please use [[renderingSubMeshes.length]] instead

    Returns number

Methods

Private accessAttribute

  • accessAttribute(primitiveIndex: number, attributeName: GFXAttributeName, accessor: (vertexBundle: IVertexBundle, iAttribute: number) => void): 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: IStruct, data: Uint8Array): void
  • Reset the struct and data of the mesh

    deprecated

    Will be removed in v3.0.0, please use reset instead

    Parameters

    • struct: IStruct

      The new struct

    • data: Uint8Array

      The new data

    Returns void

copyAttribute

  • copyAttribute(primitiveIndex: number, attributeName: GFXAttributeName, buffer: ArrayBuffer, stride: number, offset: number): boolean
  • Read the requested attribute of the given sub mesh and fill into the given buffer.

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • attributeName: GFXAttributeName

      Attribute name

    • buffer: ArrayBuffer

      The target array buffer

    • stride: number

      Byte distance between two attributes in the target buffer

    • offset: number

      The offset of the first attribute in the target buffer

    Returns boolean

    Return false if failed to access attribute, return true otherwise.

copyIndices

  • copyIndices(primitiveIndex: number, outputArray: number[] | ArrayBufferView): boolean
  • Read the indices data of the given sub mesh and fill into the given array

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • outputArray: number[] | ArrayBufferView

      The target output array

    Returns boolean

    Return false if failed to access the indices data, return true otherwise.

Optional createNode

destroy

  • destroy(): boolean

destroyRenderingMesh

  • destroyRenderingMesh(): void

emit

  • emit(type: EventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void
  • Trigger an event directly with the event name and necessary arguments.

    Parameters

    • type: EventType

      event type

    • Optional arg0: any
    • Optional arg1: any
    • Optional arg2: any
    • Optional arg3: any
    • Optional arg4: any

    Returns void

getBoneSpaceBounds

hasEventListener

  • hasEventListener(type: string, callback?: Function, target?: undefined | object): boolean
  • Checks whether there is correspond event listener registered on the given event.

    Parameters

    • type: string

      Event type.

    • Optional callback: Function

      Callback function when event triggered.

    • Optional target: undefined | object

      Callback callee.

    Returns boolean

initialize

  • initialize(): void

merge

  • merge(mesh: Mesh, worldMatrix?: Mat4, validate?: undefined | false | true): boolean
  • Merge the given mesh into the current mesh

    Parameters

    • mesh: Mesh

      The mesh to be merged

    • Optional worldMatrix: Mat4

      The world matrix of the given mesh

    • Optional validate: undefined | false | true

    Returns boolean

    Check the mesh state and return the validation result.

off

  • Removes the listeners previously registered with the same type, callback, target and or useCapture, if only type is passed as parameter, all listeners registered with that type will be removed.

    example

    import { log } from 'cc'; // register fire eventListener var callback = eventTarget.on('fire', function () { log("fire in the hole"); }, target); // remove fire event listener eventTarget.off('fire', callback, target); // remove all fire event listeners eventTarget.off('fire');

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type being removed.

    • Optional callback: TFunction

      The callback to remove.

    • Optional thisArg: any

    Returns void

on

  • on<TFunction>(type: EventType, callback: TFunction, thisArg?: any, once?: undefined | false | true): typeof callback
  • Register an callback of a specific event type on the EventTarget. This type of event should be triggered via emit.

    example

    import { log } from 'cc'; eventTarget.on('fire', function () { log("fire in the hole"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

      The target (this object) to invoke the callback, can be null

    • Optional once: undefined | false | true

    Returns typeof callback

    • Just returns the incoming callback so you can save the anonymous function easier.

once

  • once<TFunction>(type: EventType, callback: TFunction, thisArg?: any): typeof callback
  • Register an callback of a specific event type on the EventTarget, the callback will remove itself after the first time it is triggered.

    example

    import { log } from 'cc'; eventTarget.once('fire', function () { log("this is the callback and will be invoked only once"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

    Returns typeof callback

readAttribute

  • readAttribute(primitiveIndex: number, attributeName: GFXAttributeName): Storage | null
  • Read the requested attribute of the given sub mesh

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • attributeName: GFXAttributeName

      Attribute name

    Returns Storage | null

    Return null if not found or can't read, otherwise, will create a large enough typed array to contain all data of the attribute, the array type will match the data type of the attribute.

readIndices

  • readIndices(primitiveIndex: number): null | Uint8Array | Uint16Array | Uint32Array
  • Read the indices data of the given sub mesh

    Parameters

    • primitiveIndex: number

      Sub mesh index

    Returns null | Uint8Array | Uint16Array | Uint32Array

    Return null if not found or can't read, otherwise, will create a large enough typed array to contain all indices data, the array type will use the corresponding stride size.

removeAll

  • removeAll(typeOrTarget: string | object): void
  • Removes all callbacks registered in a certain event type or all callbacks registered with a certain target

    Parameters

    • typeOrTarget: string | object

      The event type or target with which the listeners will be removed

    Returns void

reset

Private serialize

  • serialize(): void

targetOff

  • targetOff(typeOrTarget: string | object): void
  • Removes all callbacks previously registered with the same target (passed as parameter). This is not for removing all listeners in the current event target, and this is not for removing all listeners the target parameter have registered. It's only for removing all listeners (callback and target couple) registered on the current event target by the target parameter.

    Parameters

    • typeOrTarget: string | object

      The target to be searched for all related listeners

    Returns void

toString

  • toString(): string
  • Returns the string representation of the object.
    The Asset object overrides the toString() method of the Object object.
    JavaScript calls the toString() method automatically
    when an asset is to be represented as a text value or when a texture is referred to in a string concatenation.

    For assets of the native type, it will return this.nativeUrl.
    Otherwise, an empty string is returned.
    This method may be overwritten by subclasses.

    method

    toString

    Returns string

validateMergingMesh

  • validateMergingMesh(mesh: Mesh): boolean
  • Validation for whether the given mesh can be merged into the current mesh. To pass the validation, it must satisfy either of these two requirements:

    • When the current mesh have no data
    • When the two mesh have the same vertex bundle count, the same sub meshes count, and the same sub mesh layout.

    Same mesh layout means:

    • They have the same primitive type and reference to the same amount vertex bundle with the same indices.
    • And they all have or don't have index view

    Parameters

    • mesh: Mesh

      The other mesh to be validated

    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