Class TransformDelta
Represents a collection of transform scale changes for procedural animation. Analogous to MaterialDelta but for transform scale instead of material colors.
Combination Semantics: Uses last-write-wins per TransformId. When combining two TransformDeltas, entries from the other delta overwrite existing entries with the same TransformId. This is deterministic given consistent ordering.
Weight Semantics: Weight represents blend strength, not multiplicative contribution. A weight of 0 means "no change" (identity scale preserved), and 1 means "full delta applied". The applier is responsible for lerping between identity and delta scale based on weight.
Inherited Members
Namespace: Serenity.ProceduralExpression.Domain.Entities
Assembly: Serenity.ProceduralExpression.Domain.dll
Syntax
public class TransformDelta
Constructors
TransformDelta()
Creates an empty TransformDelta with no entries.
Declaration
public TransformDelta()
Properties
Count
Gets the number of entries in this delta.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| int |
IsEmpty
Checks if this delta has any entries.
Declaration
public bool IsEmpty { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
Clear()
Clears all transform scale entries.
Declaration
public void Clear()
Clone()
Creates a deep copy of this TransformDelta.
Declaration
public TransformDelta Clone()
Returns
| Type | Description |
|---|---|
| TransformDelta | A new TransformDelta with the same entries. |
Combine(TransformDelta)
Combines another TransformDelta into this one using last-write-wins semantics. Entries from the other delta overwrite existing entries with the same TransformId.
Declaration
public void Combine(TransformDelta other)
Parameters
| Type | Name | Description |
|---|---|---|
| TransformDelta | other | The TransformDelta to merge into this one. |
GetEntries()
Gets all transform scale entries for applier access.
Declaration
public IReadOnlyDictionary<TransformId, TransformScaleData> GetEntries()
Returns
| Type | Description |
|---|---|
| IReadOnlyDictionary<TransformId, TransformScaleData> | Read-only dictionary of TransformId to TransformScaleData. |
MultiplyLocalScale(TransformId, Vector3, float)
Sets the scale multiplier for a transform target with the specified blend weight. If an entry already exists for this TransformId, it is overwritten.
Declaration
public void MultiplyLocalScale(TransformId id, Vector3 scaleMultiplier, float weight = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| TransformId | id | The transform target identifier. |
| Vector3 | scaleMultiplier | The scale multiplier to apply (1,1,1 = no change). |
| float | weight | Blend weight (0-1). Default is 1 (full application). |
Scale(float)
Scales all internal weights by the given factor. Used for layer blending where the layer itself has a weight.
Declaration
public void Scale(float weight)
Parameters
| Type | Name | Description |
|---|---|---|
| float | weight | The weight multiplier (0-1). |