KiCad PCB EDA Suite
Loading...
Searching...
No Matches
easypc_pcb_items.h File Reference

Easy-PC / DesignSpark items to KiCad board items, shared by the board builder and the .psl library so a part placed on a board and the same part read from a library become identical footprints. More...

#include <map>
#include <memory>
#include <vector>
#include <geometry/eda_angle.h>
#include <geometry/shape_line_chain.h>
#include <geometry/shape_poly_set.h>
#include <layer_ids.h>
#include <lset.h>
#include <math/vector2d.h>
#include <pcb_io/common/plugin_common_layer_mapping.h>
#include <wx/string.h>
#include <io/easypc/easypc_classes_geometry.h>
#include <io/easypc/easypc_classes_geometry_pad.h>
#include <io/easypc/easypc_classes_styles.h>
#include <io/easypc/easypc_units.h>

Go to the source code of this file.

Classes

struct  EASYPC_PCB::FRAME
 Native to KiCad coordinates: scale by 100 nm, flip Y and move the native origin to the KiCad offset. More...
 
class  EASYPC_PCB::LAYER_MAPPER
 Layer mapping for one layer table, copper in stack order and other layers by their type. More...
 
struct  EASYPC_PCB::ARC_FORM
 A span as KiCad can hold it: a true arc, or a polyline that is the two ends of a straight span or points on an arc whose centre lies beyond KiCad's range. More...
 

Namespaces

namespace  EASYPC
 
namespace  EASYPC_PCB
 

Functions

ARC_FORM EASYPC_PCB::ArcForm (const POINT32 &aStart, const POINT32 &aEnd, int32_t aArcAngle, bool aAnticlockwise, const FRAME &aFrame)
 
SHAPE_POLY_SET EASYPC_PCB::ShapeToPolySet (const EASYPC::SOURCE_DESIGN_SHAPE &aShape, const FRAME &aFrame)
 A closed shape and its cutouts as an outline with holes.
 
SHAPE_POLY_SET EASYPC_PCB::ShapeItemArea (const EASYPC::SOURCE_SHAPE_ITEM &aItem, const FRAME &aFrame, int aMaxError)
 The copper a shape item plots: its filled region and every span stroked at the line width with round ends.
 
std::vector< PCB_SHAPE * > EASYPC_PCB::AddShapeItem (BOARD_ITEM_CONTAINER &aContainer, const EASYPC::SOURCE_SHAPE_ITEM &aItem, const FRAME &aFrame, const LAYER_MAPPER &aLayers, PCB_LAYER_ID aLayer=UNDEFINED_LAYER)
 Add a shape item as one filled polygon, a circle, or one shape per span; aLayer overrides the item's layer.
 
std::unique_ptr< PAD > EASYPC_PCB::CreatePad (FOOTPRINT *aParent, const EASYPC::SOURCE_FREE_PAD &aPad, const EASYPC::SOURCE_PAD_STYLE &aStyle, const FRAME &aFrame, const LAYER_MAPPER &aLayers)
 A pad with its style's per-layer exceptions; a mask or paste exception becomes a separate opening on aParent.
 
bool EASYPC_PCB::ApplyTextPosition (PCB_TEXT &aText, const EASYPC::SOURCE_TEXT_POSITION &aPosition, const FRAME &aFrame, const LAYER_MAPPER &aLayers)
 Place and size a text from its stored position and style; false when its layer has no KiCad layer.
 
PCB_TEXT * EASYPC_PCB::AddText (BOARD_ITEM_CONTAINER &aContainer, const SOURCE_TEXT_POSITION &aPosition, const wxString &aText, const FRAME &aFrame, const LAYER_MAPPER &aLayers)
 
std::unique_ptr< FOOTPRINT > EASYPC_PCB::ConvertFootprint (const EASYPC::SOURCE_SYMBOL &aSymbol, const LAYER_MAPPER &aLayers, const LIB_ID &aId, const EASYPC::SOURCE_PCB_COMPONENT *aComponent=nullptr, std::map< const EASYPC::SOURCE_FREE_PAD *, PAD * > *aPadMap=nullptr)
 A footprint in symbol coordinates.
 

Detailed Description

Easy-PC / DesignSpark items to KiCad board items, shared by the board builder and the .psl library so a part placed on a board and the same part read from a library become identical footprints.

Native units are 100 nm with Y up and angles in thousandths of a degree anticlockwise.

Definition in file easypc_pcb_items.h.