logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class PoseDelta

    Represents a collection of bone offsets for procedural animation. Position offsets are additive (base + offset). Rotation offsets use quaternion multiplication (base * offset). Combination is deterministic and order-stable.

    Inheritance
    object
    PoseDelta
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.ProceduralExpression.Domain.Entities
    Assembly: Serenity.ProceduralExpression.Domain.dll
    Syntax
    public class PoseDelta

    Constructors

    PoseDelta()

    Creates an empty PoseDelta with no offsets.

    Declaration
    public PoseDelta()

    Properties

    PositionOffsets

    Position offsets per bone (local space, additive).

    Declaration
    public Dictionary<BoneId, Vector3> PositionOffsets { get; }
    Property Value
    Type Description
    Dictionary<BoneId, Vector3>

    RotationOffsets

    Rotation offsets per bone (local space, quaternion multiplication).

    Declaration
    public Dictionary<BoneId, Quaternion> RotationOffsets { get; }
    Property Value
    Type Description
    Dictionary<BoneId, Quaternion>

    Methods

    AddPosition(BoneId, Vector3)

    Adds a position offset for the specified bone (additive). If the bone already has an offset, the new offset is added to it.

    Declaration
    public void AddPosition(BoneId boneId, Vector3 offset)
    Parameters
    Type Name Description
    BoneId boneId
    Vector3 offset

    AddRotation(BoneId, Quaternion)

    Adds a rotation offset for the specified bone (quaternion multiplication). If the bone already has an offset, the new offset is multiplied with it.

    Declaration
    public void AddRotation(BoneId boneId, Quaternion offset)
    Parameters
    Type Name Description
    BoneId boneId
    Quaternion offset

    Clear()

    Clears all position and rotation offsets.

    Declaration
    public void Clear()

    Clone()

    Creates a deep copy of this PoseDelta.

    Declaration
    public PoseDelta Clone()
    Returns
    Type Description
    PoseDelta

    Combine(PoseDelta)

    Combines another PoseDelta into this one. Position offsets are added, rotation offsets are multiplied.

    Declaration
    public void Combine(PoseDelta other)
    Parameters
    Type Name Description
    PoseDelta other

    Scale(float)

    Scales all offsets in this PoseDelta by the given weight. Position offsets are multiplied by weight. Rotation offsets are spherically interpolated from identity.

    Declaration
    public void Scale(float weight)
    Parameters
    Type Name Description
    float weight
    In this article
    © 2026 Serenity. All Rights Reserved