/*! * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { AssetContainer, AssetLike, AssetUserType, PrimitiveDefinition, Vector3, Vector3Like } from '..'; import { Patchable } from '../internal'; import { AssetInternal } from './assetInternal'; import { Asset } from './asset'; /** Describes the properties of a mesh */ export interface MeshLike { /** The number of vertices in this mesh. */ vertexCount: number; /** The number of triangles in this mesh. */ triangleCount: number; /** The size of the axis-aligned box that exactly contains the mesh */ boundingBoxDimensions: Vector3Like; /** The center of the axis-aligned box that exactly contains the mesh */ boundingBoxCenter: Vector3Like; /** If this mesh is a primitive, the primitive's description */ primitiveDefinition: PrimitiveDefinition; } /** Represents a mesh on an actor */ export declare class Mesh extends Asset implements MeshLike, Patchable { private _internal; private _vertexCount; private _triangleCount; private _dimensions; private _center; private _primDef; /** @hidden */ get internal(): AssetInternal; /** @inheritdoc */ get vertexCount(): number; /** @inheritdoc */ get triangleCount(): number; /** @inheritdoc */ get boundingBoxDimensions(): Vector3; /** @inheritdoc */ get boundingBoxCenter(): Vector3; /** @inheritdoc */ get primitiveDefinition(): PrimitiveDefinition; /** @inheritdoc */ get mesh(): Mesh; /** @hidden */ constructor(container: AssetContainer, def: AssetLike); copy(from: Partial): this; /** @hidden */ toJSON(): AssetLike; /** @hidden */ breakReference(ref: AssetUserType): void; } //# sourceMappingURL=mesh.d.ts.map