UNPKG

@gltf-transform/core

Version:

glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js.

27 lines (26 loc) 1.31 kB
import type { ExtensibleProperty } from './extensible-property.js'; import { type IProperty, Property } from './property.js'; /** * *Base class for all {@link Property} types that can be attached by an {@link Extension}.* * * After an {@link Extension} is attached to a glTF {@link Document}, the Extension may be used to * construct ExtensionProperty instances, to be referenced throughout the document as prescribed by * the Extension. For example, the `KHR_materials_clearcoat` Extension defines a `Clearcoat` * ExtensionProperty, which is referenced by {@link Material} Properties in the Document, and may * contain references to {@link Texture} properties of its own. * * For more information on available extensions and their usage, see [Extensions](/extensions). * * Reference: * - [glTF → Extensions](https://github.com/KhronosGroup/gltf/blob/main/specification/2.0/README.md#specifying-extensions) * * @category Properties */ export declare abstract class ExtensionProperty<T extends IProperty = IProperty> extends Property<T> { static EXTENSION_NAME: string; abstract readonly extensionName: string; /** List of supported {@link Property} types. */ abstract readonly parentTypes: string[]; /** @hidden */ _validateParent(parent: ExtensibleProperty): void; }