9 /// a symbol which can be translated, and freely copied
16 void translate(Offset o) {
20 /// how big is #this#?
26 String TeXstring() const;
29 /// a group of #Atom#s
31 IPointerList<Atom*> ats; // change to List<Atom>?
36 Molecule(Atom a) { add(a) ; }
38 void add_right(const Molecule &m);
39 void add_left(const Molecule &m);
40 void add_top(const Molecule &m);
41 void add_bottom(const Molecule &m);
42 void add(Molecule const &m);
43 void translate(Offset);
44 void add(Atom a) { ats.bottom().add(new Atom(a)); }
45 /// how big is #this#?
48 String TeXstring() const;
50 Molecule(const Molecule&s);
53 void operator=(const Molecule&);
55 /** a group of individually translated symbols. You can add molecules
56 to the top, to the right, etc. */