7 changed files with 19 additions and 131 deletions
-
4common/msgpanel.cpp
-
10eeschema/annotate_dialog.cpp
-
4eeschema/annotate_dialog.h
-
12pcbnew/lay2plot.cpp
-
1polygon/PolyLine.h
-
118polygon/freepcb_ids.h
-
1polygon/math_for_graphics.cpp
@ -1,118 +0,0 @@ |
|||
// definition of ID structure used by FreePCB |
|||
// |
|||
#pragma once |
|||
|
|||
// struct id : this structure is used to identify PCB design elements |
|||
// such as instances of parts or nets, and their subelements |
|||
// Each element will have its own id. |
|||
// An id is attached to each item of the Display List so that it can |
|||
// be linked back to the PCB design element which drew it. |
|||
// These are mainly used to identify items selected by clicking the mouse |
|||
// |
|||
// In general: |
|||
// id.type = type of PCB element (e.g. part, net, text) |
|||
// id.st = subelement type (e.g. part pad, net connection) |
|||
// id.i = subelement index (zero-based) |
|||
// id.sst = subelement of subelement (e.g. net connection segment) |
|||
// id.ii = subsubelement index (zero-based) |
|||
// |
|||
// For example, the id for segment 0 of connection 4 of net 12 would be |
|||
// id = { ID_NET, 12, ID_CONNECT, 4, ID_SEG, 0 }; |
|||
// |
|||
// |
|||
class id { |
|||
public: |
|||
// constructor |
|||
id( int qt=0, int qst=0, int qis=0, int qsst=0, int qiis=0 ) |
|||
{ type=qt; st=qst; i=qis; sst=qsst; ii=qiis; } |
|||
// operators |
|||
friend int operator ==(id id1, id id2) |
|||
{ return (id1.type==id2.type |
|||
&& id1.st==id2.st |
|||
&& id1.sst==id2.sst |
|||
&& id1.i==id2.i |
|||
&& id1.ii==id2.ii ); |
|||
} |
|||
// member functions |
|||
void Clear() |
|||
{ type=0; st=0; i=0; sst=0; ii=0; } |
|||
void Set( int qt, int qst=0, int qis=0, int qsst=0, int qiis=0 ) |
|||
{ type=qt; st=qst; i=qis; sst=qsst; ii=qiis; } |
|||
// member variables |
|||
unsigned int type; // type of element |
|||
unsigned int st; // type of subelement |
|||
unsigned int i; // index of subelement |
|||
unsigned int sst; // type of subsubelement |
|||
unsigned int ii; // index of subsubelement |
|||
}; |
|||
|
|||
|
|||
// these are constants used in ids |
|||
// root types |
|||
enum { |
|||
ID_NONE = 0, // an undefined type or st (or an error) |
|||
ID_BOARD, // board outline |
|||
ID_PART, // part |
|||
ID_NET, // net |
|||
ID_TEXT, // free-standing text |
|||
ID_DRC, // DRC error |
|||
ID_SM_CUTOUT, // cutout for solder mask |
|||
ID_MULTI // if multiple selections |
|||
}; |
|||
|
|||
// subtypes of ID_PART |
|||
enum { |
|||
ID_PAD = 1, // pad_stack in a part |
|||
ID_SEL_PAD, // selection rectangle for pad_stack in a part |
|||
ID_OUTLINE, // part outline |
|||
ID_REF_TXT, // text showing ref num for part |
|||
ID_ORIG, // part origin |
|||
ID_SEL_RECT, // selection rectangle for part |
|||
ID_SEL_REF_TXT // selection rectangle for ref text |
|||
}; |
|||
|
|||
// subtypes of ID_TEXT |
|||
enum { |
|||
ID_SEL_TXT = 1, // selection rectangle |
|||
ID_STROKE // stroke for text |
|||
}; |
|||
|
|||
// subtypes of ID_NET |
|||
enum { |
|||
ID_ENTIRE_NET = 0, |
|||
ID_CONNECT, // connection |
|||
ID_AREA // copper area |
|||
}; |
|||
|
|||
// subtypes of ID_BOARD |
|||
enum { |
|||
ID_BOARD_OUTLINE = 1, |
|||
}; |
|||
|
|||
// subsubtypes of ID_NET.ID_CONNECT |
|||
enum { |
|||
ID_ENTIRE_CONNECT = 0, |
|||
ID_SEG, |
|||
ID_SEL_SEG, |
|||
ID_VERTEX, |
|||
ID_SEL_VERTEX, |
|||
ID_VIA |
|||
}; |
|||
|
|||
// subsubtypes of ID_NET.ID_AREA, ID_BOARD.ID_BOARD_OUTLINE, ID_SM_CUTOUT |
|||
enum { |
|||
ID_SIDE = 1, |
|||
ID_SEL_SIDE, |
|||
ID_SEL_CORNER, |
|||
ID_HATCH, |
|||
ID_PIN_X, // only used by ID_AREA |
|||
ID_STUB_X // only used by ID_AREA |
|||
}; |
|||
|
|||
// subtypes of ID_DRC |
|||
// for subsubtypes, use types in DesignRules.h |
|||
enum { |
|||
ID_DRE = 1, |
|||
ID_SEL_DRE |
|||
}; |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue