UNPKG

@gltf-transform/extensions

Version:

Adds extension support to @gltf-transform/core

38 lines (37 loc) 1.36 kB
import { Extension, type ReaderContext, type WriterContext } from '@gltf-transform/core'; import { KHR_NODE_VISIBILITY } from '../constants.js'; import { Visibility } from './visibility.js'; /** * [KHR_node_visibility](https://github.com/KhronosGroup/gltf/blob/main/extensions/2.0/Khronos/KHR_node_visibility/) * defines visibility of a {@link Node} and its descendants. * * Properties: * - {@link Visibility} * * ### Example * * ```typescript * import { KHRNodeVisibility, Visibility } from '@gltf-transform/extensions'; * * // Create an Extension attached to the Document. * const visibilityExtension = document.createExtension(KHRNodeVisibility); * * // Create Visibility property. * const visibility = visibilityExtension.createVisibility().setVisible(false); * * // Assign to a Node. * node.setExtension('KHR_node_visibility', visibility); * ``` * * @experimental KHR_node_visibility is not yet ratified by the Khronos Group. */ export declare class KHRNodeVisibility extends Extension { static readonly EXTENSION_NAME: typeof KHR_NODE_VISIBILITY; readonly extensionName: typeof KHR_NODE_VISIBILITY; /** Creates a new Visibility property for use on a {@link Node}. */ createVisibility(): Visibility; /** @hidden */ read(context: ReaderContext): this; /** @hidden */ write(context: WriterContext): this; }