@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
85 lines (84 loc) • 5.62 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, 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 {};