KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ALG_OUTLINE_DATA Struct Reference

Parse board outline geometry from a .alg ASCII reference file. More...

Classes

struct  OUTLINE_SEGMENT
 

Public Types

enum class  SEGMENT_TYPE { LINE , ARC , RECTANGLE }
 

Public Member Functions

void updateBounds (double aX, double aY)
 
int expectedEdgeCutsSegments () const
 Expected number of Edge_Cuts segments when translating to KiCad.
 

Static Public Member Functions

static ALG_OUTLINE_DATA ParseAlgOutlines (const std::string &aPath)
 

Public Attributes

int designOutlineCount = 0
 
int outlineCount = 0
 
std::vector< OUTLINE_SEGMENTdesignOutlineSegments
 
std::vector< OUTLINE_SEGMENToutlineSegments
 
double minX = std::numeric_limits<double>::max()
 
double minY = std::numeric_limits<double>::max()
 
double maxX = std::numeric_limits<double>::lowest()
 
double maxY = std::numeric_limits<double>::lowest()
 

Detailed Description

Parse board outline geometry from a .alg ASCII reference file.

Extracts LINE, ARC, and RECTANGLE records from both DESIGN_OUTLINE and OUTLINE subclasses under BOARD GEOMETRY. Coordinates are in mils.

Definition at line 1489 of file test_allegro_import.cpp.

Member Enumeration Documentation

◆ SEGMENT_TYPE

enum class ALG_OUTLINE_DATA::SEGMENT_TYPE
strong
Enumerator
LINE 
ARC 
RECTANGLE 

Definition at line 1491 of file test_allegro_import.cpp.

Member Function Documentation

◆ expectedEdgeCutsSegments()

int ALG_OUTLINE_DATA::expectedEdgeCutsSegments ( ) const
inline

Expected number of Edge_Cuts segments when translating to KiCad.

Each LINE/ARC = 1 segment. Each RECTANGLE = 4 segments.

Definition at line 1617 of file test_allegro_import.cpp.

References designOutlineSegments, and RECTANGLE.

Referenced by BOOST_AUTO_TEST_CASE().

◆ ParseAlgOutlines()

◆ updateBounds()

void ALG_OUTLINE_DATA::updateBounds ( double aX,
double aY )
inline

Definition at line 1516 of file test_allegro_import.cpp.

References maxX, maxY, minX, and minY.

Referenced by ParseAlgOutlines().

Member Data Documentation

◆ designOutlineCount

int ALG_OUTLINE_DATA::designOutlineCount = 0

◆ designOutlineSegments

std::vector<OUTLINE_SEGMENT> ALG_OUTLINE_DATA::designOutlineSegments

◆ maxX

double ALG_OUTLINE_DATA::maxX = std::numeric_limits<double>::lowest()

Definition at line 1513 of file test_allegro_import.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), and updateBounds().

◆ maxY

double ALG_OUTLINE_DATA::maxY = std::numeric_limits<double>::lowest()

Definition at line 1514 of file test_allegro_import.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), and updateBounds().

◆ minX

double ALG_OUTLINE_DATA::minX = std::numeric_limits<double>::max()

Definition at line 1511 of file test_allegro_import.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), and updateBounds().

◆ minY

double ALG_OUTLINE_DATA::minY = std::numeric_limits<double>::max()

Definition at line 1512 of file test_allegro_import.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), and updateBounds().

◆ outlineCount

int ALG_OUTLINE_DATA::outlineCount = 0

Definition at line 1507 of file test_allegro_import.cpp.

Referenced by BOOST_AUTO_TEST_CASE(), and ParseAlgOutlines().

◆ outlineSegments

std::vector<OUTLINE_SEGMENT> ALG_OUTLINE_DATA::outlineSegments

Definition at line 1509 of file test_allegro_import.cpp.

Referenced by ParseAlgOutlines().


The documentation for this struct was generated from the following file: