Index: trunk/doc/developer/data.html =================================================================== --- trunk/doc/developer/data.html (revision 10430) +++ trunk/doc/developer/data.html (revision 10431) @@ -5,10 +5,12 @@
Convention: typedef'd types are called pcb_*_t - the corresponding struct is pcb_*_s.
There is only one board being edited. A board is the model of the whole world for pcb-rnd - any other, auxiliary data is only a partial description of a board. The data struct for board is pcb_board_t. As of now, pcb-rnd edits only one @@ -27,6 +29,7 @@ Relevant structs, variables and functions are in board.[ch].
A pcb_data_t contains everything to describe the 2d geometry of an existing board:
Paste buffers are pcb_buffer_t; the main field is pcb_data_t.
Relevant structs, variables and functions are in buffer.[ch]. @@ -61,6 +65,7 @@ to a buffer, the layer references are generalized.
Layers are abstract canvases also serving as a logical grouping of drawing primitives. Every layer is part of exactly one layer group. A layer group is close to what a physical layer is on @@ -103,6 +108,7 @@
Global data affect all layers. The most trivial example is via: it has a hole and the same copper ring on all layers. Another global object pcb_data_t holds is an element. An element can have pads @@ -113,10 +119,12 @@ a pcb_data_t, which allows arbitrary (loop-free) recursion in data.
The data struct has a pcb_layer_t for each logical layer, to host the per layer objects (drawing primitives).
Layer data is stored in struct pcb_layer_t. A layer has a list for each object type (drawing primitive type): arcs, lines, polygons, etc.