@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.86 kB
TypeScript
import { Material } from 'three';
import { BufferGeometry } from 'three';
import { TypedNode } from '../_Base';
import { ObjectByObjectType } from '../../../core/geometry/Constant';
import { CoreGroup } from '../../../core/geometry/Group';
import { ObjectType } from '../../../core/geometry/Constant';
import { NodeContext } from '../../poly/NodeContext';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { FlagsControllerDBO } from '../utils/FlagsController';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
/**
*
*
* BaseSopNode is the base class for all nodes that process geometries. This inherits from [TypedNode](/docs/api/TypedNode).
*
*/
export declare class TypedSopNode<K extends NodeParamsConfig> extends TypedNode<NodeContext.SOP, K> {
static context(): NodeContext;
readonly flags: FlagsControllerDBO;
dataType(): string;
initializeBaseNode(): void;
setCoreGroup(coreGroup: CoreGroup): void;
setObject(object: ObjectContent<CoreObjectType>): void;
setObjects(objects: ObjectContent<CoreObjectType>[]): void;
setGeometry(geometry: BufferGeometry, type?: ObjectType): void;
setGeometries(geometries: BufferGeometry[], type?: ObjectType): void;
protected _setContainerObjects(objects: ObjectContent<CoreObjectType>[]): void;
static createObject<OT extends ObjectType>(geometry: BufferGeometry, type: OT, material?: Material): ObjectByObjectType[OT];
createObject<OT extends ObjectType>(geometry: BufferGeometry, type: OT, material?: Material): ObjectByObjectType[OT];
static createIndexIfNone(geometry: BufferGeometry): void;
protected _createIndexIfNone(geometry: BufferGeometry): void;
}
export type BaseSopNodeType = TypedSopNode<NodeParamsConfig>;
export declare class BaseSopNodeClass extends TypedSopNode<NodeParamsConfig> {
}