Docs: Add intro to Edges
This commit is contained in:
parent
65152efdd1
commit
f15fedd2e2
|
@ -1,8 +1,31 @@
|
|||
Edges
|
||||
=====
|
||||
|
||||
Edges are what makes Boxes.py work. They draw a -- more or less -- straight
|
||||
border to the current piece. They are part of the turtle graphics part
|
||||
of Boxes.py. This means they start at the current position and current
|
||||
direction and move the current position to the end of the edge.
|
||||
|
||||
Edge instances have a Settings object associated with them that keeps
|
||||
the details about how the edge should look like. Edges that are
|
||||
supposed to work together share the same Settings object to ensure
|
||||
they fit together - assuming they have the same length. Most edges are
|
||||
symetrical to unsure they fit together even when drawn from different
|
||||
directions. Although there are a few exception - mainly edges that
|
||||
provide special features like hinges.
|
||||
|
||||
As edges started out as methods of the main Boxes class they still are
|
||||
callables. A set of instances are kept the ``.edges`` attribute of the
|
||||
callables. It turned out that the edges need to provide a bit more
|
||||
information to allow the surrounding code to handle them
|
||||
properly. When drawing an Edge there is a virtual straight line that
|
||||
is the border the shape of the part (e.g. an rectangle). But the
|
||||
actual Edge has often to be drawn elsewhere. Best example if probably
|
||||
the ``F`` Edge that matches the normal finger joints. It has to start
|
||||
one material thickness outside of the virual border of the part so the
|
||||
cutouts for the opposing fingers just touch the border. The Edge
|
||||
classes have a number of methods to deal with these kind of offsets.
|
||||
|
||||
A set of instances are kept the ``.edges`` attribute of the
|
||||
``Boxes`` class. It is a dict with strings of length one as keys:
|
||||
|
||||
* d : DoveTailJoint
|
||||
|
@ -18,9 +41,6 @@ callables. A set of instances are kept the ``.edges`` attribute of the
|
|||
* s : StackableEdge
|
||||
* S : StackableEdgeTop
|
||||
|
||||
Edges of the same type share a settings instance to make sure both
|
||||
sides match (when the same length is given).
|
||||
|
||||
Edge base class
|
||||
---------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue