2007-06-05 12:10:51 +00:00
|
|
|
|
/**************************************************************/
|
|
|
|
|
/* class_edge_module.h : description des contours d'un module */
|
|
|
|
|
/**************************************************************/
|
|
|
|
|
|
|
|
|
|
class Pcb3D_GLCanvas;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* description des contours (empreintes ) et TYPES des CONTOURS : */
|
|
|
|
|
|
|
|
|
|
class EDGE_MODULE: public EDA_BaseLineStruct
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
int m_Shape ; // voir "enum Track_Shapes"
|
|
|
|
|
wxPoint m_Start0; // coord relatives a l'ancre du point de depart(Orient 0)
|
|
|
|
|
wxPoint m_End0; // coord relatives a l'ancre du point de fin (Orient 0)
|
|
|
|
|
int m_Angle; // pour les arcs de cercle: longueur de l'arc en 0,1 degres
|
|
|
|
|
int m_PolyCount; // For polygons : number of points (> 2)
|
|
|
|
|
int * m_PolyList; // For polygons: coord list (1 point = 2 coord)
|
|
|
|
|
// Coord are relative to Origine, orient 0
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
EDGE_MODULE(MODULE * parent );
|
|
|
|
|
EDGE_MODULE(EDGE_MODULE * edge );
|
|
|
|
|
~EDGE_MODULE();
|
|
|
|
|
|
|
|
|
|
/* supprime du chainage la structure Struct */
|
|
|
|
|
void UnLink( void );
|
|
|
|
|
|
|
|
|
|
void Copy(EDGE_MODULE * source); // copy structure
|
|
|
|
|
|
|
|
|
|
/* Readind and writing data on files */
|
|
|
|
|
int WriteDescr( FILE * File );
|
|
|
|
|
int ReadDescr( char * Line, FILE * File, int * LineNum = NULL);
|
|
|
|
|
|
|
|
|
|
// Mise a jour des coordon<6F>es pour l'affichage
|
|
|
|
|
void SetDrawCoord(void);
|
|
|
|
|
|
|
|
|
|
/* drawing functions */
|
|
|
|
|
void Draw(WinEDA_DrawPanel * panel, wxDC * DC, const wxPoint & offset,
|
|
|
|
|
int draw_mode);
|
|
|
|
|
void Draw3D(Pcb3D_GLCanvas * glcanvas);
|
|
|
|
|
};
|
|
|
|
|
|