UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

30 lines (26 loc) 1.04 kB
import {Object3D} from 'three'; import {DisplayNodeController} from '../../utils/DisplayNodeController'; import {ObjChildrenDisplayController} from './ObjChildrenDisplayController'; import {TesselationParamsObjNode} from './TesselationParams'; import {CoreGroup} from '../../../../core/geometry/Group'; import {Poly} from '../../../Poly'; import {BaseSopNodeType} from '../../sop/_Base'; interface BaseObjNodeClassWithDisplayNode extends TesselationParamsObjNode { displayNodeController: DisplayNodeController; } export class ChildrenDisplayControllerSpecialized extends ObjChildrenDisplayController { constructor(protected override node: BaseObjNodeClassWithDisplayNode) { super(node); } override _addSpecializedObjects(displayNode: BaseSopNodeType, coreGroup: CoreGroup, newObjects: Object3D[]) { const _newObjectsAreDifferent = Poly.specializedChildren.runHooks( displayNode, coreGroup, newObjects, this.node.pv ); if (_newObjectsAreDifferent) { this._newObjectsAreDifferent = _newObjectsAreDifferent; } } }