#pragma once #ifdef _WIN32 #ifdef WIREROUTINGDLL_EXPORTS // VisualStudio DLL ?????? _EXPORTS ??????????? #define READ_XML_API __declspec(dllexport) // _WIN32 #else #define READ_XML_API __declspec(dllimport) #endif #else #define READ_XML_API #endif #include "Connector.h" #include #include #include #include #include #include #include using namespace std; extern string READ_XML_API ini; struct READ_XML_API Pin { string name, id; P coord; Pin(string name1, string id1); Pin(string name1, string id1, P coord1); Pin(); }; struct READ_XML_API Wire { string name; Pin sn, en; double diameter; Wire(string name1, Pin sn1, Pin en1); Wire(); }; // 逻辑上的线束 struct READ_XML_API Bund { vector wirelist; vector wirenamelist; P start, goal; vector

path; vector d; double dia; double length; Bund(); }; extern map, Bund> READ_XML_API wire_node; extern vector READ_XML_API wire_pairs; extern map READ_XML_API mp; extern map READ_XML_API wiremap; extern map READ_XML_API pinidmap; extern map READ_XML_API pinmap; extern int READ_XML_API cnt; // extern void READ_XML_API init_readxml(); // // extern void READ_XML_API producePin(TiXmlElement* pin); // extern string READ_XML_API safegave(TiXmlElement* pEle,const char * t); // // extern TiXmlElement* READ_XML_API GetNodePointerByName(TiXmlElement* pRootEle, const char* strNodeName); // extern TiXmlElement* READ_XML_API GetNextNodePointerByName(TiXmlElement* pRootEle, const char* strNodeName); // // extern void READ_XML_API produceConnector(TiXmlElement* pcon); // extern void READ_XML_API produceWire(TiXmlElement* pwire); // extern void READ_XML_API produce(TiXmlElement* pEle); // extern void READ_XML_API ProduceNodePointerByName(TiXmlElement* pRootEle, const char* strNodeName); // extern void READ_XML_API readxml(const char * xml,const char * connectorFile);