@esotericsoftware/spine-core
Version:
The official Spine Runtimes for the web.
55 lines • 7.98 kB
JavaScript
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated April 5, 2025. Replaces all prior versions.
*
* Copyright (c) 2013-2025, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
/** Stores a pose for a physics constraint. */
export class PhysicsConstraintPose {
/** Controls how much bone movement is converted into physics movement. */
inertia = 0;
/** The amount of force used to return properties to the unconstrained value. */
strength = 0;
/** Reduces the speed of physics movements, with more of a reduction at higher speeds. */
damping = 0;
/** Determines susceptibility to acceleration. */
massInverse = 0;
/** Applies a constant force along the {@link Skeleton.windX}, {@link Skeleton.windY} vector. */
wind = 0;
/** Applies a constant force along the {@link Skeleton.gravityX}, {@link Skeleton.gravityY} vector. */
gravity = 0;
/** A percentage (0+) that controls the mix between the constrained and unconstrained poses. */
mix = 0;
set(pose) {
this.inertia = pose.inertia;
this.strength = pose.strength;
this.damping = pose.damping;
this.massInverse = pose.massInverse;
this.wind = pose.wind;
this.gravity = pose.gravity;
this.mix = pose.mix;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGh5c2ljc0NvbnN0cmFpbnRQb3NlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1BoeXNpY3NDb25zdHJhaW50UG9zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFLL0UsOENBQThDO0FBQzlDLE1BQU0sT0FBTyxxQkFBcUI7SUFFakMsMEVBQTBFO0lBQzFFLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFFWixnRkFBZ0Y7SUFDaEYsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUViLHlGQUF5RjtJQUN6RixPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBRVosaURBQWlEO0lBQ2pELFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFaEIsZ0dBQWdHO0lBQ2hHLElBQUksR0FBRyxDQUFDLENBQUM7SUFFVCxzR0FBc0c7SUFDdEcsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUVaLCtGQUErRjtJQUMvRixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRUQsR0FBRyxDQUFFLElBQTJCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDO0NBR0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBTcGluZSBSdW50aW1lcyBMaWNlbnNlIEFncmVlbWVudFxuICogTGFzdCB1cGRhdGVkIEFwcmlsIDUsIDIwMjUuIFJlcGxhY2VzIGFsbCBwcmlvciB2ZXJzaW9ucy5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyNSwgRXNvdGVyaWMgU29mdHdhcmUgTExDXG4gKlxuICogSW50ZWdyYXRpb24gb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGludG8gc29mdHdhcmUgb3Igb3RoZXJ3aXNlIGNyZWF0aW5nXG4gKiBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyBpcyBwZXJtaXR0ZWQgdW5kZXIgdGhlIHRlcm1zIGFuZFxuICogY29uZGl0aW9ucyBvZiBTZWN0aW9uIDIgb2YgdGhlIFNwaW5lIEVkaXRvciBMaWNlbnNlIEFncmVlbWVudDpcbiAqIGh0dHA6Ly9lc290ZXJpY3NvZnR3YXJlLmNvbS9zcGluZS1lZGl0b3ItbGljZW5zZVxuICpcbiAqIE90aGVyd2lzZSwgaXQgaXMgcGVybWl0dGVkIHRvIGludGVncmF0ZSB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZVxuICogb3Igb3RoZXJ3aXNlIGNyZWF0ZSBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBTcGluZSBSdW50aW1lcyAoY29sbGVjdGl2ZWx5LFxuICogXCJQcm9kdWN0c1wiKSwgcHJvdmlkZWQgdGhhdCBlYWNoIHVzZXIgb2YgdGhlIFByb2R1Y3RzIG11c3Qgb2J0YWluIHRoZWlyIG93blxuICogU3BpbmUgRWRpdG9yIGxpY2Vuc2UgYW5kIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9kdWN0cyBpbiBhbnkgZm9ybSBtdXN0XG4gKiBpbmNsdWRlIHRoaXMgbGljZW5zZSBhbmQgY29weXJpZ2h0IG5vdGljZS5cbiAqXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMgQVJFIFBST1ZJREVEIEJZIEVTT1RFUklDIFNPRlRXQVJFIExMQyBcIkFTIElTXCIgQU5EIEFOWVxuICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRFxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRVNPVEVSSUMgU09GVFdBUkUgTExDIEJFIExJQUJMRSBGT1IgQU5ZXG4gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFU1xuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTLFxuICogQlVTSU5FU1MgSU5URVJSVVBUSU9OLCBPUiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUykgSE9XRVZFUiBDQVVTRUQgQU5EXG4gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GXG4gKiBUSEUgU1BJTkUgUlVOVElNRVMsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB0eXBlIHsgUG9zZSB9IGZyb20gXCIuL1Bvc2UuanNcIlxuaW1wb3J0IHR5cGUgeyBTa2VsZXRvbiB9IGZyb20gXCIuL1NrZWxldG9uLmpzXCI7XG5cbi8qKiBTdG9yZXMgYSBwb3NlIGZvciBhIHBoeXNpY3MgY29uc3RyYWludC4gKi9cbmV4cG9ydCBjbGFzcyBQaHlzaWNzQ29uc3RyYWludFBvc2UgaW1wbGVtZW50cyBQb3NlPFBoeXNpY3NDb25zdHJhaW50UG9zZT4ge1xuXG5cdC8qKiBDb250cm9scyBob3cgbXVjaCBib25lIG1vdmVtZW50IGlzIGNvbnZlcnRlZCBpbnRvIHBoeXNpY3MgbW92ZW1lbnQuICovXG5cdGluZXJ0aWEgPSAwO1xuXG5cdC8qKiBUaGUgYW1vdW50IG9mIGZvcmNlIHVzZWQgdG8gcmV0dXJuIHByb3BlcnRpZXMgdG8gdGhlIHVuY29uc3RyYWluZWQgdmFsdWUuICovXG5cdHN0cmVuZ3RoID0gMDtcblxuXHQvKiogUmVkdWNlcyB0aGUgc3BlZWQgb2YgcGh5c2ljcyBtb3ZlbWVudHMsIHdpdGggbW9yZSBvZiBhIHJlZHVjdGlvbiBhdCBoaWdoZXIgc3BlZWRzLiAqL1xuXHRkYW1waW5nID0gMDtcblxuXHQvKiogRGV0ZXJtaW5lcyBzdXNjZXB0aWJpbGl0eSB0byBhY2NlbGVyYXRpb24uICovXG5cdG1hc3NJbnZlcnNlID0gMDtcblxuXHQvKiogQXBwbGllcyBhIGNvbnN0YW50IGZvcmNlIGFsb25nIHRoZSB7QGxpbmsgU2tlbGV0b24ud2luZFh9LCB7QGxpbmsgU2tlbGV0b24ud2luZFl9IHZlY3Rvci4gKi9cblx0d2luZCA9IDA7XG5cblx0LyoqIEFwcGxpZXMgYSBjb25zdGFudCBmb3JjZSBhbG9uZyB0aGUge0BsaW5rIFNrZWxldG9uLmdyYXZpdHlYfSwge0BsaW5rIFNrZWxldG9uLmdyYXZpdHlZfSB2ZWN0b3IuICovXG5cdGdyYXZpdHkgPSAwO1xuXG5cdC8qKiBBIHBlcmNlbnRhZ2UgKDArKSB0aGF0IGNvbnRyb2xzIHRoZSBtaXggYmV0d2VlbiB0aGUgY29uc3RyYWluZWQgYW5kIHVuY29uc3RyYWluZWQgcG9zZXMuICovXG5cdG1peCA9IDA7XG5cblx0cHVibGljIHNldCAocG9zZTogUGh5c2ljc0NvbnN0cmFpbnRQb3NlKSB7XG5cdFx0dGhpcy5pbmVydGlhID0gcG9zZS5pbmVydGlhO1xuXHRcdHRoaXMuc3RyZW5ndGggPSBwb3NlLnN0cmVuZ3RoO1xuXHRcdHRoaXMuZGFtcGluZyA9IHBvc2UuZGFtcGluZztcblx0XHR0aGlzLm1hc3NJbnZlcnNlID0gcG9zZS5tYXNzSW52ZXJzZTtcblx0XHR0aGlzLndpbmQgPSBwb3NlLndpbmQ7XG5cdFx0dGhpcy5ncmF2aXR5ID0gcG9zZS5ncmF2aXR5O1xuXHRcdHRoaXMubWl4ID0gcG9zZS5taXg7XG5cdH1cblxuXG59XG4iXX0=