#ifndef COORDINATES_FRAME_H
#define COORDINATES_FRAME_H

#ifndef COORDINATES_H
#include "Coordinates.h"
#endif

namespace MM
{
class Atom_group;

class Coordinates_frame : public Coordinates
{
protected:
    Atom_group &            group_;

public:
    explicit Coordinates_frame (Atom_group & group);

    virtual int             size () const;
    virtual void            get (double *values) const;
    virtual void            set (double const* new_values);
    virtual void            add (double const* values);
    //virtual void            add_scaled (double scale, double const* values);
    virtual void            multiply (double value);
    //virtual Linear_combination_handler  linear_combination (double a);
};

}//MM

#endif //COORDINATES_FRAME_H
