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.
Inherited Members
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 |