File: net_len.h

package info (click to toggle)
pcb-rnd 3.1.7b-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,108 kB
  • sloc: ansic: 213,400; yacc: 6,241; sh: 4,698; awk: 3,016; makefile: 2,254; lex: 1,166; python: 519; xml: 261; lisp: 154; tcl: 67; perl: 34; javascript: 6; ruby: 5
file content (22 lines) | stat: -rw-r--r-- 955 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "query_exec.h"

typedef struct {
	vtp0_t objs;
	unsigned has_junction:1;
	unsigned has_nontrace:1;
	unsigned has_invalid_hub:1;
	pcb_any_obj_t *junction[3]; /* object with a junction on it before and after the list; 0..1 are ordered as objs; 2 is a spare field for internal use */
	pcb_any_obj_t *junc_at[3];  /* our last object (part of the seg) that faces the given junction */
	unsigned hub:1;             /* when set, this segment is a junction hub with more than 2 connected segments */
	rnd_coord_t len;
	int num_vias; /* number of functional vias, a.k.a. layer group changes */
} pcb_qry_netseg_len_t;

pcb_qry_netseg_len_t *pcb_qry_parent_net_lenseg(pcb_qry_exec_t *ec, pcb_any_obj_t *from);

/* Return a segment (up to the first junction) starting from an object */
pcb_qry_netseg_len_t *pcb_qry_parent_net_len_mapseg(pcb_qry_exec_t *ec, pcb_any_obj_t *from, int find_rats);


void pcb_qry_lenseg_free_fields(pcb_qry_netseg_len_t *ns);