@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (32 loc) • 1.99 kB
TypeScript
/**
* Merge input geometries
*
* @remarks
* This node can take up to 4 inputs. It can operate within 1 of 2 modes:
*
* - compact ON: all objects will be merged in as few objects as possible. So all meshes will be merged into one, all point objects into one, and all line objects into one. This requires the objects to have the same attributes.
* - compact OFF: all objects are simply put under a common parent, but remain distinct objects.
*/
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class MergeSopParamsConfig extends NodeParamsConfig {
/** @param When off, input objects remain separate. When on, they are merged together by type (mesh, points and lines). In order to merge them correctly, you'll have to make sure they have the same attributes */
compact: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param When off, objects with same type (mesh, points, lines) will be merged together, regardless of their material. When on, only objects with same type and same material will be merged */
preserveMaterials: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param number of inputs that this node can merge geometries from */
inputsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class MergeSopNode extends TypedSopNode<MergeSopParamsConfig> {
paramsConfig: MergeSopParamsConfig;
static type(): SopType;
setCompactMode(compact: boolean): void;
initializeNode(): void;
private _operation;
cook(inputCoreGroups: CoreGroup[]): void;
private _callbackUpdateInputsCount;
static PARAM_CALLBACK_setInputsCount(node: MergeSopNode): void;
}
export {};