diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 4faf796..6eeaa72 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -32,7 +32,7 @@ protected: QImage imageData; public: /*! - * \brief The Construcor of the Shaped Image. Given the Image dimensions. + * \brief The Construcor of the IntelliImage. Given the Image dimensions. * \param weight - The weight of the Image. * \param height - The height of the Image. */ @@ -60,6 +60,14 @@ public: */ virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); + /*! + * \brief A + * \param p1 + * \param color + * \param penWidth + */ + virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth); + /*! * \brief A function that clears the whole image in a given Color. * \param color - The color, in which the image will be filled. diff --git a/src/Image/IntelliRasterImage.h b/src/Image/IntelliRasterImage.h index 31b5b2a..39f73b3 100644 --- a/src/Image/IntelliRasterImage.h +++ b/src/Image/IntelliRasterImage.h @@ -4,24 +4,53 @@ #include"Image/IntelliImage.h" /*! - * \brief The IntelliRasterImage manages a simple Rasterimage + * \brief The IntelliRasterImage manages a Rasterimage. */ class IntelliRasterImage : public IntelliImage{ friend IntelliTool; protected: + /*! + * \brief A function that calculates the visibility of the image if a polygon is given. [does nothing in Rasterimage] + */ virtual void calculateVisiblity() override; public: + /*! + * \brief The Construcor of the IntelliRasterImage. Given the Image dimensions. + * \param weight - The weight of the Image. + * \param height - The height of the Image. + */ IntelliRasterImage(int weight, int height); + + /*! + * \brief An Destructor. + */ virtual ~IntelliRasterImage() override; - //returns the filtered output + /*! + * \brief A function returning the displayable ImageData in a requested transparence and size. + * \param displaySize - The size, in whcih the Image should be displayed. + * \param alpha - The maximum alpha value, a pixel can have. + * \return A QImage which is ready to be displayed. + */ virtual QImage getDisplayable(const QSize& displaySize,int alpha) override; + + /** + * @brief A function returning the displayable ImageData in a requested transparence and it's standart size. + * @param alpha - The maximum alpha value, a pixel can have. + * @return A QImage which is ready to be displayed. + */ virtual QImage getDisplayable(int alpha=255) override; - //gets a copy of the image !allocated + /*! + * \brief A function that copys all that returns a [allocated] Image + * \return A [allocated] Image with all the properties of the instance. + */ virtual IntelliImage* getDeepCopy() override; - //sets the data for the visible image + /*! + * \brief An abstract function that sets the data of the visible Polygon, if needed. + * \param polygonData - The Vertices of the Polygon. Nothing happens. + */ virtual void setPolygon(const std::vector& polygonData) override; }; diff --git a/src/Image/IntelliShapedImage.h b/src/Image/IntelliShapedImage.h index 9e9518f..fa45703 100644 --- a/src/Image/IntelliShapedImage.h +++ b/src/Image/IntelliShapedImage.h @@ -5,28 +5,71 @@ #include #include"IntelliHelper/IntelliHelper.h" +/*! + * \brief The IntelliShapedImage manages a Shapedimage. + */ class IntelliShapedImage : public IntelliRasterImage{ friend IntelliTool; private: + /*! + * \brief The Triangulation of the Polygon. Saved here for performance reasons. + */ std::vector triangles; + + /*! + * \brief Calculates the visibility based on the underlying polygon. + */ + virtual void calculateVisiblity() override; protected: + /*! + * \brief The Vertices of The Polygon. Needs to be a planar Polygon. + */ std::vector polygonData; public: + /*! + * \brief The Construcor of the IntelliShapedImage. Given the Image dimensions. + * \param weight - The weight of the Image. + * \param height - The height of the Image. + */ IntelliShapedImage(int weight, int height); + + /*! + * \brief An Destructor. + */ virtual ~IntelliShapedImage() override; - virtual void calculateVisiblity() override; - - //returns the filtered output + /*! + * \brief A function returning the displayable ImageData in a requested transparence and size. + * \param displaySize - The size, in whcih the Image should be displayed. + * \param alpha - The maximum alpha value, a pixel can have. + * \return A QImage which is ready to be displayed. + */ virtual QImage getDisplayable(const QSize& displaySize, int alpha=255) override; + + /** + * @brief A function returning the displayable ImageData in a requested transparence and it's standart size. + * @param alpha - The maximum alpha value, a pixel can have. + * @return A QImage which is ready to be displayed. + */ virtual QImage getDisplayable(int alpha=255) override; - //gets a copy of the image !allocated + /*! + * \brief A function that copys all that returns a [allocated] Image + * \return A [allocated] Image with all the properties of the instance. + */ virtual IntelliImage* getDeepCopy() override; + + /*! + * \brief A function that returns the Polygondata if existent. + * \return The Polygondata if existent. + */ virtual std::vector getPolygonData() override{return polygonData;} - //sets the data for the visible image + /*! + * \brief A function that sets the data of the visible Polygon. + * \param polygonData - The Vertices of the Polygon. Just Planar Polygons are allowed. + */ virtual void setPolygon(const std::vector& polygonData) override; }; diff --git a/src/Tool/IntelliToolCircle.cpp b/src/Tool/IntelliToolCircle.cpp index a129d7d..00fb812 100644 --- a/src/Tool/IntelliToolCircle.cpp +++ b/src/Tool/IntelliToolCircle.cpp @@ -77,7 +77,6 @@ void IntelliToolCircle::onWheelScrolled(int value){ } void IntelliToolCircle::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); if(this->drawing){ this->Canvas->image->drawPlain(Qt::transparent); QPoint next(x,y); diff --git a/src/Tool/IntelliToolLine.cpp b/src/Tool/IntelliToolLine.cpp index 0b088cd..6573687 100644 --- a/src/Tool/IntelliToolLine.cpp +++ b/src/Tool/IntelliToolLine.cpp @@ -43,7 +43,6 @@ void IntelliToolLine::onWheelScrolled(int value){ } void IntelliToolLine::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); if(this->drawing){ this->Canvas->image->drawPlain(Qt::transparent); QPoint next(x,y); diff --git a/src/Tool/IntelliToolRectangle.cpp b/src/Tool/IntelliToolRectangle.cpp index 0c89762..018ff99 100644 --- a/src/Tool/IntelliToolRectangle.cpp +++ b/src/Tool/IntelliToolRectangle.cpp @@ -50,7 +50,6 @@ void IntelliToolRectangle::onMouseLeftReleased(int x, int y){ } void IntelliToolRectangle::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); if(this->drawing){ this->Canvas->image->drawPlain(Qt::transparent); QPoint next(x,y);