1 /** 2 * Abstract; see an implementing class. 3 * 4 * @class Represents a constraint that acts on particles. Note that this 5 * interface does not specify how to bind a constraint to specific particles; in 6 * general, constraints are applied globally to all particles. However, some 7 * constraints may be applied to specific particles or between particles, such 8 * as position constraints, through additional specialization. 9 * 10 * @see pv.Simulation 11 * @see pv.Particle 12 * @see pv.Constraint.bound 13 * @see pv.Constraint.collision 14 * @see pv.Constraint.position 15 */ 16 pv.Constraint = {}; 17 18 /** 19 * Applies this constraint to the specified particles. 20 * 21 * @function 22 * @name pv.Constraint.prototype.apply 23 * @param {pv.Particle} particles particles to which to apply this constraint. 24 * @param {pv.Quadtree} q a quadtree for spatial acceleration. 25 * @returns {pv.Constraint} this. 26 */ 27