KiCad PCB EDA Suite
Loading...
Searching...
No Matches
create_layer_items.cpp File Reference

This file implements the creation of the pcb board. More...

#include "board_adapter.h"
#include "../3d_rendering/raytracing/shapes2D/filled_circle_2d.h"
#include "raytracing/shapes2D/triangle_2d.h"
#include <board_design_settings.h>
#include <footprint.h>
#include <pad.h>
#include <pcb_text.h>
#include <pcb_textbox.h>
#include <pcb_table.h>
#include <pcb_shape.h>
#include <zone.h>
#include <convert_basic_shapes_to_polygon.h>
#include <trigo.h>
#include <vector>
#include <thread>
#include <core/arraydim.h>
#include <algorithm>
#include <atomic>
#include <wx/log.h>

Go to the source code of this file.

Macros

#define DELETE_AND_FREE(ptr)
 
#define DELETE_AND_FREE_MAP(map)
 

Functions

void buildPadOutlineAsPolygon (const PAD *aPad, SHAPE_POLY_SET &aBuffer, int aWidth, int aMaxError, ERROR_LOC aErrorLoc)
 
void transformFPShapesToPolySet (const FOOTPRINT *aFootprint, PCB_LAYER_ID aLayer, SHAPE_POLY_SET &aBuffer, int aMaxError, ERROR_LOC aErrorLoc)
 

Detailed Description

This file implements the creation of the pcb board.

It is based on the function found in the files: board_items_to_polygon_shape_transform.cpp board_items_to_polygon_shape_transform.cpp

Definition in file create_layer_items.cpp.

Macro Definition Documentation

◆ DELETE_AND_FREE

#define DELETE_AND_FREE (   ptr)
Value:
{ \
delete ptr; \
ptr = nullptr; \
} \

◆ DELETE_AND_FREE_MAP

#define DELETE_AND_FREE_MAP (   map)
Value:
{ \
for( auto& [ layer, poly ] : map ) \
delete poly; \
\
map.clear(); \
}

Function Documentation

◆ buildPadOutlineAsPolygon()

void buildPadOutlineAsPolygon ( const PAD aPad,
SHAPE_POLY_SET aBuffer,
int  aWidth,
int  aMaxError,
ERROR_LOC  aErrorLoc 
)

◆ transformFPShapesToPolySet()

void transformFPShapesToPolySet ( const FOOTPRINT aFootprint,
PCB_LAYER_ID  aLayer,
SHAPE_POLY_SET aBuffer,
int  aMaxError,
ERROR_LOC  aErrorLoc 
)