The vertices database can be seen as a dictionary binding geometrical coordinates to name given by user in operator parameter. Other geometrical elements such as face or edge reference a physical point by its symbol name. This way, each other component using a point share the same physical data and thus the same coordinates. This symbol referencing paradigm is useful in our case to guarantee unicity of each vertex. Vertex object structure is the following:
Its shifting values (dx and dy) are values expressed in millimeter in a local direct coordinate system centered in the point. Those extra coordinates are used to separate visually two points at the same position. The operator related to those values is mainly \shift (cf. § for more information).
An equivalence notion has been defined between two different vertices. Two different vertices could be considerate as sharing the same position if the norm the vector they form is lesser than (a very small value equal to ).
Vertices can't be removed from the database according to the assumption that points defined on a physical paper can't be removed once they have been defined. Each new vertex definition is added to the database and then, the vertex can be used/referenced. The vertices database can be accessed from any part of a Doodle source file and its lifetime is also global.
Nevertheless, user can remove all graphical elements previously defined using the operator \reset.