void SchemaPrinter::Visit(const UIDFieldDescriptor *descriptor) { m_str << string(m_indent, ' ') << descriptor->Name() << ": UID" << endl; }
ConfigFile::ConfigFile() : myDelimiter( string(1,'=') ), myComment( string(1,'#') ) { // Construct a ConfigFile without a file; empty }
string ToStr(const glm::vec3& vec) { return string("(" + ToStr(vec.x) + "," + ToStr(vec.y) + "," + ToStr(vec.z) + ")"); }
bool Writer::run() { for (;;) { /* * Dequeue request, control request first */ shared_ptr<IORequest> request = m_link->waitIORequest(); /* * Request locked area */ Mutex::Autolock l(request->locker()); shared_ptr<Package> pkg = request->getPackage(); PackageHeader *hdr = &pkg->header; if (mustStop(hdr)) { /* * Quit now if stop requested */ break; } /* * Prepare IO transfer */ char *buffer = (char *)hdr; int hdrSize = sizeof(struct PackageHeader); int dataLength = hdr->dataLength; int transferSize = hdrSize; if (dataLength && hdr->type != PkgType::ACK_DATA) { /* * Combined transfer if with pay-load */ buffer = const_cast<char *>(pkg->data) - hdrSize; memmove(buffer, hdr, hdrSize); transferSize += dataLength; } /* * Do IO transfer */ bool writeOK = false; bool syncOK = true; writeOK = write(buffer, transferSize); if (writeOK && request->isNeedSync()) { /* * Synchronization needed, so do flush */ syncOK = m_link->flush(); } if (!writeOK) { /* * Dump header when error occur */ Log::e(LOG_TAG, "Failed to write package: "); hdr->dump(); } if (request->isWaitSend()) { /* * Wake up sender */ request->complete(writeOK && syncOK ? UniconnectErrorCode::ENOERROR : UniconnectErrorCode::ELINKDISCONNECTED); } /* * Debug stuff */ if (Log::isDebugEnabled()) { Log::d(string(LOG_TAG).c_str(), "Data Path: Package: %s," " Data length: %d --------------> Port: %u," " Send Result: %s", PackageHeader::typeToString(hdr->type), hdr->dataLength, hdr->port, writeOK && syncOK ? "Success." : "Failed."); } } return false; }
void XapianIndex::removeCommonTerms(Xapian::Document &doc) { DocumentInfo docInfo; set<string> commonTerms; string record(doc.get_data()); // First, remove the magic term commonTerms.insert(MAGIC_TERM); if (record.empty() == true) { // Nothing else we can do return; } string language(StringManip::extractField(record, "language=", "\n")); string timestamp(StringManip::extractField(record, "timestamp=", "\n")); docInfo = DocumentInfo(StringManip::extractField(record, "caption=", "\n"), StringManip::extractField(record, "url=", "\n"), StringManip::extractField(record, "type=", "\n"), Languages::toLocale(language)); // We used to use timestamp prior to 0.60 if (timestamp.empty() == true) { string modTime(StringManip::extractField(record, "modtime=", "\n")); if (modTime.empty() == false) { time_t timeT = (time_t )atol(modTime.c_str()); timestamp = TimeConverter::toTimestamp(timeT); } } docInfo.setTimestamp(timestamp); string bytesSize(StringManip::extractField(record, "size=", "")); if (bytesSize.empty() == false) { docInfo.setSize((off_t )atol(bytesSize.c_str())); } Url urlObj(docInfo.getLocation()); // FIXME: remove terms extracted from the title if they don't have more than one posting string title(docInfo.getTitle()); if (title.empty() == false) { Document titleDoc; titleDoc.setData(title.c_str(), title.length()); Tokenizer titleTokens(&titleDoc); removeFirstPostingsFromDocument(titleTokens, doc, "S", language, STORE_UNSTEM); titleTokens.rewind(); removeFirstPostingsFromDocument(titleTokens, doc, "", language, m_stemMode); } // Location commonTerms.insert(string("U") + XapianDatabase::limitTermLength(Url::escapeUrl(docInfo.getLocation()), true)); // Host name string hostName(StringManip::toLowerCase(urlObj.getHost())); if (hostName.empty() == false) { commonTerms.insert(string("H") + XapianDatabase::limitTermLength(hostName, true)); string::size_type dotPos = hostName.find('.'); while (dotPos != string::npos) { commonTerms.insert(string("H") + XapianDatabase::limitTermLength(hostName.substr(dotPos + 1), true)); // Next dotPos = hostName.find('.', dotPos + 1); } } // ...location string tree(urlObj.getLocation()); if (tree.empty() == false) { commonTerms.insert(string("XDIR:") + XapianDatabase::limitTermLength(Url::escapeUrl(tree), true)); if (tree[0] == '/') { commonTerms.insert("XDIR:/"); } string::size_type slashPos = tree.find('/', 1); while (slashPos != string::npos) { commonTerms.insert(string("XDIR:") + XapianDatabase::limitTermLength(Url::escapeUrl(tree.substr(0, slashPos)), true)); // Next slashPos = tree.find('/', slashPos + 1); } } // ...and file name string fileName(urlObj.getFile()); if (fileName.empty() == false) { string extension; commonTerms.insert(string("P") + XapianDatabase::limitTermLength(Url::escapeUrl(fileName), true)); // Does it have an extension ? string::size_type extPos = fileName.rfind('.'); if ((extPos != string::npos) && (extPos + 1 < fileName.length())) { extension = StringManip::toLowerCase(fileName.substr(extPos + 1)); } commonTerms.insert(string("XEXT:") + XapianDatabase::limitTermLength(extension)); } // Date terms time_t timeT = TimeConverter::fromTimestamp(docInfo.getTimestamp()); struct tm *tm = localtime(&timeT); string yyyymmdd = TimeConverter::toYYYYMMDDString(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday); if (yyyymmdd.length() == 8) { commonTerms.insert(string("D") + yyyymmdd); commonTerms.insert(string("M") + yyyymmdd.substr(0, 6)); commonTerms.insert(string("Y") + yyyymmdd.substr(0, 4)); } // Language code commonTerms.insert(string("L") + Languages::toCode(language)); // MIME type commonTerms.insert(string("T") + docInfo.getType()); for (set<string>::const_iterator termIter = commonTerms.begin(); termIter != commonTerms.end(); ++termIter) { try { doc.remove_term(*termIter); } catch (const Xapian::Error &error) { #ifdef DEBUG cout << "XapianIndex::removeCommonTerms: " << error.get_msg() << endl; #endif } } }
int main( int argc, char* argv[] ) { Initialize( argc, argv ); mpi::Comm comm = mpi::COMM_WORLD; const int commRank = mpi::Rank( comm ); try { const int nc = Input("--nc","number of coils",16); const int nt = Input("--nt","number of timesteps",10); const int N0 = Input("--N0","bandwidth in x direction",6); const int N1 = Input("--N1","bandwidth in y direction",6); const int nnu = Input("--nnu","number of non-uniform nodes",36); const int n0 = Input("--n0","FFT size in x direction",16); const int n1 = Input("--n1","FFT size in y direction",16); const int m = Input("--m","cutoff parameter",2); const bool tv = Input("--tv","TV clipping for sparsity",true); const double lambdaL = Input("--lambdaL","low-rank scale",0.025); const double lambdaSRel = Input("--lambdaSRel","sparse rel scale",0.5); const double relTol = Input("--relTol","relative L+S tolerance",0.0025); const int maxIts = Input("--maxIts","max L+S iterations",100); const bool tryTSQR = Input("--tryTSQR","try Tall-Skinny QR?",false); const bool progress = Input("--progress","print L+S progress",true); const string sensName = Input("--sens","sens. filename",string("sensitivity.bin")); const string densName = Input("--dens","density filename",string("density.bin")); const string pathsName = Input("--path","paths filename",string("paths.bin")); const string dataName = Input("--data","data filename",string("data.bin")); const bool display = Input("--display","display matrices?",false); const bool write = Input("--write","write matrices?",true); #ifdef HAVE_QT5 const int formatInt = Input("--format","format to store matrices",5); #else const int formatInt = Input("--format","format to store matrices",1); #endif ProcessInput(); PrintInputReport(); if( formatInt < 1 || formatInt >= FileFormat_MAX ) LogicError("Format integer must be in [1,",FileFormat_MAX,")"); const auto format = static_cast<El::FileFormat>(formatInt); mpi::Barrier( comm ); const double loadStart = mpi::Time(); if( commRank == 0 ) { std::cout << "Loading files..."; std::cout.flush(); } DistMatrix<double,STAR,STAR> densityComp; LoadDensity( nnu, nt, densName, densityComp ); DistMatrix<Complex<double>,STAR,STAR> sensitivity; LoadSensitivity( N0, N1, nc, sensName, sensitivity ); DistMatrix<double,STAR,STAR> paths; LoadPaths( nnu, nt, pathsName, paths ); DistMatrix<Complex<double>,STAR,VR> data; LoadData( nnu, nc, nt, dataName, data ); mpi::Barrier( comm ); if( commRank == 0 ) std::cout << "DONE. " << mpi::Time()-loadStart << " seconds" << std::endl; if( display ) { Display( densityComp, "density compensation" ); Display( sensitivity, "coil sensitivities" ); Display( paths, "paths" ); Display( data, "data" ); } if( write ) { Write( densityComp, "density", format ); Write( sensitivity, "sensitivity", format ); Write( paths, "paths", format ); Write( data, "data", format ); } // Initialize acquisition operator and its adjoint mpi::Barrier( comm ); const double startInit = mpi::Time(); if( commRank == 0 ) { std::cout << "Initializing acquisition operator..."; std::cout.flush(); } InitializeAcquisition ( densityComp, sensitivity, paths, nc, N0, N1, n0, n1, m ); mpi::Barrier( comm ); if( commRank == 0 ) std::cout << "DONE. " << mpi::Time()-startInit << " seconds" << std::endl; mpi::Barrier( comm ); const double startLPS = mpi::Time(); if( commRank == 0 ) { std::cout << "Starting L+S decomposition..."; std::cout.flush(); } DistMatrix<Complex<double>,VC,STAR> L, S; LPS ( data, L, S, tv, lambdaL, lambdaSRel, relTol, maxIts, tryTSQR, progress ); mpi::Barrier( comm ); if( commRank == 0 ) std::cout << "DONE. " << mpi::Time()-startLPS << " seconds" << std::endl; if( write ) WriteLPS( L, S, N0, N1, 0, tv, format ); } catch( std::exception& e ) { ReportException(e); } Finalize(); return 0; }
void Cam::enumerate() { string v4l_path = "/sys/class/video4linux"; DIR *d = opendir(v4l_path.c_str()); if (!d) throw std::runtime_error("couldn't open " + v4l_path); struct dirent *ent, *ent2, *ent3; int fd, ret; struct v4l2_capability v4l2_cap; while ((ent = readdir(d)) != NULL) { if (strncmp(ent->d_name, "video", 5)) continue; // ignore anything not starting with "video" string dev_name = string("/dev/") + string(ent->d_name); printf("enumerating %s ...\n", dev_name.c_str()); if ((fd = open(dev_name.c_str(), O_RDWR)) == -1) throw std::runtime_error("couldn't open " + dev_name + " perhaps the " + "permissions are not set correctly?"); if ((ret = ioctl(fd, VIDIOC_QUERYCAP, &v4l2_cap)) < 0) throw std::runtime_error("couldn't query " + dev_name); printf("name = [%s]\n", v4l2_cap.card); printf("driver = [%s]\n", v4l2_cap.driver); printf("location = [%s]\n", v4l2_cap.bus_info); close(fd); string v4l_dev_path = v4l_path + string("/") + string(ent->d_name) + string("/device"); // my kernel is using /sys/class/video4linux/videoN/device/inputX/id DIR *d2 = opendir(v4l_dev_path.c_str()); if (!d2) throw std::runtime_error("couldn't open " + v4l_dev_path); string input_dir; while ((ent2 = readdir(d2)) != NULL) { if (strncmp(ent2->d_name, "input", 5)) continue; // ignore anything not beginning with "input" DIR *input = opendir((v4l_dev_path + string("/") + string(ent2->d_name)).c_str()); bool output_set = false; while ((ent3 = readdir(input)) != NULL) { if (!strncmp(ent3->d_name, "input", 5)) { input_dir = (string("input/") + string(ent3->d_name )).c_str(); output_set = true; break; } } if (!output_set) input_dir = ent2->d_name; break; } closedir(d2); if (!input_dir.length()) throw std::runtime_error("couldn't find input dir in " + v4l_dev_path); string vid_fname = v4l_dev_path + string("/") + input_dir + string("/id/vendor"); string pid_fname = v4l_dev_path + string("/") + input_dir + string("/id/product"); string ver_fname = v4l_dev_path + string("/") + input_dir + string("/id/version"); char vid[5], pid[5], ver[5]; FILE *vid_fp = fopen(vid_fname.c_str(), "r"); if (!vid_fp) throw std::runtime_error("couldn't open " + vid_fname); if (!fgets(vid, sizeof(vid), vid_fp)) throw std::runtime_error("couldn't read VID from " + vid_fname); fclose(vid_fp); vid[4] = 0; printf("vid = [%s]\n", vid); FILE *pid_fp = fopen(pid_fname.c_str(), "r"); if (!pid_fp) throw std::runtime_error("couldn't open " + pid_fname); if (!fgets(pid, sizeof(pid), pid_fp)) throw std::runtime_error("couldn't read PID from " + pid_fname); fclose(pid_fp); printf("pid = [%s]\n", pid); FILE *ver_fp = fopen(ver_fname.c_str(), "r"); if (!ver_fp) throw std::runtime_error("couldn't open " + ver_fname); if (!fgets(ver, sizeof(ver), ver_fp)) throw std::runtime_error("couldn't read version from " + ver_fname); fclose(ver_fp); printf("ver = [%s]\n", ver); } closedir(d); }
int main() { try { io_service ios; ip::tcp::resolver resolver(ios); ip::tcp::resolver::query query("ftp.alepho.com", "21"); ip::tcp::resolver::iterator it = resolver.resolve(query); ip::tcp::endpoint endpoint = *it; ip::tcp::socket client(ios); client.connect(endpoint); const int BUFLEN = 1024; vector<char> buf(BUFLEN); error_code error; int len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; string request = "USER ***\r\n"; cout << request; client.send(buffer(request, request.size())); len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; request = "PASS ***\r\n"; cout << request; client.send(buffer(request, request.size())); len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; request = "CWD alepho.com/public_html\r\n"; cout << request; client.send(buffer(request, request.size())); len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; request = "PASV\r\n"; cout << request; client.send(buffer(request, request.size())); len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; pair<string, string> portHost = parseHostPort(string(buf.data(), len)); callable call(portHost.first, portHost.second); thread th(call); request = "STOR hello.txt\r\n"; cout << request; client.send(buffer(request, request.size())); len = client.receive(buffer(buf, BUFLEN), 0, error); cout.write(buf.data(), len); cout << endl; th.join(); } catch (system_error& exc) { cout << "main(): exc.what()=" << exc.what() << endl; } return EXIT_SUCCESS; }
TEST_F(ProgramOptionsTest, CipherSome) { ProgramOptions testobj("", "", none, true, none, none, string("aes-256-gcm"), none, {"./myExecutable"}); EXPECT_EQ("aes-256-gcm", testobj.cipher().get()); }
int main(int argc, char** argv) { #ifndef GFLAGS_GFLAGS_H_ namespace gflags = google; #endif gflags::SetUsageMessage("This script converts the images dataset to\n" "the leveldb format used by Caffe to load data.\n"); gflags::ParseCommandLineFlags(&argc, &argv, true); /* check */ if (argc != 3) { gflags::ShowUsageWithFlagsRestrict(argv[0],"./convert_dataset filelist.txt leveldb_path"); return -2; } else google::InitGoogleLogging(argv[0]); /* create the leveldb, open it */ leveldb::DB *db; leveldb::Options options; options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; unsigned long counter = 0; /* open the leveldb file */ string output_db_path( argv[2] ); LOG(INFO)<<"Opening leveldb "<<output_db_path; leveldb::Status status = leveldb::DB::Open( options, output_db_path.c_str(), &db ); CHECK(status.ok()) << "Failed to open leveldb " << output_db_path<< ". Is it already existing?"; /* also save the map from class_name to label , * and map from label to class_name*/ map<int, int> class_to_label; map<int, int> label_to_class; /* check if argv[1] is a folder */ if( !bf::is_regular_file( string(argv[1])) ) { cout<<string(argv[1])<<" is not a file !"<<endl; return -3; } /* iterate the folder */ unsigned int label = 0; stringstream ss; int r, img_label, bbox_x, bbox_y, bbox_width, bbox_height; char img_path[30]; FILE *fp = fopen( argv[1], "r"); if(fp == NULL) { cout<<"can not open file "<<argv[1]<<endl; return -3; } /* leveldb writer buffer */ leveldb::WriteBatch* batch = NULL; batch = new leveldb::WriteBatch(); while(1) { r = fscanf(fp, "%s %d %d %d %d %d\n", img_path, &img_label, &bbox_x, &bbox_y, &bbox_width, &bbox_height); if( r == EOF ) break; cv::Mat input_img = cv::imread( string(img_path) ); if(input_img.empty()) { cout<<"img empty ! "<<endl; return -5; } /* read the adjust the image to the fixed size 256x256 */ Rect adjusted_rect; if( bbox_height > bbox_width ) adjusted_rect = resizeToFixedRatio(Rect( bbox_x, bbox_y, bbox_width, bbox_height), 1, 1); else adjusted_rect = resizeToFixedRatio(Rect( bbox_x, bbox_y, bbox_width, bbox_height), 1, 0); Mat crop_img = cropImage( input_img, adjusted_rect ); resize( crop_img, crop_img, Size(256,256), 0, 0, INTER_AREA); /*decide the label*/ if( class_to_label.count(img_label) ==0) { class_to_label[ img_label] = label; label_to_class[label] = img_label; label++; } /* write the Datum to leveldb */ Datum datum; string value; const int kMaxKeyLength = 10; /* enough for this dataset */ char key_cstr[kMaxKeyLength]; /* convert Mat to Datum using caffe util */ CVMatToDatum( crop_img, &datum ); datum.set_label(class_to_label[img_label]); //datum.set_channels(crop_img.channels()); //datum.set_height(crop_img.rows); //datum.set_width(crop_img.cols); //datum.set_data(crop_img.data, crop_img.cols*crop_img.cols*crop_img.channels()); /* wrong, caffe's data format is num channel height wid */ //datum.set_label( class_to_label[img_label] ); /* remember to set the label */ snprintf(key_cstr, kMaxKeyLength, "%08d", counter++); datum.SerializeToString(&value); batch->Put( key_cstr, value); if( counter % 1000 == 0) { db->Write(leveldb::WriteOptions(), batch); delete batch; batch = new leveldb::WriteBatch(); } cout<<"processing image "<<img_path<<" with label "<<class_to_label[img_label]<<endl; cout<<"car type is "<<class_to_label[img_label]<<endl; //rectangle( input_img, cv::Rect( bbox_x, bbox_y, bbox_width, bbox_height), cv::Scalar(255,0,0) ); //imshow( "input", input_img); //imshow("adjust", crop_img); //cout<<"write image to "<<"./show_test/"+string(img_path)<<std::endl; //imwrite("./show_test/"+string(img_path), crop_img); //waitKey(0); } if( counter%1000 != 0 ) { db->Write(leveldb::WriteOptions(), batch); delete batch; delete db; } cout<<"size of class_to_label is "<<class_to_label.size()<<endl; cout<<"size of label_to_class is "<<label_to_class.size()<<endl; save_map( class_to_label, "class_to_label_test.data"); save_map( label_to_class, "label_to_class_test.data"); return 0; }
void convert_dataset(const string& input_folder, const string& output_folder, const string& db_type) { scoped_ptr<db::DB> train_db(db::GetDB(db_type)); train_db->Open(output_folder + "/cifarcatdog_train_" + db_type, db::NEW); scoped_ptr<db::Transaction> txn(train_db->NewTransaction()); // Data buffer int label; char str_buffer[kCIFARImageNBytes]; Datum datum; datum.set_channels(3); datum.set_height(kCIFARSize); datum.set_width(kCIFARSize); LOG(INFO) << "Writing Training data"; for (int fileid = 0; fileid < kCIFARTrainBatches; ++fileid) { // Open files LOG(INFO) << "Training Batch " << fileid + 1; snprintf(str_buffer, kCIFARImageNBytes, "/data_batch_%d.bin", fileid + 1); std::ifstream data_file((input_folder + str_buffer).c_str(), std::ios::in | std::ios::binary); CHECK(data_file) << "Unable to open train file #" << fileid + 1; for (int itemid = 0; itemid < kCIFARBatchSize; ++itemid) { read_image(&data_file, &label, str_buffer); if (label == CAT_LABEL or label == DOG_LABEL) { label = (label == CAT_LABEL) ? 0 : 1; datum.set_label(label); datum.set_data(str_buffer, kCIFARImageNBytes); int length = snprintf(str_buffer, kCIFARImageNBytes, "%05d", fileid * kCIFARBatchSize + itemid); string out; CHECK(datum.SerializeToString(&out)); txn->Put(string(str_buffer, length), out); } } } txn->Commit(); train_db->Close(); LOG(INFO) << "Writing Testing data"; scoped_ptr<db::DB> test_db(db::GetDB(db_type)); test_db->Open(output_folder + "/cifarcatdog_test_" + db_type, db::NEW); txn.reset(test_db->NewTransaction()); // Open files std::ifstream data_file((input_folder + "/test_batch.bin").c_str(), std::ios::in | std::ios::binary); CHECK(data_file) << "Unable to open test file."; for (int itemid = 0; itemid < kCIFARBatchSize; ++itemid) { read_image(&data_file, &label, str_buffer); if (label == CAT_LABEL or label == DOG_LABEL) { label = (label == CAT_LABEL) ? 0 : 1; datum.set_label(label); datum.set_data(str_buffer, kCIFARImageNBytes); int length = snprintf(str_buffer, kCIFARImageNBytes, "%05d", itemid); string out; CHECK(datum.SerializeToString(&out)); txn->Put(string(str_buffer, length), out); } } txn->Commit(); test_db->Close(); }
TEST_F(CryConfigCreatorTest, DoesNotAskForCipherIfSpecified) { AnswerNoToDefaultSettings(); EXPECT_DOES_NOT_ASK_FOR_CIPHER(); CryConfig config = creator.create(string("aes-256-gcm"), none); }
TEST_F(CryConfigCreatorTest, DoesNotAskForAnythingIfEverythingIsSpecified) { EXPECT_DOES_NOT_ASK_TO_USE_DEFAULT_SETTINGS(); EXPECT_DOES_NOT_ASK_FOR_CIPHER(); CryConfig config = noninteractiveCreator.create(string("aes-256-gcm"), 10*1024u); }
void SchemaPrinter::Visit(const StringFieldDescriptor *descriptor) { m_str << string(m_indent, ' ') << descriptor->Name() << ": string [" << descriptor->MinSize() << ", " << descriptor->MaxSize() << "]" << endl; }
void DigitiserStatsPlot::draw( const Archive *const_arch ) { Reference::To<Archive> arch = const_cast<Archive*>( const_arch ); Reference::To<DigitiserStatistics> ext = arch->get<DigitiserStatistics>(); if( CheckStats( ext ) && valid_archive ) { vector<float> xs( ncycsub*nsub ); float x_step = 1.0 / (((ncycsub)*(nsub))-1); for( int g = 0; g < ndigr; g ++ ) { // adjust the xs array for this digitiser channel float next_x = g; for( int i = 0; i < ncycsub*nsub; i ++ ) { xs[i] = next_x; next_x += x_step; } // for each parameter, draw the profile for( int p = 0; p < npar; p ++ ) { cpgsci( (p + 1)* 2 ); cpgline( ncycsub*nsub, &xs[0], &profiles[g][p][0] ); } } cpgsci( 1 ); // get the viewport range including buffer float vp_y1, vp_y2; get_frame()->get_y_scale()->get_range_external( vp_y1, vp_y2 ); // get the window range float w_x1, w_x2, w_y1, w_y2; cpgqwin( &w_x1, &w_x2, &w_y1, &w_y2 ); // Save the current viewport, so that we can adjust relative to it and restore it later. float tx_min, tx_max, ty_min, ty_max; cpgqvp( 0, &tx_min, &tx_max, &ty_min, &ty_max ); // For each digitiser channel // set the viewport to cover that channel // set the window to have x ranging from start time to end time // draw a box around the viewport float duration = arch->integration_length(); float nx = tx_min; float xw = (tx_max-tx_min)*(1.0/ndigr); for( int c = 0; c < ndigr; c ++ ) { cpgsvp( nx, nx + xw, ty_min, ty_max ); cpgswin( 0, duration, w_y1, w_y2 ); if( nx == tx_min ) cpgbox("bcnt", 0.0, 0, "bcnt", 20.0, 0); else cpgbox("bcnt", 0.0, 0, "bct", 20.0, 0 ); string dig_label = string("Dig ") + tostring<int>(c); cpgmtxt( "T", -1, 0.01, 0, dig_label.c_str() ); nx += xw; } // Restore the original viewport cpgsvp( tx_min, tx_max, ty_min, ty_max ); } }
int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); if (argc < 4) { printf("Convert a set of images to the leveldb format used\n" "as input for Caffe.\n" "Usage:\n" " convert_imageset ROOTFOLDER/ LISTFILE DB_NAME" " RANDOM_SHUFFLE_DATA[0 or 1]\n" "The ImageNet dataset for the training demo is at\n" " http://www.image-net.org/download-images\n"); return 0; } std::ifstream infile(argv[2]); std::vector<std::pair<string, int> > lines; string filename; int label; while (infile >> filename >> label) { lines.push_back(std::make_pair(filename, label)); } if (argc == 5 && argv[4][0] == '1') { // randomly shuffle data LOG(INFO) << "Shuffling data"; std::random_shuffle(lines.begin(), lines.end()); } LOG(INFO) << "A total of " << lines.size() << " images."; leveldb::DB* db; leveldb::Options options; options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; LOG(INFO) << "Opening leveldb " << argv[3]; leveldb::Status status = leveldb::DB::Open( options, argv[3], &db); CHECK(status.ok()) << "Failed to open leveldb " << argv[3]; string root_folder(argv[1]); Datum datum; int count = 0; const int maxKeyLength = 256; char key_cstr[maxKeyLength]; leveldb::WriteBatch* batch = new leveldb::WriteBatch(); for (int line_id = 0; line_id < lines.size(); ++line_id) { if (!ReadImageToDatum(root_folder + lines[line_id].first, lines[line_id].second, &datum)) { continue; }; // sequential snprintf(key_cstr, maxKeyLength, "%08d_%s", line_id, lines[line_id].first.c_str()); string value; // get the value datum.SerializeToString(&value); batch->Put(string(key_cstr), value); if (++count % 1000 == 0) { db->Write(leveldb::WriteOptions(), batch); LOG(ERROR) << "Processed " << count << " files."; delete batch; batch = new leveldb::WriteBatch(); } } // write the last batch if (count % 1000 != 0) { db->Write(leveldb::WriteOptions(), batch); LOG(ERROR) << "Processed " << count << " files."; } delete batch; delete db; return 0; }
//------------------------------------- bool BatchFile::Process() { static const char lEndOfRecord = '#'; static const int lLineLength = 256; bool lOK = true; /// ARTHUR - commented due to string stream incompatability // Jtk - uncommented to bring back batch file functionality. // type cast the strings to (char*) which appeared to solve // the string stream incompatibility //attempt to open input file ifstream lInFile( mInFileName.c_str(), ios::in ); if( ! lInFile.is_open() ) { AfxMessageBox( "Unable to open batch input file." ); return false; } //make sure this is a batch file string lLine;//( lLineLength, "", ' ' ); lInFile >> lLine; //lInFile.getline( (char*)lLine, lLineLength, lEndOfRecord ); // JTK - Removed simplying setting lCommandName = lLine appears to work /* strstream lCore; lCore << lLine << endl;*/ string lCommandName;//( 20, "", ' ' ); // JTK - Removed because strstream no longer exists // lCore >> (char*)lCommandName; lCommandName = lLine; // added because of the removal of strstream // allow no space so we don't break peoples' workarounds if(lCommandName != "3DSSPPBATCHFILE#") { if(mCommands.find(lCommandName) == mCommands.end() || mCommands[lCommandName] != bch3DSSPPBatchFile) { AfxMessageBox("Batch file header missing. \nFile must begin with '3DSSPPBATCHFILE #'."); lInFile.close(); return false; } // make sure there's a # next lInFile >> lLine; if(lLine != "#") { AfxMessageBox("Batch file header missing. \nFile must begin with '3DSSPPBATCHFILE #'."); lInFile.close(); return false; } } //cMapType::iterator lIt = mCommands.find( lCommandName ); /* if(lIt != mCommands.end()) //match found { switch((*lIt).second) { case bch3DSSPPBatchFile : { //Header found as first command. OK to proceed. break; } default: { AfxMessageBox( "Batch file header missing. \nFile must begin with '3DSSPPBATCHFILE #'." ); lInFile.close(); return false; } } } else //match not found { AfxMessageBox( "3DSSPP batch file header missing. This is not a valid 3DSSPP batch file." ); lInFile.close(); return false; }*/ //attempt to open export file fstream lExportFile(mExportFileName.c_str(), ios::in | ios::out | ios::trunc | ios::ate ); if(!lExportFile.is_open()) { AfxMessageBox( "Unable to open batch export file." ); lInFile.close(); return false; } //attempt to open log file ofstream lLogFile(mLogFileName.c_str()); if(!lLogFile.is_open()) { AfxMessageBox("Unable to open batch log file."); lInFile.close(); lExportFile.close(); return false; } // prepare the progress dialog mProgressDialog.Create(IDD_BATCHFILE); mProgressDialog.ShowWindow(SW_SHOWNORMAL); // repeatedly get and decode lines int lRecordNumber = 1; bool lFirstCommand = true; while(lInFile.peek() != EOF) { //Get line string lLine;//( lLineLength, "", ' ' ); //lInFile.getline( (char*)lLine, lLineLength, lEndOfRecord ); lInFile >> lLine; //strstream lCore; //lCore << lLine << ends; //Get the command name //String lCommandName( 20, "", ' ' ); //lCore >> (char*)lCommandName; string lCommandName = lLine; cMapType::iterator lIt = mCommands.find( lCommandName ); if( lIt != mCommands.end() ) //match found { switch( (*lIt).second ) { case bchDescription : { TaskDescription lTaskDescription; lInFile >> lTaskDescription; if( lTaskDescription.Error() ) { LogError( lLogFile, lRecordNumber, "TaskDescription", (char*)lTaskDescription.LastErrorMessage() ); lOK = false; } else { mDocPtr->SetDescription( lTaskDescription ); //NOTE: Task description does not trigger automatic export. } break; } case bchAnthropomentry : { Anthropometry lAnthropometry; lInFile >> lAnthropometry; if( lAnthropometry.Error() ) { LogError( lLogFile, lRecordNumber, "Anthropometry", (char*)lAnthropometry.LastErrorMessage() ); lOK = false; } else { mDocPtr->setAnthropometry( lAnthropometry ); mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchJointAngles : { // JointAngles lJointAngles; // lInFile >> lJointAngles; // if(! lJointAngles.Validate() ) // { // LogError( lLogFile, lRecordNumber, "JointAngles", lJointAngles.getLastError().c_str() ); // lOK = false; // } // else // { //// make the frame a keyframe if it is currently unset //// TODO make keyframe as long as it is not a keyframe? //if(mDocPtr->getFrameType() == FT_Unset) { // mDocPtr->setFrameType(FT_Keyframe); //} //// Put the joint angles and clear the undoing queue // mDocPtr->clearUndoHistory(); // mDocPtr->GetSkeleton()->SetAngles(lJointAngles); //mDocPtr->MakeDirtyAndUpdateViews(true); //if (mAutoExport) // mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); // } // break; AfxMessageBox(_T("JOI not supported in 7.00 and later version."), MB_OK | MB_ICONSTOP); } case bchJointAnglesWithLegs : { //no longer needed in 7.0.0 //JointAngles lJointAngles; //// don't user operator when we're reading in with the leg angles //// we should actually get rid of the operator then, or have a better //// versioning system ////lInFile >> lJointAngles; //lJointAngles.ReadBatchFileWithLegs(lInFile); //if(! lJointAngles.Validate() ) //{ // LogError(lLogFile, lRecordNumber, "JointAngles", lJointAngles.getLastError().c_str()); // lOK = false; //} //else //{ // // make the frame a keyframe if it is currently unset // // TODO make keyframe as long as it is not a keyframe? // if(mDocPtr->getFrameType() == FT_Unset) { // mDocPtr->setFrameType(FT_Keyframe); // } // // Put the joint angles and clear the undoing queue // mDocPtr->clearUndoHistory(); // mDocPtr->GetSkeleton()->SetAngles(lJointAngles); // mDocPtr->MakeDirtyAndUpdateViews(true); // if(mAutoExport) // mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); //} //break; AfxMessageBox(_T("JO6 not supported in 7.00 and later version."), MB_OK | MB_ICONSTOP); } case bchJointAnglesAll : { JointAngles lJointAngles; // don't user operator when we're reading in with the leg angles // we should actually get rid of the operator then, or have a better // versioning system //lInFile >> lJointAngles; lJointAngles.ReadBatchFileAll(lInFile); /*if(! lJointAngles.Validate() ) { LogError(lLogFile, lRecordNumber, "JointAngles", lJointAngles.getLastError().c_str()); lOK = false; } else*/ { // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } // Put the joint angles and clear the undoing queue mDocPtr->clearUndoHistory(); mDocPtr->GetSkeleton()->SetAngles(lJointAngles); mDocPtr->MakeDirtyAndUpdateViews(true); if(mAutoExport) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchHandLoads : { HandLoads lHandLoads; lInFile >> lHandLoads; if(lHandLoads.Error()) { LogError( lLogFile, lRecordNumber, "HandLoads", (char*)lHandLoads.LastErrorMessage() ); lOK = false; } else { mDocPtr->GetSkeleton()->setExtForce(JT_LHAND, lHandLoads.GetLForceVector()); mDocPtr->GetSkeleton()->setExtForce(JT_RHAND, lHandLoads.GetRForceVector()); // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } // for hand component load case bchLeftHandComponentLoad : { HandLoads lHandLoads; lInFile >> lHandLoads; if(lHandLoads.Error()) { LogError( lLogFile, lRecordNumber, "HandComponentLoads", (char*)lHandLoads.LastErrorMessage() ); lOK = false; } else { Vector3 leftForceVec; leftForceVec[0] = lHandLoads.LeftMagnitude(); leftForceVec[1] = lHandLoads.LeftVerticalAngle(); leftForceVec[2] = lHandLoads.LeftHorizontalAngle(); Vector3 leftTorqueVec; leftTorqueVec[0] = lHandLoads.RightMagnitude(); leftTorqueVec[1] = lHandLoads.RightVerticalAngle(); leftTorqueVec[2] = lHandLoads.RightHorizontalAngle(); mDocPtr->GetSkeleton()->setExtForce(JT_LHAND, leftForceVec); mDocPtr->GetSkeleton()->setExtTorque(JT_LHAND, leftTorqueVec); // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchRightHandComponentLoad : { HandLoads lHandLoads; lInFile >> lHandLoads; if(lHandLoads.Error()) { LogError( lLogFile, lRecordNumber, "HandComponentLoads", (char*)lHandLoads.LastErrorMessage() ); lOK = false; } else { Vector3 rightForceVec; rightForceVec[0] = lHandLoads.LeftMagnitude(); rightForceVec[1] = lHandLoads.LeftVerticalAngle(); rightForceVec[2] = lHandLoads.LeftHorizontalAngle(); Vector3 rightTorqueVec; rightTorqueVec[0] = lHandLoads.RightMagnitude(); rightTorqueVec[1] = lHandLoads.RightVerticalAngle(); rightTorqueVec[2] = lHandLoads.RightHorizontalAngle(); mDocPtr->GetSkeleton()->setExtForce(JT_RHAND, rightForceVec); mDocPtr->GetSkeleton()->setExtTorque(JT_RHAND, rightTorqueVec); // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } //for multi-joint load case bchexternala: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[0],lJointLoads.GetForceVector()); skel.setExtTorque(order[0],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalb: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[1],lJointLoads.GetForceVector()); skel.setExtTorque(order[1],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalc: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[2],lJointLoads.GetForceVector()); skel.setExtTorque(order[2],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternald: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[3],lJointLoads.GetForceVector()); skel.setExtTorque(order[3],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternale: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[4],lJointLoads.GetForceVector()); skel.setExtTorque(order[4],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalf: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[5],lJointLoads.GetForceVector()); skel.setExtTorque(order[5],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalg: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[6],lJointLoads.GetForceVector()); skel.setExtTorque(order[6],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalh: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[7],lJointLoads.GetForceVector()); skel.setExtTorque(order[7],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternali: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[8],lJointLoads.GetForceVector()); skel.setExtTorque(order[8],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalj: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[9],lJointLoads.GetForceVector()); skel.setExtTorque(order[9],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalk: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[11] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[10],lJointLoads.GetForceVector()); skel.setExtTorque(order[10],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternall: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[14] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE, JT_RWRIST, JT_LWRIST,JT_TRAGION}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[11],lJointLoads.GetForceVector()); skel.setExtTorque(order[11],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternalm: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[14] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE, JT_RWRIST, JT_LWRIST, JT_TRAGION}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[12],lJointLoads.GetForceVector()); skel.setExtTorque(order[12],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchexternaln: { HandLoads lJointLoads; lInFile >> lJointLoads; if(lJointLoads.Error()) { LogError( lLogFile, lRecordNumber, "JointLoads", (char*)lJointLoads.LastErrorMessage() ); lOK = false; } else { const JointID order[14] = {JT_RELBOW,JT_RSHOULDER,JT_LELBOW,JT_LSHOULDER,JT_L5S1_TEMP, JT_RHIP,JT_RKNEE,JT_RANKLE,JT_LHIP,JT_LKNEE,JT_LANKLE, JT_RWRIST, JT_LWRIST, JT_TRAGION}; // make group undo event int left = Get_App_Ptr()->Get_Document_Ptr()->LeftSelect(); int right = Get_App_Ptr()->Get_Document_Ptr()->RightSelect(); GroupEvent* groupEvent = new GroupEvent(left, right); for(int frame = left; frame <= right; frame++) { //Skeleton &skel = *Get_App_Ptr()->Get_Document_Ptr()->GetSkeleton(); Skeleton& skel = *Get_App_Ptr()->Get_Document_Ptr()->getSkeletonAtFrame(frame); skel.setExtForce(order[13],lJointLoads.GetForceVector()); skel.setExtTorque(order[13],lJointLoads.GetTorqueVector()); } // make the frame a keyframe if it is currently unset // TODO make keyframe as long as it is not a keyframe? if(mDocPtr->getFrameType() == FT_Unset) { mDocPtr->setFrameType(FT_Keyframe); } mDocPtr->MakeDirtyAndUpdateViews(true); if( mAutoExport ) mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); } break; } case bchSupport : { Support_s tempsupport; InputAuxiliary inputcheck; //input checking class string temp; //temp string for the input int feetSupport, position; //temp int value for enum to support read lInFile >> temp; if (!inputcheck.isInteger(temp) | !inputcheck.CheckRange(inputcheck.StringtoInt(temp), 0,3)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input feetsupport must be an integer from 0 to 3 \n")); lOK = false; break; } feetSupport = inputcheck.StringtoInt(temp); lInFile >> temp; if (!inputcheck.isInteger(temp) | !inputcheck.CheckRange(inputcheck.StringtoInt(temp), 0,1)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input position must be an integer from 0 to 1 \n")); lOK = false; break; } position = (bool)inputcheck.StringtoInt(temp); lInFile >> temp; if (!inputcheck.isInteger(temp) | !inputcheck.CheckRange(inputcheck.StringtoInt(temp), 0,1)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input frontSeatPanSuppor must be an integer from 0 to 1 \n")); lOK = false; break; } tempsupport.frontSeatPanSupport = (bool)inputcheck.StringtoInt(temp); lInFile >> temp; if (!inputcheck.isInteger(temp) | !inputcheck.CheckRange(inputcheck.StringtoInt(temp), 0,1)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input seatHasBackRest must be an integer from 0 to 1 \n")); lOK = false; break; } tempsupport.seatHasBackRest = (bool)inputcheck.StringtoInt(temp); lInFile >> temp; if (!inputcheck.isDouble(temp) | !inputcheck.CheckLowBound(inputcheck.StringtoDouble(temp), 19.05)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input backRestCenterHeight must be a number and it is bigger than 19.05 \n")); lOK = false; break; } tempsupport.backRestCenterHeight = inputcheck.StringtoDouble(temp); lInFile >> temp; if (!inputcheck.isInteger(temp) | !inputcheck.CheckRange(inputcheck.StringtoInt(temp), -360,360)) { LogError(lLogFile, lRecordNumber, "Support Selection", string("The input additionalPelvicTilt must be an integer from -360 to 360 \n")); lOK = false; break; } tempsupport.additionalPelvicTilt = inputcheck.StringtoInt(temp); tempsupport.feetSupport = FeetSupport_e(feetSupport); tempsupport.position = Position_e(position); //The following two line is due to the coodinate changing. tempsupport.additionalPelvicTilt = tempsupport.additionalPelvicTilt; tempsupport.displayAdditionalPelvicTilt = tempsupport.additionalPelvicTilt; if(lInFile.fail()) { LogError(lLogFile, lRecordNumber, "Support Selection", string("Support Selection parameters must be FeetSupport, Position, FrontSeatPanSupport,seatHasBackRest, backRestCenterHeight. additionalPelvicTilt, displayAdditionalPelvicTilt \n")); lOK = false; } else if (position && (feetSupport ==1|feetSupport ==2)){ LogError(lLogFile, lRecordNumber, "Support Selection", string("Two feet must be both on or not on the ground if seated \n")); lOK = false; } else if (!position && (feetSupport == 3)){ LogError(lLogFile, lRecordNumber, "Support Selection", string("Either or both feet needs to be on the ground if standing \n")); lOK = false; } else if (tempsupport.frontSeatPanSupport && (feetSupport !=3)){ LogError(lLogFile, lRecordNumber, "Support Selection", string("No frontPan is allowed \n")); lOK = false; } else { mDocPtr->setSupport(tempsupport); mDocPtr->MakeDirtyAndUpdateViews(true); } break; } case bchComment : { //do nothing break; } case bchExport : { mDocPtr->DoExportSummary(lExportFile, DM_COMMA, FM_APPEND); break; } case bchAutoExport : { int lAutoExport; lInFile >> lAutoExport; if( ! lInFile.fail() ) { if (lAutoExport) mAutoExport = true; else mAutoExport = false; } else { string lMsg( "Value not 0 (false) or 1 (true)." ); LogError( lLogFile, lRecordNumber, "AutoExport", lMsg ); lOK = false; } break; } case bchPause : { int pauseTime; string temp; //temp string for the input lInFile >> temp; InputAuxiliary inputcheck; //input checking class if (!inputcheck.isInteger(temp)) { LogError(lLogFile, lRecordNumber, "Pause", string("Must enter a positive integer number of milliseconds to pause, or 0 to be prompted to resume")); lOK = false; break; } pauseTime = inputcheck.StringtoInt(temp); if( ! lInFile.fail() && pauseTime >= 0) { //mDocPtr->RedrawViews(); mDocPtr->UpdateViews(); if(pauseTime == 0) { AfxMessageBox("Batch file processing paused. Press OK to continue", MB_OK); } else { Sleep(pauseTime); } } else { LogError( lLogFile, lRecordNumber, "Pause", string("Must enter a positive integer number of milliseconds to pause, or 0 to be prompted to resume")); lOK = false; } break; } case bchFrameChange: { string firstParam; lInFile >> firstParam; if(lInFile.fail()) { LogError(lLogFile, lRecordNumber, "Frame", string("Frame command parameters must be + <num> | - <num> | FIRST | LAST | <num>")); lOK = false; } else { // Go to first frame if(firstParam == "FIRST") { mDocPtr->setCurrentFrame(0); } else // Go to last frame if(firstParam == "LAST") { mDocPtr->setCurrentFrame(mDocPtr->getLastFrame()); } else // Advance a number of frames if(firstParam == "+") { // read number of frames int numFrames; lInFile >> numFrames; if(lInFile.fail()) { LogError(lLogFile, lRecordNumber, "Frame", string("Frame command parameters must be + <num> | - <num> | FIRST | LAST | <num>")); lOK = false; } else { mDocPtr->setCurrentFrame(mDocPtr->getCurrentFrame() + numFrames); } } else // Rewind a number of frames if(firstParam == "-") { // read number of frames int numFrames; lInFile >> numFrames; if(lInFile.fail()) { LogError(lLogFile, lRecordNumber, "Frame", string("Frame command parameters must be + <num> | - <num> | FIRST | LAST | <num>")); lOK = false; } else { mDocPtr->setCurrentFrame(mDocPtr->getCurrentFrame() - numFrames); } } else { // Go to numbered frame int frameNumber = atoi(firstParam.c_str()); mDocPtr->setCurrentFrame(frameNumber); } } // update views after frame change mDocPtr->UpdateViews(); break; }
string bit_index_storage::name() const { return string("bit_index_storage"); }
void CharField::parse( const char* first, const char* last ) { if (last != first+1) throw Exception("unable to parse char: "+string(first,last)); *val_ = *first; }
std::string GetSubtitlesCommand::toString() { return string("get the subtitle files at ") + fp; }
//默认传入空字符串 HasPtr(int i, const string &_s = string()): ivalue(i), s(new string(_s)) { }
TEST(Construction, FromUserDefinedLiteral) { const auto strData = "cc\0c"_sd; ASSERT_EQUALS(strData.size(), 4U); ASSERT_EQUALS(strData.toString(), string("cc\0c", 4)); }
void XapianIndex::addCommonTerms(const DocumentInfo &info, Xapian::Document &doc, Xapian::termcount &termPos) const { string title(info.getTitle()); string location(info.getLocation()); Url urlObj(location); // Add a magic term :-) doc.add_term(MAGIC_TERM); // Index the title with and without prefix S if (title.empty() == false) { Document titleDoc; titleDoc.setData(title.c_str(), title.length()); Tokenizer titleTokens(&titleDoc); addPostingsToDocument(titleTokens, doc, "S", termPos, STORE_UNSTEM); titleTokens.rewind(); addPostingsToDocument(titleTokens, doc, "", termPos, m_stemMode); } // Index the full URL with prefix U doc.add_term(string("U") + XapianDatabase::limitTermLength(Url::escapeUrl(location), true)); // ...the host name and included domains with prefix H string hostName(StringManip::toLowerCase(urlObj.getHost())); if (hostName.empty() == false) { doc.add_term(string("H") + XapianDatabase::limitTermLength(hostName, true)); string::size_type dotPos = hostName.find('.'); while (dotPos != string::npos) { doc.add_term(string("H") + XapianDatabase::limitTermLength(hostName.substr(dotPos + 1), true)); // Next dotPos = hostName.find('.', dotPos + 1); } } // ...the location (as is) and all directories with prefix XDIR: string tree(urlObj.getLocation()); if (tree.empty() == false) { doc.add_term(string("XDIR:") + XapianDatabase::limitTermLength(Url::escapeUrl(tree), true)); if (tree[0] == '/') { doc.add_term("XDIR:/"); } string::size_type slashPos = tree.find('/', 1); while (slashPos != string::npos) { doc.add_term(string("XDIR:") + XapianDatabase::limitTermLength(Url::escapeUrl(tree.substr(0, slashPos)), true)); // Next slashPos = tree.find('/', slashPos + 1); } } // ...and the file name with prefix P string fileName(urlObj.getFile()); if (fileName.empty() == false) { string extension; doc.add_term(string("P") + XapianDatabase::limitTermLength(Url::escapeUrl(fileName), true)); // Does it have an extension ? string::size_type extPos = fileName.rfind('.'); if ((extPos != string::npos) && (extPos + 1 < fileName.length())) { extension = StringManip::toLowerCase(fileName.substr(extPos + 1)); } doc.add_term(string("XEXT:") + XapianDatabase::limitTermLength(extension)); } // Add the date terms D, M and Y time_t timeT = TimeConverter::fromTimestamp(info.getTimestamp()); struct tm *tm = localtime(&timeT); string yyyymmdd = TimeConverter::toYYYYMMDDString(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday); if (yyyymmdd.length() == 8) { doc.add_term(string("D") + yyyymmdd); doc.add_term(string("M") + yyyymmdd.substr(0, 6)); doc.add_term(string("Y") + yyyymmdd.substr(0, 4)); } // Finally, add the language code with prefix L doc.add_term(string("L") + Languages::toCode(m_stemLanguage)); // ...and the MIME type with prefix T doc.add_term(string("T") + info.getType()); }
TEST(Construction, FromUserDefinedRawLiteral) { const auto strData = R"("")"_sd; ASSERT_EQUALS(strData.size(), 2U); ASSERT_EQUALS(strData.toString(), string("\"\"", 2)); }
static FullScreenView display_type2_message_header(Type2MessageData& msg) { static constexpr int COLUMN2 = 42; int num_header_lines = 0; if (msg.message_number > 0 && msg.total_messages > 0 && !msg.message_area.empty()) { string msgarea = msg.message_area; if (msgarea.size() > 35) { msgarea = msgarea.substr(0, 35); } bout << "|#9 Sub|#7: |#" << a()->GetMessageColor() << msgarea; if (a()->user()->GetScreenChars() >= 78) { auto pad = COLUMN2 - (6 + msgarea.size()); bout << string(pad, ' '); } else { bout.nl(); num_header_lines++; } bout << "|#9Msg#|#7: "; if (msg.message_number > 0 && msg.total_messages > 0) { bout << "[|#" << a()->GetMessageColor() << msg.message_number << "|#7 of |#" << a()->GetMessageColor() << msg.total_messages << "|#7]"; } bout.nl(); num_header_lines++; } string from = msg.from_user_name; if (from.size() > 35) { from = from.substr(0, 35); } bout << "|#9From|#7: |#1" << from; if (a()->user()->GetScreenChars() >= 78) { int used = 6 + from.size(); auto pad = COLUMN2 - used; bout << string(pad, ' '); } else { bout.nl(); num_header_lines++; } bout << "|#9Date|#7: |#1" << msg.date << wwiv::endl; num_header_lines++; if (!msg.to_user_name.empty()) { bout << " |#9To|#7: |#1" << msg.to_user_name << wwiv::endl; num_header_lines++; } bout << "|#9Subj|#7: |#" << a()->GetMessageColor() << msg.title << wwiv::endl; num_header_lines++; auto sysname = msg.from_sys_name; if (!msg.from_sys_name.empty()) { if (sysname.size() > 35) { sysname = sysname.substr(0, 35); } bout << "|#9 Sys|#7: |#1" << sysname; if (a()->user()->GetScreenChars() >= 78) { int used = 6 + sysname.size(); auto pad = COLUMN2 - used; bout << string(pad, ' '); } else { bout.nl(); num_header_lines++; } if (!msg.from_sys_loc.empty()) { auto loc = msg.from_sys_loc; int maxlen = a()->user()->GetScreenChars() - 7 - COLUMN2; if (size_int(loc) > maxlen) { loc = loc.substr(0, maxlen); } bout << "|#9Loc|#7: |#1" << loc << wwiv::endl; num_header_lines++; } } if (!msg.flags.empty()) { bout << "|#9Info|#7: |#1"; for (const auto& f : msg.flags) { switch (f) { case MessageFlags::FORCED: bout << "|13[FORCED] "; break; case MessageFlags::NOT_NETWORK_VALIDATED: bout << "|12[Not Network Validated] "; break; case MessageFlags::NOT_VALIDATED: bout << "|12<<< NOT VALIDATED >>>"; break; case MessageFlags::PERMANENT: bout << "|13[Permanent] "; break; case MessageFlags::LOCAL: bout << "|10[Local] "; break; case MessageFlags::FTN: bout << "|10[Fido] "; break; case MessageFlags::PRIVATE: bout << "|10[Pvt] "; break; case MessageFlags::WWIVNET: bout << "|10[WWIVnet] "; break; } } bout.nl(); num_header_lines++; } auto screen_width = a()->user()->GetScreenChars(); auto screen_length = a()->user()->GetScreenLines() - 1; return FullScreenView(num_header_lines, screen_width, screen_length); }
TEST(Construction, FromEmptyUserDefinedLiteral) { const auto strData = ""_sd; ASSERT_EQUALS(strData.size(), 0U); ASSERT_EQUALS(strData.toString(), string("")); }
string ToStr(bool val) { return (string( (val == true ? "true" : "false") )); }
Ref<String> Decoder::getEncodedData(Ref<zxing::BitArray> correctedBits) { int endIndex = codewordSize_ * ddata_->getNBDatablocks() - invertedBitCount_; if (endIndex > (int)correctedBits->getSize()) { // std::printf("invalid input\n"); throw FormatException("invalid input data"); } Table lastTable = UPPER; Table table = UPPER; int startIndex = 0; std::string result; bool end = false; bool shift = false; bool switchShift = false; bool binaryShift = false; while (!end) { // std::printf("decoooooding\n"); if (shift) { switchShift = true; } else { lastTable = table; } int code; if (binaryShift) { if (endIndex - startIndex < 5) { break; } int length = readCode(correctedBits, startIndex, 5); startIndex += 5; if (length == 0) { if (endIndex - startIndex < 11) { break; } length = readCode(correctedBits, startIndex, 11) + 31; startIndex += 11; } for (int charCount = 0; charCount < length; charCount++) { if (endIndex - startIndex < 8) { end = true; break; } code = readCode(correctedBits, startIndex, 8); add(result, code); startIndex += 8; } binaryShift = false; } else { if (table == BINARY) { if (endIndex - startIndex < 8) { break; } code = readCode(correctedBits, startIndex, 8); startIndex += 8; add(result, code); } else { int size = 5; if (table == DIGIT) { size = 4; } if (endIndex - startIndex < size) { break; } code = readCode(correctedBits, startIndex, size); startIndex += size; const char *str = getCharacter(table, code); std::string string(str); if ((int)string.find("CTRL_") != -1) { table = getTable(str[5]); if (str[6] == 'S') { shift = true; if (str[5] == 'B') { binaryShift = true; } } } else { result.append(string); } } } if (switchShift) { table = lastTable; shift = false; switchShift = false; } } return Ref<String>(new String(result)); }
void gens_window_drag_data_received(GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint target_type, guint time, gpointer data) { GSFT_UNUSED_PARAMETER(widget); GSFT_UNUSED_PARAMETER(x); GSFT_UNUSED_PARAMETER(y); GSFT_UNUSED_PARAMETER(target_type); GSFT_UNUSED_PARAMETER(data); if (selection_data == NULL || gtk_selection_data_get_length(selection_data) == 0) { // No selection data. gtk_drag_finish(context, false, false, time); return; } gboolean dnd_success = true; gchar *sel_text = (gchar*)gtk_selection_data_get_data(selection_data); if (!sel_text) { // Selection data was not text. gtk_drag_finish(context, false, false, time); return; } string filename = string(sel_text); if (filename.length() >= 8 && filename.substr(0, 8) == "file:///") { // "file:///" prefix. Remove the prefix. filename = filename.substr(7); } else if (filename.length() >= 7 && filename.substr(0, 7) == "file://") { // "file://" prefix. Remove the prefix. filename = filename.substr(6); } else if (filename.length() >= 6 && filename.substr(0, 6) == "file:/") { // "file:/" prefix. Remove the prefix. filename = filename.substr(5); } else if (filename.length() >= 10 && filename.substr(0, 9) == "desktop:/") { // "desktop:/" prefix. Remove the prefix and prepend the user's desktop directory. filename = string(getenv("HOME")) + "/Desktop/" + filename.substr(9); } // Unescape the URI. char* unescaped = gens_g_uri_unescape_string(filename.c_str(), NULL); filename = string(unescaped); g_free(unescaped); // Check that the file actually exists. if (gsft_file_exists(filename.c_str())) { // File exists. Open it as a ROM image. ROM::openROM(filename); Sync_Gens_Window(); } else { // File does not exist. dnd_success = false; } gtk_drag_finish(context, dnd_success, false, time); }
void SchemaPrinter::AppendHeading(const string &name, const string &type) { m_str << string(m_indent, ' ') << name << ": " << type; }