Esempio n. 1
0
int HPJScanner::getLine()
{
    int     current;
    int     has_text;
    int     cur_len=0;

    // Loop until we've identified a single line.
    while( cur_len == 0 ){
    ++_lineNum;
    current = 0;
    cur_len = 0;
    has_text = 0;
    for( ;; ){
        current = _input->nextch();
        if( current == ';' && cur_len == 0 ) break;
        if( current == EOF || current == '\n' ) break;
        if( !isspace( current ) ) {
        has_text = 1;
        }

        if( cur_len == _lineSize ){
        _lineSize += LINE_BLOCK;
        renew( _curLine, _lineSize );
        }

        _curLine[cur_len++] = (char) current;
    }
    if( current == ';' && cur_len == 0 ){
        do {
        current = _input->nextch();
        }while( current != EOF && current != '\n' );
        if( cur_len == 0 ){
        continue;
        }
    }
    if( current != EOF || cur_len > 0 ){
        if( cur_len == _lineSize ){
        _lineSize += LINE_BLOCK;
        renew( _curLine, _lineSize );
        }
        _curLine[cur_len++] = '\0';
    } else {
        break;
    }
    if( !has_text ){
        cur_len = 0;
    }
    }

    // Set up the buffer so this line can be tokenized.
    if( cur_len > 0 ){
    _bufPos = 0;
    _bufChar = _curLine[0];
    }
    return cur_len;
}
 void renew(int i, int val, SegmentTreeNode* root)
 {
     if(root->range_left==root->range_right && root->range_left==i) 
     {
         root->sum = val;
         return;
     }
     if(root->range_left>i || root->range_right<i) return;
     renew(i,val,root->left);
     renew(i,val,root->right);
     root->sum = root->left->sum+root->right->sum;
     
 }
int main(){
	read(C);build();
	char opt;
	int cnt=0;
	for (;;) switch(read(opt),opt){
		case 'C':read(r1),read(c1),read(r2),read(c2),r1--,r2--;
			renew(0);break;
		case 'O':read(r1),read(c1),read(r2),read(c2),r1--,r2--;
			renew(1);break;
		case 'A':read(r1),read(c1),read(r2),read(c2),r1--,r2--;if (c1>c2) c1^=c2,c2^=c1,c1^=c2,r1^=r2,r2^=r1,r1^=r2;
			putchar(query()?'Y':'N');putchar('\n');break;
		case 'E':goto end;
	}
	end:;
}
Esempio n. 4
0
window::window(repository *repo) {
    this->repo = repo;
    this->setFixedSize(550,350);

    QVBoxLayout *mainlayout = new QVBoxLayout(this);

    QVBoxLayout *inputtable = new QVBoxLayout;

    repo->aktie.setFixedWidth(111);
    repo->timerange.setFixedWidth(25);
    QLabel *aktietext = new QLabel;
    aktietext->setText("Aktie:");
    QLabel *texttimerange = new QLabel;         
    texttimerange->setText("Zeitspanne:");  
    repo->timerangeunit.addItem(tr("Tage"));
    repo->timerangeunit.addItem(tr("Monate"));
    repo->timerangeunit.addItem(tr("Jahre"));
    repo->timerangeunit.setFixedWidth(80);
    repo->aktie.setText("^GDAXI");
    repo->timerange.setText("5");
    QPushButton *GoButton = new QPushButton("GO");
    GoButton->setMaximumWidth(112);
    
    this->renew(); 
    
    connect(GoButton,SIGNAL(clicked()),this,SLOT(renew()));


    QHBoxLayout *firstinputline = new QHBoxLayout;
    QHBoxLayout *secondinputline = new QHBoxLayout;
    QHBoxLayout *thirdinputline = new QHBoxLayout;

    //1.line
    inputtable->addLayout(firstinputline, 0);
    firstinputline->addStretch(1);
    firstinputline->addWidget(aktietext, 0);
    firstinputline->addWidget(&repo->aktie, 1);

    
    
    //2.line
    inputtable->addLayout(secondinputline, 1);
    secondinputline->addStretch(1);
    secondinputline->addWidget(texttimerange, 0);
    secondinputline->addWidget(&repo->timerange, 1);
    secondinputline->addWidget(&repo->timerangeunit,2);

   
    //3.line
    inputtable->addLayout(thirdinputline, 2);
    thirdinputline->addStretch(2);
    thirdinputline->addWidget(GoButton, 2);


    mainlayout->addLayout(inputtable, 0);
    mainlayout->addStretch(0);
    mainlayout->addWidget(&repo->view, 1); //diagram


};
Esempio n. 5
0
ClickableWidget::ClickableWidget(SPECIESTYPE type) : MItem(NULL, type)
	  ,m_senemgr(NULL)
					  , m_ownScene(NULL)
{
	m_senemgr = SceneManager::getSceneManger();
	renew();
}
void ProcessDialog::set_config (DConfig *cfg)
{
	renew();
	config = cfg;
	writeThread->set_config(cfg);
	saver->set_file_name (config->filename);
	switch (config->mode)
	{
		case SINGLE_MODE:
			aCurve->setMaxX (config->measure_num);
			//zone_length = aCurve->getMaxX();
			break;
		case CYCLED_MODE:
			aCurve->setMaxX (config->measure_num);
			//zone_length = aCurve->getMaxX();
			break;
		case SCHEDULED_MODE:
			aCurve->setMaxX (config->measure_num);
			//zone_length = aCurve->getMaxX();
			break;
	}
	aCurve->setStepX (config->chart_mod);
	//zone_length = config->measure_num;
	//zone_length = 50;
//	start_x = 0;
//	end_x = zone_length;
//	zone_length_spin->setValue (50);
	zone_length = config->measure_num;
	zone_length_spin->setValue (zone_length);
	start_x = 0;
	display_table->setRowCount (config->measure_num);
	plot->setAxisScale (2, 0, config->measure_num, config->measure_num/5);
//	graph_update(zone_length);
	plot->replot();
}
Esempio n. 7
0
bool C45Reader::setFile(const string& fileName) {

	renew();

	if (!checkFileExist(fileName)) {
		return false;
	}

	if (readAllDataFromNamesFile(fileName + ".names") != 0) {
		return false;
	}

	mNamesLoaded = true;

	string f = fileName + ".data";
	if (openDataFile(f) != 0) {
		return false;
	}

	// read first row
	if (readData() != 0) {
		return false;
	}

	return true;
}
void ConsumerCheckout::on_renewButton_clicked()
{
    renew();
    ischeck = 0;
    ui->changeBrowser->clear();
    receiptinit();
}
Esempio n. 9
0
int
cmd_renew(int argc, char **argv)
{
    long long ts = renew_timeout();
    off_t offset = 0;
    int opt, fd, r;

    optind = 0;
    while ((opt = getopt(argc, argv, "+hdr:o:t:")) != -1) {
        switch (opt) {
        case 'h':
            usage();
            break;
        case 'd':
            debug++;
            break;
        case 'r':
            request = optarg;
            break;
        case 'o':
            offset = strtoul(optarg, 0, 0);
            break;
        case 't':
            ts = strtoll(optarg, 0, 0);
            break;
        }
    }
    if (argc - optind < 4)
        usage();

    path = argv[optind++];
    validate_path(path);
    id = argv[optind++];
    validate_id(id);
    lease_ms = strtoul(argv[optind++], 0, 0);
    op_max_ms = strtoul(argv[optind++], 0, 0);
    validate_lease_params(lease_ms, op_max_ms);

    DEBUG("path '%s' offset %ld id '%s' lease_ms %ld op_max_ms %ld",
        path, offset, id, lease_ms, op_max_ms);

    if ((fd = open(path, O_RDWR | O_DIRECT)) < 0)
        panic("can't open '%s'", path);

    r = renew(fd, offset, id, &ts);

    close(fd);

    /* print out the last successful renewal timestamp, or zero for don't renew */
    printf("%lld\n", ts);

    if (r == 1) {
        DEBUG("Succeeded");
        return 0;
    }

    DEBUG("%s (%s)", "Failed", strerror(r));
    return 1;
}
Esempio n. 10
0
bool EnvMap::loadFromFile(std::string filename) {
    if (m_tex != 0) renew();

    std::cerr << filename << " extension : " << getFilenameExt(filename) << '\n';

    if (getFilenameExt(filename) == "float") {
        squareFloatImgBlob imageBlob;

        imageBlob.loadFromFloatFormat(filename);

        vec3* vData = (vec3*) imageBlob.data;
        size_t size = imageBlob.width*imageBlob.width;
        int w = imageBlob.width;

        for (int i = 0; i < imageBlob.width / 2; ++i) {
            for (int j = 0; j < imageBlob.width; ++j) {
                std::swap(vData[i*w + j], vData[(w - i - 1)*w + j]);
            }
        }

        return loadAsSphericalFloat(imageBlob.width, imageBlob.data);
    }

    Image image;

    if (!image.loadFromFile(filename))
    {
        return false;
    }

    int width = image.getWidth();
    int height = image.getHeight();

    int envType = determineTypeFromDimension(width, height);

    switch (envType) {
    case SPHERICAL:
        std::cerr << "Loading " << TypesStr[SPHERICAL] << " " << filename << " (" << image.getBytesPerPixel() << " bpp)" << '\n';
        loadAsSpherical(image);
        break;
    case CROSS_VERTICAL:
        std::cerr << "Loading " << TypesStr[CROSS_VERTICAL] << " " << filename << " (" << image.getBytesPerPixel() << " bpp)" << '\n';
        break;
    case CROSS_HORIZONTAL:
        std::cerr << "Loading " << TypesStr[CROSS_HORIZONTAL] << " " << filename << " (" << image.getBytesPerPixel() << " bpp)" << '\n';
        break;
    case LATLONG:
        std::cerr << "Loading " << TypesStr[LATLONG] << " " << filename << " (" << image.getBytesPerPixel() << " bpp)" << '\n';
        break;
    case LINE:
        std::cerr << "Loading " << TypesStr[LINE] << " " << filename << " (" << image.getBytesPerPixel() << " bpp)" << '\n';
        break;
    case UNKNOWN:
        std::cerr << "Error. Unknown environnement map type for " << filename << '\n';
        break;
    }

    return true;
}
Esempio n. 11
0
ClickableWidget::ClickableWidget(const QString& fileName, SPECIESTYPE type) : MItem(fileName, type)
	  ,m_senemgr(NULL)
					  , m_ownScene(NULL)
{
	m_senemgr = SceneManager::getSceneManger();
	renew();
    return;
}
Esempio n. 12
0
void CNetwork::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
//	MessageBox("1");
	//可能情况:1 选中节点 2 选中道路 3 新建节点 4 

//	char isnewsection=0;
	int sectionindex=0;
	CPoint   pointt;
	GetCursorPos(&pointt);
	ScreenToClient(&pointt);
	if (network.wholesectionnum==0)
	{
		//add new
		network.wholesectionnum++;
		network.section[0].pt.x=pointt.x;
		network.section[0].pt.y=pointt.y;
		lastsection.pt=network.section[0].pt;
		lastsection.id=0;
		Lbuttondownflag=1;
	}else{
		int i=0;
		for (i=0;i<network.wholesectionnum;i++)//判断是否选点
		{
			if (pointt.x<=(network.section[i].pt.x+10) && pointt.x>=(network.section[i].pt.x-10) && pointt.y>=(network.section[i].pt.y-10) && pointt.y<=(network.section[i].pt.y+10))
			{
				//选点
				network.section[i].ishighlight=1;
				lastsection.pt=network.section[i].pt;
				lastsection.id=i;
				break;

			}

		}
		if (i==network.wholesectionnum)
		{
			//add new
			
			network.section[i].pt.x=pointt.x;
			network.section[i].pt.y=pointt.y;
			network.wholesectionnum++;
			network.section[i].link[network.section[i].linknum].connectid=lastsection.id;//把上一个节点信息加到这一个连接的节点信息中
			network.section[i].linknum++;
			lastsection.pt=network.section[i].pt;
			lastsection.id=i;
			Lbuttondownflag=1;
		}

	}
	renew();


	
	CDialog::OnLButtonUp(nFlags, point);
}
Esempio n. 13
0
/**********************main()***********************/
void main()
{
	fp_err=fopen("纯捷联err.txt","w");
	//fp_V=fopen("V.txt","w");
	//fp_tV=fopen("tV.txt","w");
	
    //初始化导航参数
	initial(); //初始化理论值和实际值
	ctCn2b();  //姿态角计算姿态矩阵(理论)
	ini_Cn2b();//姿态角计算姿态矩阵(实际)
	ini_q();   //四元数初始化(实际值)

	/*Mk0=gyro_ran;
	Nk0=acce_ran;*/

	for(number=0;number<Num;number++)
	{				
	    noise=white();
		
        /*Mk=-number*sampletime/1800*Mk0;
		Nk=-number*sampletime/1800*Nk0;
		printf("%le\t %le\t\n",Mk,Nk);*/   

	    D_gyro[0]=(gyro_ran*noise+gyro_con0)*dh_hs;//+Mk         
       	D_gyro[1]=(gyro_ran*noise+gyro_con1)*dh_hs;//+Mk
	    D_gyro[2]=(gyro_ran*noise+gyro_con2)*dh_hs;//+Mk
		
        D_acce[0]=(acce_ran*noise+acce_con0)*g/1000.0;//+Nk
		D_acce[1]=(acce_ran*noise+acce_con1)*g/1000.0;//+Nk+Nk
		D_acce[2]=(acce_ran*noise+acce_con2)*g/1000.0;//         

		t_renew();//导航参数理论值更新函数
		ctCn2b(); //由理论值姿态角解算姿态矩阵的函数

		out_Wib_b();//导入陀螺数据
		cWnb_b();//真实值计算
		q_renew();//真实值计算
		cCn2b();//真实值,从四元数中计算出来


		out_f(); //导入加速度计数据
		renew();//理论值
	
		if((number%Tfnum==0)&&(number!=0)) // 1s 
		{ 		
	        fprintf(fp_err,"%e\t %e\t %e\t %e\t %e\t %e\t %e\t\n",(P-tP)*H_d*60,(R-tR)*H_d*60,(H-tH)*H_d*60,
			                         V[0]-tV[0],V[1]-tV[1],(latit-tlatit)*Rn,(longi-tlongi)*Re*cos(tlatit));
				                  
		}
	}

    fclose(fp_err);
	// fclose(fp_V);
	// fclose(fp_tV);
}
Esempio n. 14
0
void CNetwork::OnRButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (Lbuttondownflag==1)//之前左键按了,现在释放
	{
		Lbuttondownflag=0;
		renew();
	}else if (Lbuttondownflag==0)
	{
		for (int i =0;i<network.wholesectionnum;i++)
		{
			network.section[i].ishighlight=0;
		}
		renew();
	}



	CDialog::OnRButtonUp(nFlags, point);
}
Esempio n. 15
0
        void run()
        {
            while(true) {
                try {
                    renew();
                }catch(...) {
                    MCE_WARN("ConfigHolder::run get Exception!");
                }

                sleep(10);
            }
        }
Esempio n. 16
0
wchar_t* strip_carrots(wchar_t *src)// EAT!!!!!!!!!!!!!
{
		wchar_t *ptr;
		wchar_t* dest=wcsldup(src,wcslen(src));
		while ((ptr = wcsstr(dest, L"<")) != NULL)
		{
			int addr=ptr-dest;
			dest=renew(dest,wcslen(dest)+2,7);
			ptr=dest+addr;
			memmove(ptr + 4, ptr + 1, wcslen(ptr + 1)*2 + 8);
			memcpy(ptr,L"&lt;",8);
		}
		while ((ptr = wcsstr(dest, L">")) != NULL)
		{
			int addr=ptr-dest;
			dest=renew(dest,wcslen(dest)+2,7);
			ptr=dest+addr;
			memmove(ptr + 4, ptr + 1, wcslen(ptr + 1)*2 + 8);
			memcpy(ptr,L"&gt;",8);
		}
		dest[wcslen(dest)]='\0';
		return dest;
}
Esempio n. 17
0
int
udhcpc_wan(int argc, char **argv)
{
	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else
		return EINVAL;
}
Esempio n. 18
0
int
udhcpc_ex_main(int argc, char **argv)
{
	if (argv[1]) strcpy(udhcpstate, argv[1]);

	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else return deconfig();
}
Esempio n. 19
0
 int NsRuntimeGlobalInformation::keepalive(int64_t& lease_id, const uint64_t server,
      const int8_t role, const int8_t status, const int8_t type, const time_t now)
 {
   static uint64_t lease_id_factory = 1;
   int32_t ret = owner_role_ == NS_ROLE_MASTER ? common::TFS_SUCCESS : common::EXIT_ROLE_ERROR;
   if (common::TFS_SUCCESS == ret)
   {
     peer_status_  = static_cast<NsStatus>(status);
     peer_role_ = static_cast<NsRole>(role);
     if (NS_KEEPALIVE_TYPE_LOGIN == type)
     {
       peer_ip_port_ = server;
       lease_id = lease_id_ = common::atomic_inc(&lease_id_factory);
       renew(now, common::SYSPARAM_NAMESERVER.heart_interval_);
     }
     else if (NS_KEEPALIVE_TYPE_RENEW == type)
     {
       ret = common::INVALID_LEASE_ID == lease_id_ ? common::EXIT_LEASE_EXPIRED : common::TFS_SUCCESS;
       if (common::TFS_SUCCESS == ret)
       {
         ret = lease_id_ == lease_id ? common::TFS_SUCCESS : common::EXIT_RENEW_LEASE_ERROR;
         if (common::TFS_SUCCESS == ret)
         {
           renew(now, common::SYSPARAM_NAMESERVER.heart_interval_);
         }
       }
     }
     else if (NS_KEEPALIVE_TYPE_LOGOUT == type)
     {
       logout();
     }
   }
   TBSYS_LOG(DEBUG, "peer_role: %d, peer_status: %d,status: %d, lease_id: %ld, %ld, type: %d, time: %ld,now: %ld",
     peer_role_, peer_status_, status, lease_id, lease_id_, type, lease_expired_time_, now);
   return ret;
 }
Esempio n. 20
0
BOOL CNetwork::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) 
{
	// TODO: Add your message handler code here and/or call default
	if (zDelta>0)//上,分辨率高
	{
		lidu++;
	}
	if(zDelta<0)//down,分辨率低
	{
		lidu--;

	}
	renew();

	return CDialog::OnMouseWheel(nFlags, zDelta, pt);
}
Esempio n. 21
0
/*
 * Attempt to acquire the lease.
 * Return 1 if succedded, 0 if not , and < 0 on errors.
 */
int
acquire(int fd, off_t offset, char *id, int busyloop, long long *ts)
{
    char curr[taglen+1] = "", last[taglen+1] = "", tag[taglen+1] = "";
    long backoff_usec = (lease_ms + 6 * op_max_ms) * 1000;
    long contend_usec = (2 * op_max_ms) * 1000;
    char dummyid[idlen+1];

    if (readtag(fd, offset, curr, 1) < 0)
        return -errno;

    settag(last, freetag);

    do {
        DEBUG("restart: curr tag is '%s'", curr);
        if (!sametag(curr, last) && !isfree(curr)) do {
            DEBUG("backoff: curr tag is '%s'", curr);
            settag(last, curr);
            usleep(backoff_usec);
            if (readtag(fd, offset, curr, 1) < 0)
                return -errno;
        } while (busyloop && !sametag(curr, last) && !isfree(curr));
        if (!sametag(curr, last) && !isfree(curr)) {
            DEBUG("fail:    curr tag is '%s'", curr);
            return 0;
        }
        DEBUG("contend: curr tag is '%s'", curr);
        if (writetimestamp(fd, offset, id, tag, ts) < 0) {
            DEBUG("lost (writetimestamp failed)  : curr tag is %s", curr);
            return -errno;
        }
        usleep(contend_usec);
        if (readtag(fd, offset, curr, 1) < 0) {
            DEBUG("lost (readtag failed)  : curr tag is %s", curr);
            return -errno;
        }
    } while (busyloop && !sametag(curr, tag));

    if (busyloop || sametag(curr, tag)) {
        DEBUG("won    : curr tag is %s", curr);
        querytag(curr, dummyid, ts);
        return renew(fd, offset, id, ts);
    }
    DEBUG("lost   : curr tag is %s\n         our tag is  %s", curr, tag);
    return 0;
}
void ConsumerCheckout::on_checkoutButton_clicked()
{
    QDateTime date = QDateTime::currentDateTime();
    double revenue = checkout->check(date);
    //double revenue = 10;
    double collect = ui->collectlineEdit->text().toDouble();
    double change = collect - revenue;
    ui->changeBrowser->setText(QString::number(change,'g',6));
    //Checkout onecheck = *checkout;
    //e.push_back(onecheck);
    salelist.push_back(*checkout);

    QFile file("salerecord.txt");

    if (!file.open(QFile::WriteOnly | QFile::Text | QIODevice::Append)) {
        QMessageBox::warning(this, tr("Application"),tr("Cannot write file salerecord"));
    }

    QTextStream out(&file);

    std::vector<Item>::iterator p;
    std::vector<Item>::iterator q;
    for(p=checkout->getSale().begin();p<checkout->getSale().end();p++){
        out<< date.toString("yyyy-MM-dd")<< " "<<p->name<<" "<<p->type<<" "<< QString::number((p->price - p->cost)*p->amount,'g',6)<<"\n";
        q = finditem(p->barcode,itemlist);
        q->amount = q->amount - p->amount;
    }

    int row = ui->tableWidget->rowCount();
    ui->tableWidget->insertRow(row);
    ui->tableWidget->setItem(row,3,new QTableWidgetItem("total:"));
    ui->tableWidget->setItem(row,4,new QTableWidgetItem(QString::number(checkout->getRevenue(),'g',6)));
    row = ui->tableWidget->rowCount();
    ui->tableWidget->insertRow(row);
    ui->tableWidget->setItem(row,3,new QTableWidgetItem("date:"));
    QString d = checkout->getDate().toString("yyyy-MM-dd");
    ui->tableWidget->setItem(row,4,new QTableWidgetItem(d));
    for(int j=0;j<5;j++){
        ui->tableWidget->resizeColumnToContents (j);
    }

    renew();
    ischeck = 1;

}
Esempio n. 23
0
int udhcpc_main(int argc, char **argv)
{
	if (check_action() != ACT_IDLE)
		return -1;

	if (!argv[1])
		return EINVAL;
	else if (strstr(argv[1], "deconfig"))
		return deconfig();
	else if (strstr(argv[1], "bound"))
		return bound();
	else if (strstr(argv[1], "renew"))
		return renew();
	else if (strstr(argv[1], "update"))
		return update_value();
	else
		return EINVAL;
}
Esempio n. 24
0
char* strip_linebreaks(char *src)
{
		char* dest=strldup(src,lstrlen(src));
		char *ptr;
		while ((ptr = strstr(dest, "\r")) != NULL)
		{
			memmove(ptr, ptr + 1, lstrlen(ptr + 1)+1);
		}
		while ((ptr = strstr(dest, "\n")) != NULL)
		{
			int addr=ptr-dest;
			dest=renew(dest,lstrlen(dest)+1,7);
			ptr=dest+addr;
			memmove(ptr + 4, ptr + 1, lstrlen(ptr + 1) + 4);
			memcpy(ptr,"<br>",4);
		}
		dest[lstrlen(dest)]='\0';
		return dest;
}
Esempio n. 25
0
int dhcpc_event_main(int argc, char **argv)
{
	char *ifname;

	if (!wait_action_idle(10)) return 1;

#if 0
	if (nvram_match("debug_dhcpcenv", "1")) {
		system("( date; env ) >> /tmp/dhcpc_event.env");
	}
#endif

	if ((argc == 2) && (ifname = getenv("interface")) != NULL) {
		if (strcmp(argv[1], "deconfig") == 0) return deconfig(ifname);
		if (strcmp(argv[1], "bound") == 0) return bound(ifname);
		if ((strcmp(argv[1], "renew") == 0) || (strcmp(argv[1], "update") == 0)) return renew(ifname);
	}
	
	_dprintf("%s: unknown event %s\n", __FUNCTION__, argv[1]);
	return 1;
}
Esempio n. 26
0
 int MetaServerManager::keepalive(const int8_t type, common::MetaServer& server)
 {
   int32_t iret = TFS_ERROR;
   switch (type)
   {
   case RTS_MS_KEEPALIVE_TYPE_LOGIN:
     iret = register_(server);
     break;
   case RTS_MS_KEEPALIVE_TYPE_RENEW:
     iret = renew(server);
     break;
   case RTS_MS_KEEPALIVE_TYPE_LOGOUT:
     iret = unregister(server.base_info_.id_);
     break;
   default:
     TBSYS_LOG(ERROR, "%s keepalive, type: %d not found",
         tbsys::CNetUtil::addrToString(server.base_info_.id_).c_str(), type);
     break;
   }
   return iret;
 }
Esempio n. 27
0
void modify(tree,int x,int y)
{
     if(l == r ) {T[t].s = y;renew(t,l);return;}M;if(c[t]) down(t);
     x <= mid?modify(left,x,y):modify(right,x,y);update(T[t],T[t*2],T[t*2+1]);
}
Esempio n. 28
0
void build(tree)
{
     if(l == r ) {T[t].s = gi;renew(t,l);return;}M;
     build(left);build(right);update(T[t],T[t*2],T[t*2+1]);
}
Esempio n. 29
0
MainWindow::MainWindow()
{
        tc = QTextCodec::codecForLocale();

	createParamWidget();
	
	
	QTextCodec* tc = QTextCodec::codecForLocale();
	CHECK = false;

	createToolBox();
	
	createActions();
	createMenus();





	QFrame* f = new QFrame;
    f->setFrameStyle( QFrame::Sunken | QFrame::Panel );
    f->setLineWidth( 2 );

	QFrame* f2 = new QFrame;
    f2->setFrameStyle( QFrame::Sunken | QFrame::Panel );
    f2->setLineWidth( 2 );

    c = new GLBox( f, "glbox");

	QHBoxLayout* flayout = new QHBoxLayout(f);
    flayout->setMargin(0);
    flayout->addWidget( c, 0 );

	createSliderWidget();
	createSliderArrowWidget();



	f->resize(1000, 1000);

	f->setMinimumSize(QSize(400, 100));


    scene = new DiagramScene(itemMenu);
	scene->setSceneRect(QRectF(0, 0, 2000, 2000));

    connect(scene, SIGNAL(textInserted(BodyItem *)),
        this, SLOT(textInserted(BodyItem *)));
	
	connect(scene, SIGNAL(actInserted(JointItem *)),
        this, SLOT(actInserted(JointItem *)));

	connect(scene, SIGNAL(senInserted(SensorItem *)),
        this, SLOT(senInserted(SensorItem *)));

	connect(scene, SIGNAL(camInserted(CameraItem *)),
        this, SLOT(camInserted(CameraItem *)));

	connect(scene, SIGNAL(renew()),
        this, SLOT(renew()));
	
	connect(scene, SIGNAL(setRotNum()),
        this, SLOT(setRotNum()));

	connect(scene, SIGNAL(setGeoNum()),
        this, SLOT(setGeoNum()));

	connect(scene, SIGNAL(setSSNum()),
        this, SLOT(setSSNum()));




	createToolbars();

	QHBoxLayout *hlayout = new QHBoxLayout(f2);

    QHBoxLayout *layout = new QHBoxLayout;

	tabWidget = new QTabWidget;
	
	tabWidget->addTab(SliderWidget, tc->toUnicode("パーツ選択ボタン"));
	tabWidget->addTab(SliderArrowWidget, tc->toUnicode("スケール調整(センサ・ジョイントのサイズ)"));
	//QHBoxLayout *layout = new QHBoxLayout;
	//ParamWidget = new QWidget;
	
	//tabWidget->addTab(ParamWidget, tc->toUnicode("パラメータ"));


	layout->addWidget(tabWidget);

    view = new QGraphicsView(scene);
    hlayout->addWidget(view);
	view->setMinimumSize(400, 100);

	layout->addWidget( f2 );

	layout->addWidget( f);
	
	QFrame* f3 = new QFrame;
    f->setFrameStyle( QFrame::Sunken | QFrame::Panel );
    f->setLineWidth( 2 );

	QHBoxLayout *WLayout = new QHBoxLayout(f3);


	RotSlider = new QSlider(Qt::Vertical, this);
    RotSlider->setMaximum(360);
	RotSlider->setValue(180);
    RotSlider->setPageStep(60);
    RotSlider->setTickPosition( QSlider::TicksRight );
	connect( RotSlider, SIGNAL(valueChanged(int)),c,SLOT(setRotation(int)) );



	WLayout->addWidget(RotSlider);
	layout->addWidget( f3);



	

    QWidget *widget = new QWidget;
    widget->setLayout(layout);


    setCentralWidget(widget);
    setWindowTitle(tc->toUnicode("Robot Model Creator"));
    setUnifiedTitleAndToolBarOnMac(true);


	if (RMC::obj)
	{
		if (RMC::obj->getFileName() != "")
		{
			//std::cout << RMC::obj->getFileName() << std::endl;
			loadFile(RMC::obj->getFileName().c_str());
		}
	}
}
Esempio n. 30
0
static void draw(void) {
	int i,j,k;
	float size = CUBE_SIZE;
	float normals[6][3] = {
		{ 0.0,  0.0, -1.0},
		{ 1.0,  0.0,  0.0},
		{ 0.0,  0.0,  1.0},
		{-1.0,  0.0,  0.0},
		{ 0.0,  1.0,  0.0},
		{ 0.0, -1.0,  0.0}
	};
		
	float cube_points[8][3] ={
		{ -size, -size, -size },
		{  size, -size, -size },
		{  size, -size,  size },
		{ -size, -size,  size },
		{ -size,  size, -size },
		{  size,  size, -size },
		{  size,  size,  size },
		{ -size,  size,  size }
	};

	/* 3Dオブジェクトを描画するための準備 */
	argDrawMode3D();
	argDraw3dCamera(0, 0);


	glClear(GL_DEPTH_BUFFER_BIT); //バッファの消去
	glEnable( GL_DEPTH_TEST );		// 陰面処理の適用

	mySetLight();
	glEnable( GL_LIGHTING );

	myMatrix(object[PTT1_MARK_ID].patt_trans);
	
	renew(); // フレーム毎の更新内容

	// 立方体
	glPushMatrix();
		glTranslated( c_trans[0], c_trans[1], c_trans[2]);//平行移動値の設定
		glRotatef(c_angle[0], 1.0, 0.0, 0.0 );
		glRotatef(c_angle[1], 0.0, 1.0, 0.0 );
		glRotatef(c_angle[2], 0.0, 0.0, 1.0 );
		
		/* 前 */
		glEnable( GL_TEXTURE_2D );
		glBegin( GL_QUADS );
			mySetMaterial( 1.0, 1.0, 1.0 );
			glBindTexture(GL_TEXTURE_2D, texture);
			glNormal3fv(normals[0]);
			glTexCoord2f(0.0, 1.0); glVertex3fv(cube_points[0]);
			glTexCoord2f(1.0, 1.0); glVertex3fv(cube_points[1]);
			glTexCoord2f(1.0, 0.0); glVertex3fv(cube_points[5]);
			glTexCoord2f(0.0, 0.0); glVertex3fv(cube_points[4]);
		glEnd();
		glDisable( GL_TEXTURE_2D );
		
		/* 右 */
		glBegin( GL_QUADS );
			mySetMaterial( 0.0, 1.0, 0.0);
			glNormal3fv(normals[1]);
			glVertex3fv(cube_points[1]);
			glVertex3fv(cube_points[2]);
			glVertex3fv(cube_points[6]);
			glVertex3fv(cube_points[5]);
		glEnd();

		/* 後ろ */
		glBegin( GL_QUADS );
			mySetMaterial( 0.0, 1.0, 1.0);
			glNormal3fv(normals[2]);
			glVertex3fv(cube_points[2]);
			glVertex3fv(cube_points[3]);
			glVertex3fv(cube_points[7]);
			glVertex3fv(cube_points[6]);
		glEnd();

		/* 左 */
		glBegin( GL_QUADS );
			mySetMaterial( 1.0, 0.0, 1.0);
			glNormal3fv(normals[3]);
			glVertex3fv(cube_points[3]);
			glVertex3fv(cube_points[0]);
			glVertex3fv(cube_points[4]);
			glVertex3fv(cube_points[7]);
		glEnd();

		/* 上 */
		glBegin( GL_QUADS );
			mySetMaterial( 0.0, 0.0, 1.0);
			glNormal3fv(normals[4]);
			glVertex3fv(cube_points[4]);
			glVertex3fv(cube_points[5]);
			glVertex3fv(cube_points[6]);
			glVertex3fv(cube_points[7]);
		glEnd();

		/* 下 */
		glBegin( GL_QUADS );
			mySetMaterial( 1.0, 1.0, 0.0);
			glNormal3fv(normals[5]);
			glVertex3fv(cube_points[0]);
			glVertex3fv(cube_points[1]);
			glVertex3fv(cube_points[2]);
			glVertex3fv(cube_points[3]);
		glEnd();

	glPopMatrix();


	glDisable( GL_LIGHTING );
	glDisable( GL_DEPTH_TEST );		// 陰面処理の適用
}