diff --git a/toonz/sources/include/tools/assistants/guidelineellipse.h b/toonz/sources/include/tools/assistants/guidelineellipse.h new file mode 100644 index 0000000..c8b1607 --- /dev/null +++ b/toonz/sources/include/tools/assistants/guidelineellipse.h @@ -0,0 +1,55 @@ +#pragma once + +#ifndef GUIDELINEELLIPSE_INCLUDED +#define GUIDELINEELLIPSE_INCLUDED + +// TnzTools includes +#include + + +#undef DVAPI +#undef DVVAR +#ifdef TNZTOOLS_EXPORTS +#define DVAPI DV_EXPORT_API +#define DVVAR DV_EXPORT_VAR +#else +#define DVAPI DV_IMPORT_API +#define DVVAR DV_IMPORT_VAR +#endif + + +//============================================================== + +//***************************************************************************************** +// TGuidelineEllipse definition +//***************************************************************************************** + +class DVAPI TGuidelineEllipse : public TGuideline { +public: + const TAffine matrix; + const TAffine matrixInv; + + TGuidelineEllipse( + bool enabled, + double magnetism, + TAffine matrix ); + + TGuidelineEllipse( + bool enabled, + double magnetism, + TAffine matrix, + TAffine matrixInv ); + + //! returns false when ellipse is invisible + static bool truncateEllipse( + TAngleRangeSet &ranges, + const TAffine &ellipseMatrixInv, + const TRectD &bounds ); + + static int calcSegmentsCount(const TAffine &ellipseMatrix, double pixelSize); + + TTrackPoint transformPoint(const TTrackPoint &point) const override; + void draw(bool active, bool enabled) const override; +}; + +#endif diff --git a/toonz/sources/include/tools/assistants/guidelineline.h b/toonz/sources/include/tools/assistants/guidelineline.h new file mode 100644 index 0000000..7373be9 --- /dev/null +++ b/toonz/sources/include/tools/assistants/guidelineline.h @@ -0,0 +1,83 @@ +#pragma once + +#ifndef GUIDELINELINE_INCLUDED +#define GUIDELINELINE_INCLUDED + +// TnzTools includes +#include + + +#undef DVAPI +#undef DVVAR +#ifdef TNZTOOLS_EXPORTS +#define DVAPI DV_EXPORT_API +#define DVVAR DV_EXPORT_VAR +#else +#define DVAPI DV_IMPORT_API +#define DVVAR DV_IMPORT_VAR +#endif + + +//============================================================== + +//***************************************************************************************** +// TGuidelineLineBase definition +//***************************************************************************************** + +class DVAPI TGuidelineLineBase : public TGuideline { +public: + const TPointD p0; + const TPointD p1; + + TGuidelineLineBase(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); + void drawLine(const TPointD &p0, const TPointD &p1, bool restrict0, bool restrict1, bool active, bool enabled) const; + static TPointD calcDirection(const TPointD &p0, const TPointD &p1); + static bool truncateInfiniteLine(const TRectD &bounds, TPointD &p0, TPointD &p1); + static bool truncateRay(const TRectD &bounds, TPointD &p0, TPointD &p1); + static bool truncateLine(const TRectD &bounds, TPointD &p0, TPointD &p1); +}; + + +//***************************************************************************************** +// TGuidelineLine definition +//***************************************************************************************** + +class DVAPI TGuidelineLine : public TGuidelineLineBase { +public: + const TPointD dir; + const double dist; + + TGuidelineLine(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); + TTrackPoint transformPoint(const TTrackPoint &point) const override; + void draw(bool active, bool enabled) const override; +}; + + +//***************************************************************************************** +// TGuidelineInfiniteLine definition +//***************************************************************************************** + +class DVAPI TGuidelineInfiniteLine : public TGuidelineLineBase { +public: + const TPointD dir; + + TGuidelineInfiniteLine(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); + TTrackPoint transformPoint(const TTrackPoint &point) const override; + void draw(bool active, bool enabled) const override; +}; + + +//***************************************************************************************** +// TGuidelineRay definition +//***************************************************************************************** + +class DVAPI TGuidelineRay : public TGuidelineLineBase { +public: + const TPointD dir; + + TGuidelineRay(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); + TTrackPoint transformPoint(const TTrackPoint &point) const override; + void draw(bool active, bool enabled) const override; +}; + +#endif diff --git a/toonz/sources/tnztools/CMakeLists.txt b/toonz/sources/tnztools/CMakeLists.txt index 51f2e70..101eb4e 100644 --- a/toonz/sources/tnztools/CMakeLists.txt +++ b/toonz/sources/tnztools/CMakeLists.txt @@ -55,8 +55,8 @@ set(HEADERS ../include/tools/modifiers/modifiertest.h ../include/tools/modifiers/modifiersegmentation.h ../include/tools/modifiers/modifierassistants.h - assistants/guidelineline.h - assistants/guidelineellipse.h + ../include/tools/assistants/guidelineline.h + ../include/tools/assistants/guidelineellipse.h ) set(SOURCES diff --git a/toonz/sources/tnztools/assistants/assistantellipse.cpp b/toonz/sources/tnztools/assistants/assistantellipse.cpp index 1a8666f..9a2c5c0 100644 --- a/toonz/sources/tnztools/assistants/assistantellipse.cpp +++ b/toonz/sources/tnztools/assistants/assistantellipse.cpp @@ -1,10 +1,9 @@ -#include "guidelineline.h" -#include "guidelineellipse.h" - // TnzTools includes #include +#include +#include // TnzCore includes #include diff --git a/toonz/sources/tnztools/assistants/assistantline.cpp b/toonz/sources/tnztools/assistants/assistantline.cpp index 01aaaa7..ff2a9b4 100644 --- a/toonz/sources/tnztools/assistants/assistantline.cpp +++ b/toonz/sources/tnztools/assistants/assistantline.cpp @@ -1,9 +1,9 @@ -#include "guidelineline.h" - // TnzTools includes #include +#include + // TnzCore includes #include diff --git a/toonz/sources/tnztools/assistants/assistantvanishingpoint.cpp b/toonz/sources/tnztools/assistants/assistantvanishingpoint.cpp index 163e3ab..94867e0 100644 --- a/toonz/sources/tnztools/assistants/assistantvanishingpoint.cpp +++ b/toonz/sources/tnztools/assistants/assistantvanishingpoint.cpp @@ -1,9 +1,8 @@ -#include "guidelineline.h" - // TnzTools includes #include +#include // TnzCore includes #include diff --git a/toonz/sources/tnztools/assistants/guidelineellipse.cpp b/toonz/sources/tnztools/assistants/guidelineellipse.cpp index 068a68b..51014c2 100644 --- a/toonz/sources/tnztools/assistants/guidelineellipse.cpp +++ b/toonz/sources/tnztools/assistants/guidelineellipse.cpp @@ -1,6 +1,6 @@ -#include "guidelineellipse.h" +#include // TnzCore includes #include "tgl.h" diff --git a/toonz/sources/tnztools/assistants/guidelineellipse.h b/toonz/sources/tnztools/assistants/guidelineellipse.h deleted file mode 100644 index c8b1607..0000000 --- a/toonz/sources/tnztools/assistants/guidelineellipse.h +++ /dev/null @@ -1,55 +0,0 @@ -#pragma once - -#ifndef GUIDELINEELLIPSE_INCLUDED -#define GUIDELINEELLIPSE_INCLUDED - -// TnzTools includes -#include - - -#undef DVAPI -#undef DVVAR -#ifdef TNZTOOLS_EXPORTS -#define DVAPI DV_EXPORT_API -#define DVVAR DV_EXPORT_VAR -#else -#define DVAPI DV_IMPORT_API -#define DVVAR DV_IMPORT_VAR -#endif - - -//============================================================== - -//***************************************************************************************** -// TGuidelineEllipse definition -//***************************************************************************************** - -class DVAPI TGuidelineEllipse : public TGuideline { -public: - const TAffine matrix; - const TAffine matrixInv; - - TGuidelineEllipse( - bool enabled, - double magnetism, - TAffine matrix ); - - TGuidelineEllipse( - bool enabled, - double magnetism, - TAffine matrix, - TAffine matrixInv ); - - //! returns false when ellipse is invisible - static bool truncateEllipse( - TAngleRangeSet &ranges, - const TAffine &ellipseMatrixInv, - const TRectD &bounds ); - - static int calcSegmentsCount(const TAffine &ellipseMatrix, double pixelSize); - - TTrackPoint transformPoint(const TTrackPoint &point) const override; - void draw(bool active, bool enabled) const override; -}; - -#endif diff --git a/toonz/sources/tnztools/assistants/guidelineline.cpp b/toonz/sources/tnztools/assistants/guidelineline.cpp index e3f3b50..9018ccb 100644 --- a/toonz/sources/tnztools/assistants/guidelineline.cpp +++ b/toonz/sources/tnztools/assistants/guidelineline.cpp @@ -1,6 +1,6 @@ -#include "guidelineline.h" +#include // TnzCore includes #include "tgl.h" diff --git a/toonz/sources/tnztools/assistants/guidelineline.h b/toonz/sources/tnztools/assistants/guidelineline.h deleted file mode 100644 index 7373be9..0000000 --- a/toonz/sources/tnztools/assistants/guidelineline.h +++ /dev/null @@ -1,83 +0,0 @@ -#pragma once - -#ifndef GUIDELINELINE_INCLUDED -#define GUIDELINELINE_INCLUDED - -// TnzTools includes -#include - - -#undef DVAPI -#undef DVVAR -#ifdef TNZTOOLS_EXPORTS -#define DVAPI DV_EXPORT_API -#define DVVAR DV_EXPORT_VAR -#else -#define DVAPI DV_IMPORT_API -#define DVVAR DV_IMPORT_VAR -#endif - - -//============================================================== - -//***************************************************************************************** -// TGuidelineLineBase definition -//***************************************************************************************** - -class DVAPI TGuidelineLineBase : public TGuideline { -public: - const TPointD p0; - const TPointD p1; - - TGuidelineLineBase(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); - void drawLine(const TPointD &p0, const TPointD &p1, bool restrict0, bool restrict1, bool active, bool enabled) const; - static TPointD calcDirection(const TPointD &p0, const TPointD &p1); - static bool truncateInfiniteLine(const TRectD &bounds, TPointD &p0, TPointD &p1); - static bool truncateRay(const TRectD &bounds, TPointD &p0, TPointD &p1); - static bool truncateLine(const TRectD &bounds, TPointD &p0, TPointD &p1); -}; - - -//***************************************************************************************** -// TGuidelineLine definition -//***************************************************************************************** - -class DVAPI TGuidelineLine : public TGuidelineLineBase { -public: - const TPointD dir; - const double dist; - - TGuidelineLine(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); - TTrackPoint transformPoint(const TTrackPoint &point) const override; - void draw(bool active, bool enabled) const override; -}; - - -//***************************************************************************************** -// TGuidelineInfiniteLine definition -//***************************************************************************************** - -class DVAPI TGuidelineInfiniteLine : public TGuidelineLineBase { -public: - const TPointD dir; - - TGuidelineInfiniteLine(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); - TTrackPoint transformPoint(const TTrackPoint &point) const override; - void draw(bool active, bool enabled) const override; -}; - - -//***************************************************************************************** -// TGuidelineRay definition -//***************************************************************************************** - -class DVAPI TGuidelineRay : public TGuidelineLineBase { -public: - const TPointD dir; - - TGuidelineRay(bool enabled, double magnetism, const TPointD &p0, const TPointD &p1); - TTrackPoint transformPoint(const TTrackPoint &point) const override; - void draw(bool active, bool enabled) const override; -}; - -#endif