28#ifndef SPRINT_LAYOUT_PARSER_H_
29#define SPRINT_LAYOUT_PARSER_H_
164 bool Parse(
const wxString& aFileName );
166 BOARD*
CreateBoard( std::map<wxString, std::unique_ptr<FOOTPRINT>>& aFootprintMap,
167 size_t aBoardIndex = 0 );
181 void skip(
size_t aBytes );
196 std::vector<std::vector<VECTOR2I>>& aOutlineSegments );
199 std::vector<std::vector<VECTOR2I>>& aOutlineSegments );
202 std::vector<std::vector<VECTOR2I>>& aOutlineSegments );
206 void buildOutline(
BOARD* aBoard, std::vector<std::vector<VECTOR2I>>& aOutlineSegments,
Abstract interface for BOARD_ITEMs capable of storing other items inside.
Information pertinent to a Pcbnew printed circuit board.
wxString convertString(const std::string &aStr) const
SPRINT_LAYOUT::FILE_DATA m_fileData
void processText(BOARD_ITEM_CONTAINER *aContainer, const SPRINT_LAYOUT::OBJECT &aObj)
PCB_LAYER_ID mapLayer(uint8_t aSprintLayer) const
const SPRINT_LAYOUT::FILE_DATA & GetFileData() const
std::string readFixedString(size_t aMaxLen)
bool Parse(const wxString &aFileName)
void buildOutline(BOARD *aBoard, std::vector< std::vector< VECTOR2I > > &aOutlineSegments, const SPRINT_LAYOUT::BOARD_DATA &aBoardData)
void processCircle(BOARD_ITEM_CONTAINER *aContainer, const SPRINT_LAYOUT::OBJECT &aObj, std::vector< std::vector< VECTOR2I > > &aOutlineSegments)
void parseObject(SPRINT_LAYOUT::OBJECT &aObject, bool aIsTextChild=false)
BOARD * CreateBoard(std::map< wxString, std::unique_ptr< FOOTPRINT > > &aFootprintMap, size_t aBoardIndex=0)
void parseBoardHeader(SPRINT_LAYOUT::BOARD_DATA &aBoard)
void processLine(BOARD_ITEM_CONTAINER *aContainer, const SPRINT_LAYOUT::OBJECT &aObj, std::vector< std::vector< VECTOR2I > > &aOutlineSegments)
void processPoly(BOARD_ITEM_CONTAINER *aContainer, const SPRINT_LAYOUT::OBJECT &aObj, std::vector< std::vector< VECTOR2I > > &aOutlineSegments)
VECTOR2I sprintToKicadPos(float aX, float aY) const
int sprintToKicadCoord(float aValue) const
std::vector< uint8_t > m_buffer
std::string readVarString()
void processPad(BOARD_ITEM_CONTAINER *aContainer, const SPRINT_LAYOUT::OBJECT &aObj)
PCB_LAYER_ID
A quick note on layer IDs:
std::vector< OBJECT > objects
std::string project_comment
std::vector< BOARD_DATA > boards
std::string project_author
std::string project_company
std::vector< POINT > points
std::vector< OBJECT > text_children
std::vector< uint32_t > groups
VECTOR2< int32_t > VECTOR2I