Blame toonz/sources/include/tools/assistants/guidelineellipse.h
|
|
9a49d4 |
#pragma once
|
|
|
9a49d4 |
|
|
|
9a49d4 |
#ifndef GUIDELINEELLIPSE_INCLUDED
|
|
|
9a49d4 |
#define GUIDELINEELLIPSE_INCLUDED
|
|
|
9a49d4 |
|
|
|
9a49d4 |
// TnzTools includes
|
|
|
9a49d4 |
#include <tools assistant.h=""></tools>
|
|
|
9a49d4 |
|
|
|
9a49d4 |
|
|
|
9a49d4 |
#undef DVAPI
|
|
|
9a49d4 |
#undef DVVAR
|
|
|
9a49d4 |
#ifdef TNZTOOLS_EXPORTS
|
|
|
9a49d4 |
#define DVAPI DV_EXPORT_API
|
|
|
9a49d4 |
#define DVVAR DV_EXPORT_VAR
|
|
|
9a49d4 |
#else
|
|
|
9a49d4 |
#define DVAPI DV_IMPORT_API
|
|
|
9a49d4 |
#define DVVAR DV_IMPORT_VAR
|
|
|
9a49d4 |
#endif
|
|
|
9a49d4 |
|
|
|
9a49d4 |
|
|
|
9a49d4 |
//==============================================================
|
|
|
9a49d4 |
|
|
|
9a49d4 |
//*****************************************************************************************
|
|
|
9a49d4 |
// TGuidelineEllipse definition
|
|
|
9a49d4 |
//*****************************************************************************************
|
|
|
9a49d4 |
|
|
|
9a49d4 |
class DVAPI TGuidelineEllipse : public TGuideline {
|
|
|
9a49d4 |
public:
|
|
|
9a49d4 |
const TAffine matrix;
|
|
|
9a49d4 |
const TAffine matrixInv;
|
|
|
f278a5 |
const double Rx;
|
|
|
f278a5 |
const double Ry;
|
|
|
9a49d4 |
|
|
|
9a49d4 |
TGuidelineEllipse(
|
|
|
9a49d4 |
bool enabled,
|
|
|
9a49d4 |
double magnetism,
|
|
|
6cb657 |
const TPixelD &color,
|
|
|
f278a5 |
const TAffine &matrix );
|
|
|
9a49d4 |
|
|
|
9a49d4 |
TGuidelineEllipse(
|
|
|
9a49d4 |
bool enabled,
|
|
|
9a49d4 |
double magnetism,
|
|
|
6cb657 |
const TPixelD &color,
|
|
|
f278a5 |
const TAffine &matrix,
|
|
|
f278a5 |
const TAffine &matrixInv );
|
|
|
f278a5 |
|
|
|
f278a5 |
TGuidelineEllipse(
|
|
|
f278a5 |
bool enabled,
|
|
|
f278a5 |
double magnetism,
|
|
|
6cb657 |
const TPixelD &color,
|
|
|
f278a5 |
const TAffine &matrix,
|
|
|
f278a5 |
const TAffine &matrixInv,
|
|
|
f278a5 |
double Rx,
|
|
|
f278a5 |
double Ry );
|
|
|
9a49d4 |
|
|
|
9a49d4 |
//! returns false when ellipse is invisible
|
|
|
9a49d4 |
static bool truncateEllipse(
|
|
|
9a49d4 |
TAngleRangeSet &ranges,
|
|
|
9a49d4 |
const TAffine &ellipseMatrixInv,
|
|
|
9a49d4 |
const TRectD &bounds );
|
|
|
9a49d4 |
|
|
|
9a49d4 |
static int calcSegmentsCount(const TAffine &ellipseMatrix, double pixelSize);
|
|
|
9a49d4 |
|
|
|
9a49d4 |
TTrackPoint transformPoint(const TTrackPoint &point) const override;
|
|
|
f278a5 |
TPointD nearestPoint(const TPointD &point) const override;
|
|
|
9a49d4 |
void draw(bool active, bool enabled) const override;
|
|
|
9a49d4 |
};
|
|
|
9a49d4 |
|
|
|
9a49d4 |
#endif
|