Moved logic to AdgStyle and left only get_pool() as virtual method
[adg.git] / README
blob07b5686658df304338b8855fdc9e124abde4befd
1 General Information
2 ===================
4 The ADG library (Automatic Drawing Generation) is a set of functions focused
5 on automating the drawing of mechanical parts.
7 It is not a CAD system but a GObject based library providing a non-interactive
8 cairo canvas where you can put common CAD entities such as paths, xatches and
9 quotes, to create your technical drawings.
11 If you want to develop an application that needs to show and print drawings,
12 also complex, where some data change but the overall design is ever the same
13 the ADG library comes in handy. In production factories, this is often a good
14 choice and could help to greatly improve the production in technical offices.
16 You can reach similar targets using parametric CADs but a custom application
17 provides the following benefits:
19 o More customizable
20 o Quicker and not so bloated as a parametric CAD
21 o Can be easily connected to a database
22 o The drawings are generated on-fly: this feature can be used, for instance,
23   in a dynamic site throught a web-based application
25 Installation
26 ============
28 The ADG library has the following dependencies:
30 o glib-2.10.1 or later (http://www.gtk.org)
31 o gcontainer v.1.99.2 or later (http://sourceforge.net/projects/gcontainer)
32 o cairo-1.6 or later (http://cairographics.org)
33 o gtk+ v.2.8 or later (http://www.gtk.org, for the demo program)
35 See the file 'INSTALL' for further details.
37 Design
38 ======
40 In one side there are the "entities", AdgEntity derived objects that define
41 WHAT to put in the drawing. These can be though as the widgets in Gtk+. The
42 entities can be grouped (using AdgContainer) in a hierarchy.
44 In the other side you have "contexts", one or more AdgContext instances that
45 specify HOW the entities must be rendered.