@polygonjs/plugin-mapbox
Version:
Mapbox plugin for the 3D engine https://polygonjs.com
27 lines (24 loc) • 1.21 kB
text/typescript
import {GeoObjNode} from '@polygonjs/polygonjs/dist/src/engine/nodes/obj/Geo';
import type {ExtendedGeoNodeChildrenMap} from '../../../ExtendedGeoNodeChildrenMap';
import {GeoNodeChildrenMap} from '@polygonjs/polygonjs/dist/src/engine/poly/registers/nodes/Sop';
import {Constructor, valueof} from '@polygonjs/polygonjs/dist/src/types/GlobalTypes';
import {NodeCreateOptions} from '@polygonjs/polygonjs/dist/src/engine/nodes/utils/hierarchy/ChildrenController';
export class ExtendedGeoObjNode extends GeoObjNode {
override createNode<S extends keyof ExtendedGeoNodeChildrenMap>(
node_class: S,
options?: NodeCreateOptions
): ExtendedGeoNodeChildrenMap[S];
override createNode<K extends valueof<ExtendedGeoNodeChildrenMap>>(
node_class: Constructor<K>,
options?: NodeCreateOptions
): K;
override createNode<K extends valueof<ExtendedGeoNodeChildrenMap>>(
node_class: Constructor<K>,
options?: NodeCreateOptions
): K {
return super.createNode(node_class as any, options) as K;
}
override nodesByType<K extends keyof ExtendedGeoNodeChildrenMap>(type: K): ExtendedGeoNodeChildrenMap[K][] {
return super.nodesByType(type as keyof GeoNodeChildrenMap) as ExtendedGeoNodeChildrenMap[K][];
}
}