@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
30 lines (26 loc) • 1.04 kB
text/typescript
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;
}
}
}