KiCad PCB EDA Suite
Loading...
Searching...
No Matches
bezier_draw_behavior.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#pragma once
21
22#include <eda_units.h>
25
26struct EDA_IU_SCALE;
27class EDA_SHAPE;
28
29
35 : public MANAGED_DRAW_BEHAVIOR<KIGFX::PREVIEW::BEZIER_GEOM_MANAGER, KIGFX::PREVIEW::BEZIER_ASSISTANT>
36{
37public:
39
42
43 void ApplyToShape( EDA_SHAPE& aShape ) const override
44 {
45 aShape.SetStart( m_manager.GetStart() );
46 aShape.SetBezierC1( m_manager.GetControlC1() );
47 aShape.SetEnd( m_manager.GetEnd() );
48 aShape.SetBezierC2( m_manager.GetControlC2() );
50 }
51};
BEZIER_DRAW_BEHAVIOR(const BEZIER_DRAW_BEHAVIOR &)=delete
void ApplyToShape(EDA_SHAPE &aShape) const override
Transfer the current geometry to an EDA_SHAPE.
MANAGED_DRAW_BEHAVIOR(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)
BEZIER_DRAW_BEHAVIOR & operator=(const BEZIER_DRAW_BEHAVIOR &)=delete
virtual void SetEnd(const VECTOR2I &aEnd)
Definition eda_shape.h:244
virtual void SetBezierC2(const VECTOR2I &aPt)
Definition eda_shape.h:282
virtual void SetBezierC1(const VECTOR2I &aPt)
Definition eda_shape.h:279
void RebuildBezierToSegmentsPointsList(int aMaxError)
Rebuild the m_bezierPoints vertex list that approximate the Bezier curve by a list of segments.
virtual void SetStart(const VECTOR2I &aStart)
Definition eda_shape.h:194
MANAGED_DRAW_BEHAVIOR(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)