DESCRIPTION
The phins structure is used to describe a instance belonging to a symbolic layout model, see phfig(3) for details.The declarations needed to work on phins are available in the header file "/labo/include/mph402.h", where '402' is the actual mbk version.
The following C structure supports the description of the instance :
-
typedef struct phins { struct phins *NEXT; char *INSNAME; char *FIGNAME; long XINS,YINS; char TRANSF; struct ptype *USER; } phins_list;
- NEXT
- Pointer to the next instance in the list.
- FIGNAME
- Model of the instance. This gives the name of the figure that is currently beeing instanciated. The model may not be present in memory.
- NAME
- Name of the instance. The instance is identified by its name, so it should be unique at a given hierarchical level.
- XINS, YINS
- Coordinates of the lower left corner of the instance, after possible geometrical operation.
- TRANSF
-
Contains the geometrical operations that should be performed before placing
the instance. Eight legal values are allowed :
-
- NOSYM
- no operation
- SYM_X
- x becomes -x
- SYM_Y
- y becomes -y
- SYMXY
- x becomes -x and y becomes -y
- ROT_P
- rotates 90 degrees counter clockwise
- ROT_M
- rotates 90 degrees clockwise
- SY_RP
- x becomes -x then rotates 90 degrees counter clockwise
- SY_RM
- x becomes -x then rotates 90 degrees clockwise
-
- USER
- Pointer to a ptype list, see ptype(3) for details, that is a general purpose pointer used to share informations on the instance.
- Remark :
- the phins structure does not contain any information about the size of the instance. Neither the abutment box nor the connectors are available. The model must be loaded when such information is needed.