/**************************************************************/ /* 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é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); };