@gltf-transform/extensions
Version:
Adds extension support to @gltf-transform/core
38 lines (37 loc) • 1.36 kB
TypeScript
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;
}