You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							51 lines
						
					
					
						
							1.6 KiB
						
					
					
				| /* | |
|  * This program source code file is part of KiCad, a free EDA CAD application. | |
|  * | |
|  * Copyright The KiCad Developers, see AUTHORS.txt for contributors. | |
|  * | |
|  * This program is free software: you can redistribute it and/or modify it | |
|  * under the terms of the GNU General Public License as published by the | |
|  * Free Software Foundation, either version 3 of the License, or (at your | |
|  * option) any later version. | |
|  * | |
|  * This program is distributed in the hope that it will be useful, but | |
|  * WITHOUT ANY WARRANTY; without even the implied warranty of | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | |
|  * General Public License for more details. | |
|  * | |
|  * You should have received a copy of the GNU General Public License along | |
|  * with this program.  If not, see <http://www.gnu.org/licenses/>. | |
|  */ | |
| 
 | |
| #include <math/vector2d.h> | |
| #include <sch_rtree.h> | |
|  | |
| namespace JUNCTION_HELPERS | |
| { | |
| 
 | |
| /** | |
|  * A selection of information about a point in the schematic that might | |
|  * be eligible for turning into a junction. | |
| */ | |
| struct POINT_INFO | |
| { | |
|     /// True if the point has 3+ wires and/or 3+ buses meeting there | |
|     bool isJunction; | |
| 
 | |
|     /// True if there is already junction dot at the point | |
|     bool hasExplicitJunctionDot; | |
| 
 | |
|     /// True if there is a bus entry at the point (either end) | |
|     bool hasBusEntry; | |
| 
 | |
|     /// True if there is a bus entry at the point and it connects to more than one wire | |
|     bool hasBusEntryToMultipleWires; | |
| }; | |
| 
 | |
| /** | |
|  * Check a tree of items for a confluence at a given point and work out what kind of junction | |
|  * it is, if any. | |
|  */ | |
| POINT_INFO AnalyzePoint( const EE_RTREE& aItem, const VECTOR2I& aPosition, bool aBreakCrossings ); | |
| 
 | |
| } // namespace JUNCTION_HELPERS
 |