UNPKG

@polygonjs/polygonjs

Version:

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

85 lines (84 loc) 5.62 kB
/** * 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, AttribType } 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'; import { ByBoundingObjectHelper } from './utils/delete/ByBoundingObjectHelper'; import { SopType } from '../../poly/registers/nodes/types/Sop'; declare class DeleteSopParamsConfig extends NodeParamsConfig { /** @param defines the class that should be deleted (objects or vertices) */ class: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param invert the selection created in the parameters below */ invert: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param deletes objects by object type */ byObjectType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param sets which object types should be deleted */ objectType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param deletes objects by an expression */ byExpression: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param sets the expression to select what should be deleted */ expression: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param deletes objects by an attribute */ byAttrib: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param sets the type of the attribute for which items should be deleted */ attribType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param name of the attribute used */ attribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>; /** @param size of the attribute used */ attribSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param comparison operator */ attribComparisonOperator: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param value of the attribute to compare with (when using float attribute) */ attribValue1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param value of the attribute to compare with (when using vector2 attribute) */ attribValue2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>; /** @param value of the attribute to compare with (when using vector3 attribute) */ attribValue3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; /** @param value of the attribute to compare with (when using vector4 attribute) */ attribValue4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR4>; /** @param value of the attribute to compare with (when using string attribute) */ attribString: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>; /** @param deletes objects that are inside a bounding box */ byBbox: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param the bounding box size */ bboxSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; /** @param the bounding box center */ bboxCenter: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; /** @param deletes objects that are inside an object. This uses the object from the 2nd input */ byBoundingObject: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param keeps points */ keepPoints: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; } export declare class DeleteSopNode extends TypedSopNode<DeleteSopParamsConfig> { paramsConfig: DeleteSopParamsConfig; static type(): SopType; private _markedForDeletionPerObjectIndex; readonly entitySelectionHelper: EntitySelectionHelper; readonly byExpressionHelper: ByExpressionHelper; readonly byAttributeHelper: ByAttributeHelper; readonly byObjectTypeHelper: ByObjectTypeHelper; readonly byBboxHelper: ByBboxHelper; readonly byBoundingObjectHelper: ByBoundingObjectHelper; initializeNode(): void; cook(inputCoreGroups: CoreGroup[]): Promise<void>; setAttribClass(attribClass: AttribClass): void; attribClass(): AttribClass; setAttribType(attribType: AttribType): void; attribType(): AttribType; private _evalForPoints; private _evalForPrimitives; private _evalForObjects; private _pointObject; } export {};