polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
49 lines (48 loc) • 2.75 kB
TypeScript
/**
* 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 {};