#ifndef HYPERCHEM_LIKE_BUILDER_H
#define HYPERCHEM_LIKE_BUILDER_H

//#ifndef CONTROLLER_H
//#include "Controller.h"
//#endif

#ifndef ORDER_H
#include "Order.h"
#endif

#ifndef DBC_H
#include "DbC.h"
#endif

namespace MM
{
class ID;
class Element;
class Model;

class HyperChem_like_builder 
: 
    //public Controller, 
    protected DbC
{
    Model       &model_;

public:
    const ID &                  create_atom(const Element & element );
    const ID &                  set_bond( const ID & atom1, const ID & atom2, Order );
    void                        setup_3d_geometry();

    //HyperChem_like_builder (Subject & subject, Model & model);
    explicit                    HyperChem_like_builder (Model & model);
};

}//MM

#endif //HYPERCHEM_LIKE_BUILDER_H
