mirror of
https://github.com/Makuna/NeoPixelBus.git
synced 2025-08-07 04:44:26 +02:00
Created Layout objects (markdown)
60
Layout-objects.md
Normal file
60
Layout-objects.md
Normal file
@@ -0,0 +1,60 @@
|
||||
The layout objects are a collection of "feature" classes that define how items in a 2d grid are ordered.
|
||||
TERMINOLOGY: A "feature" or "method" class is used to define features for a template class and are not meant to be used directly.
|
||||
|
||||
## RowMajorLayout
|
||||
The first item is in the upper left. Then the numbering within the layout moves through the row, then continues on the left of the next row.
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
RowMajor90Layout -
|
||||
RowMajor180Layout -
|
||||
RowMajor270Layout -
|
||||
```
|
||||
no rotation rotated 90 rotated 180 rotated 270
|
||||
00 01 02 03 12 08 04 00 15 14 13 12 03 07 11 15
|
||||
04 05 06 07 13 09 05 01 11 10 09 08 02 06 10 14
|
||||
08 09 10 11 14 10 06 02 07 06 05 04 01 05 09 13
|
||||
12 13 14 15 15 11 07 03 03 02 01 00 00 04 08 12
|
||||
```
|
||||
|
||||
|
||||
## RowMajorAlternatingLayout
|
||||
The first item is in the upper left. Then the number within the layout moves through the row, then continues on the right of the next row moving toward the left; repeating this alternating pattern through the layout.
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
RowMajorAlternating90Layout -
|
||||
RowMajorAlternating180Layout -
|
||||
RowMajorAlternating270Layout -
|
||||
```
|
||||
no rotation rotated 90 rotated 180 rotated 270
|
||||
00 01 02 03 15 08 07 00 12 13 14 15 03 04 11 12
|
||||
07 06 05 04 14 09 06 01 11 10 09 08 02 05 10 13
|
||||
08 09 10 11 13 10 05 02 04 05 06 07 01 06 09 14
|
||||
15 14 13 12 12 11 04 03 03 02 01 00 00 07 08 15
|
||||
```
|
||||
|
||||
|
||||
## ColumnMajorLayout
|
||||
The first item in in the upper left. Then the number within the layout moves down the column, then continues on the top of the next column moving downward again.
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
ColumnMajor90Layout -
|
||||
ColumnMajor180Layout -
|
||||
ColumnMajor270Layout -
|
||||
```
|
||||
no rotation rotated 90 rotated 180 rotated 270
|
||||
00 04 08 12 03 02 01 00 15 11 07 03 12 13 14 15
|
||||
01 05 09 13 07 06 05 04 14 10 06 02 08 09 10 11
|
||||
02 06 10 14 11 10 09 08 13 09 05 01 04 05 06 07
|
||||
03 07 11 15 15 14 13 12 12 08 04 00 00 01 02 03
|
||||
```
|
||||
|
||||
## ColumnMajorAlternatingLayout
|
||||
The first item is in the upper left. Then the number within the layout moves down the column, then continues on the bottom of the next column moving toward the top; repeating this alternating pattern through the layout.
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
ColumnMajorAlternating90Layout -
|
||||
ColumnMajorAlternating180Layout -
|
||||
ColumnMajorAlternating270Layout -
|
||||
```
|
||||
no rotation rotated 90 rotated 180 rotated 270
|
||||
00 07 08 15 03 02 01 00 12 11 04 03 15 14 13 12
|
||||
01 06 09 14 04 05 06 07 13 10 05 02 08 09 10 11
|
||||
02 05 10 13 11 10 09 08 14 09 06 01 07 06 05 04
|
||||
03 04 11 12 12 13 14 15 15 08 07 00 00 01 02 03
|
||||
```
|
Reference in New Issue
Block a user