UNPKG

polygonjs-engine

Version:

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

49 lines (48 loc) 2.75 kB
/** * Copies a geometry onto every point from the right input. * * @remarks * This is different than the instance SOP, as the operation here is more expensive, but allows for more flexibility. * * */ import { TypedSopNode } from './_Base'; import { CoreGroup } from '../../../core/geometry/Group'; import { CopyStamp } from './utils/CopyStamp'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; declare class CopySopParamsConfig extends NodeParamsConfig { /** @param copies count, used when the second input is not given */ count: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>; /** @param transforms every input object each on a single input point */ transformOnly: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>; /** @param toggles on to copy attributes from the input points to the created objects. Note that the vertex attributes from the points become object attributes */ copyAttributes: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>; /** @param names of attributes to copy */ attributesToCopy: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>; /** @param toggle on to use the `copy` expression, which allows to change how the left input is evaluated for each point */ useCopyExpr: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>; } export declare class CopySopNode extends TypedSopNode<CopySopParamsConfig> { params_config: CopySopParamsConfig; static type(): string; private _attribute_names_to_copy; private _objects; private _stamp_node; static displayedInputNames(): string[]; initializeNode(): void; cook(input_contents: CoreGroup[]): Promise<void>; private cook_with_template; private _copy_moved_objects_on_template_points; private _copy_moved_object_on_template_point; private _get_moved_objects_for_template_point; private _stamp_instance_group_if_required; private _copy_moved_objects_for_each_instance; private _copy_moved_objects_for_instance; private cook_without_template; private _copyAttributes_from_template; stamp_value(attrib_name?: string): string | number | boolean | import("../../../types/GlobalTypes").Number2 | import("../../../types/GlobalTypes").Number3 | import("../../../types/GlobalTypes").Number4 | import("../../../types/GlobalTypes").Vector2Like | import("../../../types/GlobalTypes").ColorLike; get stamp_node(): CopyStamp; private create_stamp_node; dispose(): void; } export {};