namespace Lib.point.generate; [Guid("e46b50ce-c84f-46bb-b8e7-dea2a64a1bdc")] internal sealed class GridPoints : Instance ,ITransformable { [Output(Guid = "ac93edb1-0c2f-44ed-b8f1-07d8cb65c9ca")] public readonly TransformCallbackSlot OutBuffer = new(); public GridPoints() { OutBuffer.TransformableOp = this; } IInputSlot ITransformable.TranslationInput => Center; IInputSlot ITransformable.RotationInput => null; IInputSlot ITransformable.ScaleInput => null; public Action TransformCallback { get; set; } [Input(Guid = "b071b537-5ee5-4bb6-bee5-b1e50183d93f")] public readonly InputSlot CountX = new InputSlot(); [Input(Guid = "3a8a5f10-62ff-41e5-9aba-c265308cf508")] public readonly InputSlot CountY = new InputSlot(); [Input(Guid = "761d5fce-a563-48e5-8adb-7eca1bc3a7cc")] public readonly InputSlot CountZ = new InputSlot(); [Input(Guid = "a68007ea-ca2f-4a16-85f6-2cbfcd87f4d8", MappedType = typeof(SizeModes))] public readonly InputSlot SizeMode = new InputSlot(); [Input(Guid = "6c383241-6807-4156-99ad-aa4dd22dfaf1")] public readonly InputSlot Size = new InputSlot(); [Input(Guid = "2e3f0337-c7c1-4dff-9a84-ab7e5fbc3d18")] public readonly InputSlot Scale = new InputSlot(); [Input(Guid = "88793605-2c2a-43fb-9826-55db1152a716")] public readonly InputSlot Center = new InputSlot(); [Input(Guid = "c647e9b7-352c-4724-bede-49f634bd9cc8")] public readonly InputSlot Pivot = new InputSlot(); [Input(Guid = "92561930-2660-4b52-8002-4b9d4cdb3784", MappedType = typeof(Tilings))] public readonly InputSlot Tiling = new InputSlot(); [Input(Guid = "bd0ebb71-65f0-477b-8352-20790919f751")] public readonly InputSlot PointScale = new InputSlot(); [Input(Guid = "fb12b9be-fc8a-4c68-bd40-f6a0f04f3c38")] public readonly InputSlot F1 = new InputSlot(); [Input(Guid = "48aae87f-0e7a-47aa-bd67-b4739a587a3d")] public readonly InputSlot F2 = new InputSlot(); [Input(Guid = "bb24860b-8e08-4c98-8519-386c3f45c4d9")] public readonly InputSlot Color = new InputSlot(); [Input(Guid = "a3653d07-18b7-491d-8b19-dfb21c4a0683")] public readonly InputSlot OrientationAxis = new InputSlot(); [Input(Guid = "beb3eb7c-716c-421f-9d91-4d37c472bbbe")] public readonly InputSlot OrientationAngle = new InputSlot(); [Input(Guid = "0bdd788b-e0ce-4f15-877c-6b8e3f0749dc")] public readonly InputSlot W = new InputSlot(); private enum SizeModes { Cell, Bounds, } private enum Tilings { Cartesian, Triangular, HoneyCombs, Diagonal, } }