示例#1
0
 virtual bool configure(ResourceFinder &rf)
 {
     Time::turboBoost();
     
     thr=new ProcessThread(rf);
     if (thr->start())
         return true;
     else
     {
         delete thr;    
         return false;
     }
 }
//The method checks for the data recieved and creates the world, destroys a block, or shows the winner as neccessary.
void MultiplayerGUI::processInput(QString input)
{
    if (input.indexOf("LEVEL:") != -1){
        input.remove(0,6);
        GenerateMuliWorld(input);
    }
    else if(input.indexOf("DESTROY:") != -1){
        input.remove(0,8);
        ProcessThread * thread = new ProcessThread(gamewindow);
        connect(thread, &QThread::finished, this, &MultiplayerGUI::processFinished);
        thread->setInput(input);
        thread->start();
    }
    else if(input.indexOf("WINNER:") != -1){
        input.remove(0,7);
        QMessageBox::about(gamewindow, "Winner", input);
        gamewindow->close();
    }
}
示例#3
0
void ServerKernel::requestStartProcess(KernelRequest *request){

    //Prozess, den es zu starten gilt
    QString processName = request->propertyValue(KernelRequest::ProcessToStart).toString();
    ProcessThread *thread = 0;

    //Searchstorage-Thread starten
    if(processName == "SearchStorage")
        thread = new SearchStorageThread(new QBuffer());

    //Netzwerkmanager-Thread starten
    if(processName == "NetworkMgr")
        thread = new NetworkManagerThread(new QBuffer());

    //NetworkServiceProvider-Thread starten
    if(processName == "NetServProvider")
        thread = new NetworkServiceProvider(new QBuffer());

    //Prozess starten
    if(thread != 0)
        thread->start();
}
void ProcessThread::installProcessHandler()
{
    assert(sProcessThread == 0);
    sProcessThread = new ProcessThread;
    sProcessThread->start();
}
示例#5
0
int main()
{
	bool fileRead = true;

	int frameWidth = 1024;
	int frameHeight =300;
	int framesPerBuffer = 30; //This value needs to be divisble by 3, and a factor of the total number of frames
	int samplingMethod  = 0; //0 for Interpolation, 1 for Fast Cubic, 2 for Pref Cubic
	int volumeFrames = 900; //Useless for this code

//OpenGL ONLY Variables to be transferred
	bool processData = true;  //MUST be true
	bool fundusRender = true; //Can be false or true
	bool volumeRender = false; //Volume render currently does not work with speckle variance in this version of the code
	int fileLen;
	int bufferLen;
	int windowWidth = 1080;
	int windowHeight = 720;

	buffer *h_buffer = new buffer[BUFFNUM];
	int buffCtr = 0;
	unsigned short *h_ProcBuffer;

	bool *registeredHost;

	enum volumeDisplay {DownSize, Crop};
	volumeDisplay volumeMode = Crop;

//CUDA ONLY Variables to be transferred
	int fftLenMult = 2;
	float dispMag = 10;
	float dispVal = -6.5f * pow(0.1f,5);
	float dispValThird = 0;

	//Calculation of lookupLambda Coordinates
	float lambda_Max= LAMBDA_MIN	+	(frameWidth-1) * D_LAMBDA	+
					pow((frameWidth-1.0f),2) * SECOND_ORDER_CORRECTION	+
					pow((frameWidth-1.0f),3) * THIRD_ORDER_CORRECTION	+
					pow((frameWidth-1.0f),4) * FOURTH_ORDER_CORRECTION;
// END OF DEFINING CUDA VARIABLES

	//Define the filename of the file to be used for acquisition simulation
	char *fileName = new char[100];
//	fileName = "c:\\OCTViewer\\SDD\\fullvolume"; 
	dispVal = 2.3f * pow(0.1f,5);
//fileName = "F:\\RightEye(042213)\\WT_Scratchback_PV_R_4-ON---1.unp"; dispVal = 2.3f * pow(0.1f,5);
//fileName = "F:\\SS-OCT\\SS-OCT\\For Robert\\ssdata.dat";
	fileName = "f:\\Jing\\SPIE\\mouse data\\800middle-ON---1";	
	//fileName = "G:\\randow\\09192013\\2500-ON---1.unp";
		//  fileName = "g:\\randow\\SVTest3-ON---1.unp";
//fileName = "c:\\OCTViewer\\SDD\\fullvolume"; dispVal = 2.3f * pow(0.1f,5);


	FILE *file = fopen(fileName, "rb");
	if (file==NULL)
	{	printf("Unable to Open file. Exiting Program...\n"); exit(1);}
	fseek(file, 0, SEEK_END);
	fileLen=ftell(file)/(int)sizeof(unsigned short);
	fclose(file);


	if (fileRead) {
		bufferLen = fileLen;
		volumeFrames = fileLen / (frameWidth*frameHeight);
	} 
	else if (volumeRender || fundusRender) {
		bufferLen = frameWidth*frameHeight*volumeFrames;
	} else {
		bufferLen = frameWidth*frameHeight*framesPerBuffer;
	}

	for (int i=0; i<BUFFNUM; i++) {
		h_buffer[i].data = (unsigned short *)malloc(bufferLen * sizeof(unsigned short));
		h_buffer[i].regHost = false;
	}


//Initiate FileRead Thread
	FileReadThread FileRead;
	FileRead.create();
	FileRead.InitFileRead(fileName, h_buffer, &buffCtr, &bufferLen);

//Initiate the Process Thread
	ProcessThread Proc;
	Proc.create();
	Proc.InitProcess(	h_buffer, &buffCtr, processData, volumeRender, fundusRender,
						frameWidth, frameHeight, framesPerBuffer,volumeFrames, bufferLen, 
						windowWidth, windowHeight, samplingMethod, (int)volumeMode, fftLenMult,
						LAMBDA_MIN, lambda_Max, dispMag, dispVal, dispValThird);
//END OF INITIALIZATION
//Begin Process Thread
	FileRead.start();
	Proc.start();
	FileRead.join();
	Proc.join();

	return 0;
}
示例#6
0
int main()
{
	bool fileRead = false;

	int frameWidth = 1024;
	int frameHeight = 300;
	int framesPerBuffer = 20;
	int volumeSize = 100;


//OpenGL ONLY Variables to be transferred
	//Process Data MUST be true
	//Display pre-processed data currently does NOT work!!
	bool processData = true;  //MUST be true
	bool fundusRender = true; //Can be false or true
	bool volumeRender = true; //Can be false or true
	int fileLen;
	int bufferLen;
	int windowWidth = 1024;
	int windowHeight = 1024;
	buffer *h_buffer = new buffer[BUFFNUM];
	int buffCtr = 0;
	unsigned short *h_ProcBuffer;
	bool *registeredHost;
	enum volumeDisplay {DownSize, Crop};
	volumeDisplay volumeMode = Crop;

//CUDA ONLY Variables to be transferred
	int fftLenMult = 2;
// END OF DEFINING CUDA VARIABLES

	//Define the filename to be used for file acquisition simulation
	char *fileName = new char[100];
	fileName = "../../../.data/Mouse-Dataset.unp";

	FILE *file = fopen(fileName, "rb");
	if (file==NULL)
	{	printf("Unable to Open file. Exiting Program...\n"); exit(1);}
	fseek(file, 0, SEEK_END);
	fileLen=ftell(file)/(int)sizeof(unsigned short);
	fclose(file);
	
	if (volumeRender || fundusRender) {
		if (fileRead) {
			bufferLen = fileLen;
		} else {
			bufferLen = frameWidth*frameHeight*volumeSize;
		}
	} else {
		bufferLen = frameWidth*frameHeight*framesPerBuffer;
	}

	for (int i=0; i<BUFFNUM; i++) {
		h_buffer[i].data = (unsigned short *)malloc(bufferLen * sizeof(unsigned short));
		h_buffer[i].regHost = false;
	}


//Initiate FileRead Thread
	FileReadThread FileRead;
	FileRead.create();
	FileRead.InitFileRead(fileName, h_buffer, &buffCtr, &bufferLen);

//Initiate the Process Thread
	ProcessThread Proc;
	Proc.create();
	Proc.InitProcess(	h_buffer, &buffCtr, processData, volumeRender, fundusRender, 
						frameWidth, frameHeight, framesPerBuffer, bufferLen, 
						windowWidth, windowHeight, (int)volumeMode, fftLenMult);
//END OF INITIALIZATION
//Begin Process Thread
	FileRead.start();
	Proc.start();
	FileRead.join();
	Proc.join();

	return 0;
}