File indexing completed on 2024-04-14 14:10:37

0001 /*
0002     SPDX-FileCopyrightText: 2004 Jasem Mutlaq
0003     SPDX-FileCopyrightText: 2020 Eric Dejouhanet <eric.dejouhanet@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 
0007     Some code fragments were adapted from Peter Kirchgessner's FITS plugin
0008     SPDX-FileCopyrightText: Peter Kirchgessner <http://members.aol.com/pkirchg>
0009 */
0010 
0011 #ifndef FITSSKYOBJECT_H
0012 #define FITSSKYOBJECT_H
0013 
0014 #include <QObject>
0015 
0016 class SkyObject;
0017 
0018 class FITSSkyObject : public QObject
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     /** @brief Locate a SkyObject at a pixel position.
0024      * @param object is the SkyObject to locate in the frame.
0025      * @param xPos and yPos are the pixel position of the SkyObject in the frame.
0026      */
0027     explicit FITSSkyObject(SkyObject /*const*/ *object, int xPos, int yPos);
0028 
0029 public:
0030     /** @brief Getting the SkyObject this instance locates.
0031      */
0032     SkyObject /*const*/ *skyObject();
0033 
0034 public:
0035     /** @brief Getting the pixel position of the SkyObject this instance locates. */
0036     /** @{ */
0037     int x() const;
0038     int y() const;
0039     /** @} */
0040 
0041 public:
0042     /** @brief Setting the pixel position of the SkyObject this instance locates. */
0043     /** @{ */
0044     void setX(int xPos);
0045     void setY(int yPos);
0046     /** @} */
0047 
0048 protected:
0049     SkyObject /*const*/ *skyObjectStored { nullptr };
0050     int xLoc { 0 };
0051     int yLoc { 0 };
0052 };
0053 
0054 #endif // FITSSKYOBJECT_H