#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; vectord; double dia; double length; Bund(); }; extern map< pair, 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);