void testMatch() { shared_ptr<Stylesheet> stylesheet = Stylesheet::Load(string("test/stylesheet.mapcss"), data, 1000); shared_ptr<std::vector<NodeId> > nodeIDs(new std::vector<NodeId>()); shared_ptr<std::vector<WayId> > wayIDs(new std::vector<WayId>()); shared_ptr<std::vector<RelId> > relIDs(new std::vector<RelId>()); shared_ptr<TileIdentifier> tileId(new TileIdentifier(0, 0, 2, string("path"), TileIdentifier::Format::PNG)); RenderAttributes* attributes; stylesheet->match(nodeIDs, wayIDs, relIDs, tileId, attributes); }
//====================================================================== // Function for importing list of contacts from 't\ti\tj\n' format file: //====================================================================== CONTACTS_LIST loadContactListList(char *inputname) { // Timer: std::clock_t clockStart = std::clock(); // Define list of contact lists and list of nodes, etc.: std::string line; COUNTER t; NODE i,j; NODES nodes; CONTACTS_LIST contactListList; CONTACTS contactList; CONTACT contact; NODES::iterator last; // Print name of input file to screen: std::cout << "Filename: " << inputname << std::endl; input.open(inputname); // If input-file is not found or cannot be read, raise error and exit: if(input==NULL){ std::cout << "ERROR! File cannot be read."; return contactListList; } // Create list of nodes in file: while(getline(input,line)) { input>>t>>i>>j; nodes.push_back(i); nodes.push_back(j); } T_data=t/dt+1; std::cout << "T=" << T_data << std::endl; input.close(); // Sort list and remove duplicates: std::sort(nodes.begin(),nodes.end()); last=unique(nodes.begin(),nodes.end()); nodes.resize(distance(nodes.begin(),last)); N=nodes.size(); //number of unique nodes (network size) // List for redefining node IDs: NODES nodeIDs(nodes[nodes.size()-1]+1); std::cout << std::endl; for(int n=0; n<N; n++) { nodeIDs[nodes[n]]=n; } // Read first line of inputfile as list of characters and get t,i,j: input.open(inputname); getline(input,line); input>>t>>i>>j; // Loop over t<T and create list of contact lists: for(COUNTER tt=0; tt<T_data*dt; tt+=dt) { while(t==tt && !input.eof()) { contact.i=nodeIDs[i]; contact.j=nodeIDs[j]; contactList.push_back(contact); // Read line and get t,i,j: getline(input,line); input>>t>>i>>j; } contactListList.push_back(contactList); contactList.clear(); } input.close(); std::cout << std::endl << N << " nodes. Construction time: " << ( clock() - clockStart ) / (double) CLOCKS_PER_SEC << " s\n\n"; return contactListList; }