/* * GeometryObject.hpp * * Created on: Mar 25, 2017 * Author: heber */ #ifndef GEOMETRY_GEOMETRYOBJECT_HPP_ #define GEOMETRY_GEOMETRYOBJECT_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include #include "LinearAlgebra/Vector.hpp" /** This class encapsulates the Vector for use in the storage. * * We need to add a name to the Vector, hence we store it directly * more generally as a GeometryObject (if later other objects such * as lines, planes need to be added). */ class GeometryObject { public: /** Cstor for the GeometryObject. * * \param _v vector to use * \param _name name to set */ GeometryObject(const Vector &_v, const std::string &_name) : name(_name), v(_v) {} /** Getter for the object. * * \return vector v */ Vector getVector() const { return v; } /** Setter for the name of the object. * * \param _name */ void setName(const std::string &_name) { name = _name; } /** Getter for the name of the object. * * \return name */ const std::string& getName() const { return name; } private: //!> name of object std::string name; //!> contained geometry, namely a vector Vector v; }; std::ostream& operator<<(std::ostream &, const GeometryObject &_vec); #endif /* GEOMETRY_GEOMETRYOBJECT_HPP_ */