KiCad PCB EDA Suite
Loading...
Searching...
No Matches
line_chain_construction.cpp
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
21
22namespace KI_TEST
23{
24
25SHAPE_LINE_CHAIN BuildRectChain( const VECTOR2I& aSize, const VECTOR2I& aCentre )
26{
27 const std::vector<VECTOR2I> pts = {
28 { aCentre.x - aSize.x / 2, aCentre.y - aSize.y / 2 },
29 { aCentre.x - aSize.x / 2, aCentre.y + aSize.y / 2 },
30 { aCentre.x + aSize.x / 2, aCentre.y + aSize.y / 2 },
31 { aCentre.x + aSize.x / 2, aCentre.y - aSize.y / 2 },
32 };
33
35 chain.SetClosed( true );
36
37 return chain;
38}
39
40SHAPE_LINE_CHAIN BuildSquareChain( int aSize, const VECTOR2I& aCentre )
41{
42 return BuildRectChain( { aSize, aSize }, aCentre );
43}
44
45} // namespace KI_TEST
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Utilities for creating useful line chain idioms commonly founds in QA utilities and tests.
SHAPE_LINE_CHAIN BuildSquareChain(int aSize, const VECTOR2I &aCentre)
Builds a square SHAPE_LINE_CHAIN of a certain size at a certain centre.
SHAPE_LINE_CHAIN BuildRectChain(const VECTOR2I &aSize, const VECTOR2I &aCentre)
Builds a rectangular SHAPE_LINE_CHAIN of a certain size at a certain centre.
const SHAPE_LINE_CHAIN chain
VECTOR2< int32_t > VECTOR2I
Definition vector2d.h:683