import {BaseSopOperation} from "@polygonjs/polygonjs/dist/src/core/operations/sop/_Base";
import {InputCloneMode as InputCloneMode2} from "@polygonjs/polygonjs/dist/src/engine/poly/InputCloneMode";
import {Vector3 as Vector32} from "three/src/math/Vector3";
export var RBDAttributeMode;
(function(RBDAttributeMode2) {
  RBDAttributeMode2["OBJECTS"] = "objects";
  RBDAttributeMode2["POINTS"] = "points";
})(RBDAttributeMode || (RBDAttributeMode = {}));
export const RBD_ATTRIBUTE_MODES = [RBDAttributeMode.OBJECTS, RBDAttributeMode.POINTS];
export class PhysicsSolverSopOperation extends BaseSopOperation {
  static type() {
    return "physicsSolver";
  }
  cook(input_contents, params) {
    return input_contents[0];
  }
}
PhysicsSolverSopOperation.DEFAULT_PARAMS = {
  startFrame: 1,
  gravity: new Vector32(0, -9.81, 0),
  maxSubsteps: 2
};
PhysicsSolverSopOperation.INPUT_CLONED_STATE = [InputCloneMode2.ALWAYS, InputCloneMode2.NEVER, InputCloneMode2.NEVER];
