polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
81 lines (80 loc) • 5.7 kB
TypeScript
/**
* Delete parts of the input geometry
*
* @remarks
* This can be used in many ways to delete points or objects from the input.
*
*/
import { TypedSopNode } from './_Base';
import { AttribClass } from '../../../core/geometry/Constant';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { EntitySelectionHelper } from './utils/delete/EntitySelectionHelper';
import { ByAttributeHelper } from './utils/delete/ByAttributeHelper';
import { ByExpressionHelper } from './utils/delete/ByExpressionHelper';
import { ByBboxHelper } from './utils/delete/ByBboxHelper';
import { ByObjectTypeHelper } from './utils/delete/ByObjectTypeHelper';
declare class DeleteSopParamsConfig extends NodeParamsConfig {
/** @param defines the class that should be deleted (objects or vertices) */
class: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
/** @param invert the selection created in the parameters below */
invert: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param deletes objects by object type */
byObjectType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param sets which object types should be deleted */
objectType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
separatorObjectType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
/** @param deletes objects by an expression */
byExpression: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param sets the expression to select what should be deleted */
expression: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
separatorExpression: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
/** @param deletes objects by an attribute */
byAttrib: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param sets the type of the attribute for which items should be deleted */
attribType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
/** @param name of the attribute used */
attribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
/** @param size of the attribute used */
attribSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
/** @param comparison operator */
attribComparisonOperator: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
/** @param value of the attribute to compare with (when using float attribute) */
attribValue1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param value of the attribute to compare with (when using vector2 attribute) */
attribValue2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR2>;
/** @param value of the attribute to compare with (when using vector3 attribute) */
attribValue3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
/** @param value of the attribute to compare with (when using vector4 attribute) */
attribValue4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR4>;
/** @param value of the attribute to compare with (when using string attribute) */
attribString: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
separatorAttrib: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
/** @param deletes objects that are inside a bounding box */
byBbox: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param the bounding box size */
bboxSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
/** @param the bounding box center */
bboxCenter: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
separatorBbox: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
/** @param keeps points */
keepPoints: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
}
export declare class DeleteSopNode extends TypedSopNode<DeleteSopParamsConfig> {
params_config: DeleteSopParamsConfig;
static type(): string;
private _marked_for_deletion_per_object_index;
readonly entity_selection_helper: EntitySelectionHelper;
readonly byBbox_helper: ByBboxHelper;
readonly byExpression_helper: ByExpressionHelper;
readonly byAttribute_helper: ByAttributeHelper;
readonly byObjectType_helper: ByObjectTypeHelper;
static displayedInputNames(): string[];
initializeNode(): void;
cook(input_contents: CoreGroup[]): Promise<void>;
set_class(attrib_class: AttribClass): void;
private _eval_for_objects;
private _eval_for_points;
private _point_object;
}
export {};