[AdgEntity] Implemented global and local maps
commited0a28ea42d9f7c0d5816c334953f09ab43f5180
authorNicola Fontana <ntd@entidi.it>
Thu, 13 Aug 2009 22:55:47 +0000 (14 00:55 +0200)
committerNicola Fontana <ntd@entidi.it>
Thu, 13 Aug 2009 22:55:47 +0000 (14 00:55 +0200)
treed90228c54256cd2b6deb27ba86b01e7c3306a16b
parenta5bbd6cf2a4c4ce58cf833664a3b843f48cf318b
[AdgEntity] Implemented global and local maps

First step toward the new matrix management. The basic idea is similar
to the previous one, that is holding two different matrices to handle
model and paper spaces, but there are some notable differences.

- Map is now used instead of transformation: it is a lot shorter and
  not so misleading (after all, affine transformation == affine map).

- The two matrices are now called "global" (instead of paper) and
  "local" (instead of model). In my opinion the new names are a lot
  better: "global" affects everything while "local" is supposed to
  affect only something. What really means "local" should be entity
  dependend, there could be something affected by "local" that it is
  not a model and I don't want to lock the meaning.

- Above all, any entity (not only AdgContainer) will have its local
  and global matrices. This allows to specify affine transformations
  (such as translation or rotation) on an entity basis, so I can get
  rid of the sucking AdgTranslatable and AdgRotable interfaces,
  togheter with the dumb AdgPoint type. Matrices should be used
  consistently for every transformation.
adg/adg-entity-private.h
adg/adg-entity.c
adg/adg-entity.h