Files
2026-07-13 13:13:17 +08:00

85 lines
2.7 KiB
C#

namespace Lib.point.transform;
[Guid("20338d1c-e4d3-4208-8f65-e1b720b8b563")]
internal sealed class TransformSomePoints : Instance<TransformSomePoints>
,ITransformable
{
[Output(Guid = "f2321270-09ec-4335-87da-0f829c40c61e")]
public readonly TransformCallbackSlot<BufferWithViews> Output = new();
public TransformSomePoints()
{
Output.TransformableOp = this;
}
IInputSlot ITransformable.TranslationInput => Translation;
IInputSlot ITransformable.RotationInput => Rotation;
IInputSlot ITransformable.ScaleInput => Scale;
public Action<Instance, EvaluationContext> TransformCallback { get; set; }
[Input(Guid = "e6fcfecd-6ebe-479b-9454-fb40e9a2b9d0")]
public readonly InputSlot<BufferWithViews> Points = new();
[Input(Guid = "47997c7d-c1a7-444d-ba6b-d1dcbe935efb")]
public readonly InputSlot<Vector3> Translation = new();
[Input(Guid = "a0de0994-8870-4ff4-add2-04e235ec9a91")]
public readonly InputSlot<Vector3> Rotation = new();
[Input(Guid = "deebe64c-54d7-4d21-9a08-57aa1e39a094")]
public readonly InputSlot<Vector3> Scale = new();
[Input(Guid = "d1e74275-2f54-48d2-a376-1f34b1bde52e")]
public readonly InputSlot<float> UniformScale = new();
[Input(Guid = "e40f0693-f8eb-415f-81d0-17d37fea0718")]
public readonly InputSlot<bool> UpdateRotation = new();
[Input(Guid = "9c62ba5f-a191-4dc7-9886-4ec161f48571")]
public readonly InputSlot<float> ScaleW = new();
[Input(Guid = "0538efbc-bf43-4d93-b7f3-1e307757d874")]
public readonly InputSlot<float> OffsetW = new();
[Input(Guid = "d7a66d66-35d6-4f2d-8b99-5df2a5e7a65b")]
public readonly InputSlot<int> Space = new();
[Input(Guid = "79bbf891-3dae-43a4-a774-558d4909c269")]
public readonly InputSlot<bool> WIsWeight = new();
[Input(Guid = "d92bd07c-255a-4dbd-90cf-860493eeb0cf")]
public readonly InputSlot<float> Start = new();
[Input(Guid = "7ddbe8c0-05ed-46fe-ae79-f6110f4fd65a")]
public readonly InputSlot<float> LengthFactor = new();
[Input(Guid = "605dd318-4462-43c3-940c-6709a75b7f95")]
public readonly InputSlot<int> Take = new();
[Input(Guid = "83ab882e-086e-4533-b20a-cf8ed8339f7b")]
public readonly InputSlot<int> Skip = new();
[Input(Guid = "ac9fb4d0-683a-4175-987a-bc68bd1046e0")]
public readonly InputSlot<float> Scatter = new();
[Input(Guid = "4313cb43-3b76-4a48-a052-79a3a26bfe79")]
public readonly InputSlot<bool> OnlyKeepTake = new();
[Input(Guid = "85856e10-0998-4fc3-aa0d-d715c3da9b2a")]
public readonly InputSlot<float> TestParam = new();
private enum Spaces
{
PointSpace,
ObjectSpace,
}
}