/****************************************************************************** * 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. *****************************************************************************/ namespace Spine { /// /// Stores the setup pose for a . /// /// See Physics constraints in the Spine User Guide. /// public class PhysicsConstraintData : ConstraintData { internal BoneData bone; internal float x, y, rotate, scaleX, shearX, limit, step; internal bool inertiaGlobal, strengthGlobal, dampingGlobal, massGlobal, windGlobal, gravityGlobal, mixGlobal; public PhysicsConstraintData (string name) : base(name, new PhysicsConstraintPose()) { } override public IConstraint Create (Skeleton skeleton) { return new PhysicsConstraint(this, skeleton); } /// The bone constrained by this physics constraint. public BoneData Bone { get { return bone; } } public float Step { get { return step; } set { step = value; } } public float X { get { return x; } set { x = value; } } public float Y { get { return y; } set { y = value; } } public float Rotate { get { return rotate; } set { rotate = value; } } public float ScaleX { get { return scaleX; } set { scaleX = value; } } public float ShearX { get { return shearX; } set { shearX = value; } } public float Limit { get { return limit; } set { limit = value; } } public bool InertiaGlobal { get { return inertiaGlobal; } set { inertiaGlobal = value; } } public bool StrengthGlobal { get { return strengthGlobal; } set { strengthGlobal = value; } } public bool DampingGlobal { get { return dampingGlobal; } set { dampingGlobal = value; } } public bool MassGlobal { get { return massGlobal; } set { massGlobal = value; } } public bool WindGlobal { get { return windGlobal; } set { windGlobal = value; } } public bool GravityGlobal { get { return gravityGlobal; } set { gravityGlobal = value; } } public bool MixGlobal { get { return mixGlobal; } set { mixGlobal = value; } } } }