virtual void run()
   {
      // let all threads start at the same time
      startBarrier->block();
      ossim_uint32 idx = 0;
      for(idx = 0; idx < m_numberOfPointsToQuery; ++idx)
      {
         ossim_float32 t = static_cast<double>(rand())/static_cast<double>(RAND_MAX);
         ossim_float32 centerx = 10000.0*t; 
         ossim_float32 centery = 10000.0*t;

         ossimPolyArea2d polyArea1(ossimDrect(centerx-1000,centery-1000,centerx+2000,centery+2000));
         ossimPolyArea2d polyArea2(ossimDrect(centerx-500,centery-500,centerx+2000,centery+2000));

         ossimPolyArea2d temp1 = polyArea1&polyArea2;
         ossimPolyArea2d temp2 = polyArea1+polyArea2;

         ossimPolyArea2d temp3(polyArea1);
         ossimPolyArea2d temp4(polyArea2);

         temp3+=temp1;
         temp4&=temp3;

 //        ossimGpt gpt(m_minLat + yt*m_latDelta, m_minLon + xt*m_lonDelta);
      }
      // let all threads end at the same time
      endBarrier->block();
   }
PS2Sprite3D::PS2Sprite3D():
	conversionMatrix(Matrix4x4::IDENTITY)
{
	Vector4 temp1(-1,-1,0,1);
	Vector4 temp2(1,-1,0,1);
	Vector4 temp3(1,1,0,1);
	Vector4 temp4(-1,1,0,1);
	Initialise(temp1, temp2, temp3, temp4);
}
示例#3
0
//                  색1       색2            색1            색2           색1              색2
void Take_Copter(Mat Cam, Mat Cam2,  Copter& cop)
{
    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
    Mat YUV_PIC3;
    
    Mat Pic2_col1(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
    Mat Pic2_col2(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
   	Mat temp3(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
   	Mat temp4(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
   	Mat temp5(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
   	Mat temp6(cop.Picture3.rows,cop.Picture3.cols,CV_8UC1);
	
    cvtColor(cop.Picture3,YUV_PIC3,CV_RGB2YCrCb);
	
	vector<Mat> yuv;
		Mat Corr_1_1;//색1
    Mat Corr_1_2;//색1
    Mat Corr_2_1;//색2
    Mat Corr_2_2;//색2
    int corr_size_X =0;
    int corr_size_Y =0;


    Mat Result;
    double min,max;
    Point Copter_point;
   
    for(int i=0; i<V_BUFFER_SIZE; i++)
    {
        cop.prev_cx[i] = -5000;
        cop.prev_cy[i] = -5000;
    }

	if(cop.find_mode == true){
		cop.find_mode = false;
		matchTemplate(Cam,cop.Pic_Binary1,Corr_1_1,CV_TM_CCOEFF_NORMED);
    	matchTemplate(Cam2,cop.Pic_Binary2,Corr_1_2,CV_TM_CCOEFF_NORMED);
		if(Corr_1_1.rows<Corr_1_2.rows)
    	{ 
       		corr_size_Y = Corr_1_1.rows; 
    	}
    	else
    	{
        	corr_size_Y = Corr_1_2.rows;
    	}
    	if(Corr_1_1.cols<Corr_1_2.cols)
    	{
        	corr_size_X = Corr_1_1.cols;
    	}
    	else
    	{
        	corr_size_X = Corr_1_2.cols;
    	}
    	resize(Corr_1_1,Corr_1_1,Size(corr_size_X,corr_size_Y),0,0,INTER_CUBIC);
    	resize(Corr_1_2,Corr_1_2,Size(corr_size_X,corr_size_Y),0,0,INTER_CUBIC);
		Result = (0.6*Corr_1_1)+(0.6*Corr_1_2);
	}
	else
	{
		cop.find_mode = true;
		split(YUV_PIC3,yuv);
		threshold(yuv[0],yuv[0],cop.Y_MAX,255,THRESH_TOZERO_INV);
		threshold(yuv[0],Pic2_col1,cop.Y_MIN,255,THRESH_BINARY);
		threshold(yuv[1],yuv[1],cop.Cb_MAX,255,THRESH_TOZERO_INV);
		threshold(yuv[1],temp3,cop.Cb_MIN,255,THRESH_BINARY);
		threshold(yuv[2],yuv[2],cop.Cr_MAX,255,THRESH_TOZERO_INV);
		threshold(yuv[2],temp4,cop.Cr_MIN,255,THRESH_BINARY);
	
		bitwise_and(Pic2_col1,temp3,temp3);
		bitwise_and(temp3,temp4,Pic2_col1);

		split(YUV_PIC3,yuv);
	
		threshold(yuv[0],yuv[0],cop.Y_MAX2,255,THRESH_TOZERO_INV);
		threshold(yuv[0],Pic2_col2,cop.Y_MIN2,255,THRESH_BINARY);
		threshold(yuv[1],yuv[1],cop.Cb_MAX2,255,THRESH_TOZERO_INV);
		threshold(yuv[1],temp5,cop.Cb_MIN2,255,THRESH_BINARY);
		threshold(yuv[2],yuv[2],cop.Cr_MAX2,255,THRESH_TOZERO_INV);
		threshold(yuv[2],temp6,cop.Cr_MIN2,255,THRESH_BINARY);
    
		bitwise_and(Pic2_col2,temp5,temp5);
		bitwise_and(temp5,temp6,Pic2_col2);
	

		
		matchTemplate(Cam,Pic2_col1,Corr_2_1,CV_TM_CCOEFF_NORMED);
    	matchTemplate(Cam2,Pic2_col2,Corr_2_2,CV_TM_CCOEFF_NORMED);
		if(Corr_2_1.rows<Corr_2_2.rows)
    	{ 
       		corr_size_Y = Corr_2_1.rows; 
    	}
    	else
    	{
        	corr_size_Y = Corr_2_2.rows;
    	}
    	if(Corr_2_1.cols<Corr_2_2.cols)
    	{
        	corr_size_X = Corr_2_1.cols;
    	}
    	else
    	{
        	corr_size_X = Corr_2_2.cols;
    	}
    	resize(Corr_2_1,Corr_2_1,Size(corr_size_X,corr_size_Y),0,0,INTER_CUBIC);
   		resize(Corr_2_2,Corr_2_2,Size(corr_size_X,corr_size_Y),0,0,INTER_CUBIC);
		Result = (0.6*Corr_2_1)+(0.6*Corr_2_2);
	}
//	imshow("3",Pic2_col2);
//	imshow("2",Pic2_col1);
//	imshow("1",Result);
    minMaxLoc(Result,&min,&max,NULL,&Copter_point);

    cop.width = 3*(cop.Pic_Binary2.cols);
    cop.height =3*(cop.Pic_Binary2.rows);
    cop.x = Copter_point.x-(cop.width/3);
    cop.y = Copter_point.y-(cop.height/3);
    Reposition_minus(cop);
   	pthread_mutex_lock(&mutex);// =========* 
    resize(cop.Copter_Layer,cop.Copter_Layer,Size(cop.width,cop.height),0,0,INTER_NEAREST);
    if(cop.number == 1)
		cop.Copter_Layer = Cam_Image(Rect(cop.x , cop.y , cop.width , cop.height ) );
	else if(cop.number == 2)
		cop.Copter_Layer = Cam_Image(Rect(cop.x,cop.y,cop.width,cop.height));
	   pthread_mutex_unlock(&mutex);// ==========*

}
示例#4
0
void Board::InitialiseLines()
//  Oh dear.
{

	float zbase = 400;
	{
		Vector4 temp1(-390, 800, 1060 + zbase, 1);
		Vector4 temp2(-60, 800, 1060 + zbase, 1);
		Vector4 temp3(-60, 800, 1040 + zbase, 1);
		Vector4 temp4(-390, 800, 1040 + zbase, 1);
		boardlines[0].Initialise(temp1, temp2, temp3, temp4);
	}
	{
		Vector4 temp1(60, 800, 1060 + zbase, 1);
		Vector4 temp2(390, 800, 1060 + zbase, 1);
		Vector4 temp3(390, 800, 1040 + zbase, 1);
		Vector4 temp4(60, 800, 1040 + zbase, 1);
		boardlines[1].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(460, 800, 990 + zbase, 1);
		Vector4 temp2(460, 800, 660 + zbase, 1);
		Vector4 temp3(440, 800, 660 + zbase, 1);
		Vector4 temp4(440, 800, 990 + zbase, 1);
		boardlines[2].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(460, 800, 540 + zbase, 1);
		Vector4 temp2(460, 800, 210 + zbase, 1);
		Vector4 temp3(440, 800, 210 + zbase, 1);
		Vector4 temp4(440, 800, 540 + zbase, 1);
		boardlines[3].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(60, 800, 160 + zbase, 1);
		Vector4 temp2(390, 800, 160 + zbase, 1);
		Vector4 temp3(390, 800, 140 + zbase, 1);
		Vector4 temp4(60, 800, 140 + zbase, 1);
		boardlines[4].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-390, 800, 160 + zbase, 1);
		Vector4 temp2(-60, 800, 160 + zbase, 1);
		Vector4 temp3(-60, 800, 140 + zbase, 1);
		Vector4 temp4(-390, 800, 140 + zbase, 1);
		boardlines[5].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-460, 800, 540 + zbase, 1);
		Vector4 temp2(-440, 800, 540 + zbase, 1);
		Vector4 temp3(-440, 800, 210 + zbase, 1);
		Vector4 temp4(-460, 800, 210 + zbase, 1);
		boardlines[6].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(-460, 800, 990 + zbase, 1);
		Vector4 temp2(-440, 800, 990 + zbase, 1);
		Vector4 temp3(-440, 800, 660 + zbase, 1);
		Vector4 temp4(-460, 800, 660 + zbase, 1);
		boardlines[7].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(-240, 800, 910 + zbase, 1);
		Vector4 temp2(-60, 800, 910 + zbase, 1);
		Vector4 temp3(-60, 800, 890 + zbase, 1);
		Vector4 temp4(-240, 800, 890 + zbase, 1);
		boardlines[8].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(60, 800, 910 + zbase, 1);
		Vector4 temp2(240, 800, 910 + zbase, 1);
		Vector4 temp3(240, 800, 890 + zbase, 1);
		Vector4 temp4(60, 800, 890 + zbase, 1);
		boardlines[9].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(290, 800, 840 + zbase, 1);
		Vector4 temp2(310, 800, 840 + zbase, 1);
		Vector4 temp3(310, 800, 660 + zbase, 1);
		Vector4 temp4(290, 800, 660 + zbase, 1);
		boardlines[10].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(290, 800, 540 + zbase, 1);
		Vector4 temp2(310, 800, 540 + zbase, 1);
		Vector4 temp3(310, 800, 360 + zbase, 1);
		Vector4 temp4(290, 800, 360 + zbase, 1);
		boardlines[11].Initialise(temp1, temp2, temp3, temp4);	
	}		
	{
		Vector4 temp1(60, 800, 310 + zbase, 1);
		Vector4 temp2(240, 800, 310 + zbase, 1);
		Vector4 temp3(240, 800, 290 + zbase, 1);
		Vector4 temp4(60, 800, 290 + zbase, 1);
		boardlines[12].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-240, 800, 310 + zbase, 1);
		Vector4 temp2(-60, 800, 310 + zbase, 1);
		Vector4 temp3(-60, 800, 290 + zbase, 1);
		Vector4 temp4(-240, 800, 290 + zbase, 1);
		boardlines[13].Initialise(temp1, temp2, temp3, temp4);	
	}		
	{
		Vector4 temp1(-290, 800, 540 + zbase, 1);
		Vector4 temp2(-310, 800, 540 + zbase, 1);
		Vector4 temp3(-310, 800, 360 + zbase, 1);
		Vector4 temp4(-290, 800, 360 + zbase, 1);
		boardlines[14].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-290, 800, 840 + zbase, 1);
		Vector4 temp2(-310, 800, 840 + zbase, 1);
		Vector4 temp3(-310, 800, 660 + zbase, 1);
		Vector4 temp4(-290, 800, 660 + zbase, 1);
		boardlines[15].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-90, 800, 760 + zbase, 1);
		Vector4 temp2(-60, 800, 760 + zbase, 1);
		Vector4 temp3(-60, 800, 740 + zbase, 1);
		Vector4 temp4(-90, 800, 740 + zbase, 1);
		boardlines[16].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(60, 800, 760 + zbase, 1);
		Vector4 temp2(90, 800, 760 + zbase, 1);
		Vector4 temp3(90, 800, 740 + zbase, 1);
		Vector4 temp4(60, 800, 740 + zbase, 1);
		boardlines[17].Initialise(temp1, temp2, temp3, temp4);	
	}		
	{
		Vector4 temp1(140, 800, 690 + zbase, 1);
		Vector4 temp2(150, 800, 690 + zbase, 1);
		Vector4 temp3(150, 800, 660 + zbase, 1);
		Vector4 temp4(140, 800, 660 + zbase, 1);
		boardlines[18].Initialise(temp1, temp2, temp3, temp4);	
	}		
	{
		Vector4 temp1(140, 800, 540 + zbase, 1);
		Vector4 temp2(150, 800, 540 + zbase, 1);
		Vector4 temp3(150, 800, 510 + zbase, 1);
		Vector4 temp4(140, 800, 510 + zbase, 1);
		boardlines[19].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(60, 800, 460 + zbase, 1);
		Vector4 temp2(90, 800, 460 + zbase, 1);
		Vector4 temp3(90, 800, 440 + zbase, 1);
		Vector4 temp4(60, 800, 440 + zbase, 1);
		boardlines[20].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-90, 800, 460 + zbase, 1);
		Vector4 temp2(-60, 800, 460 + zbase, 1);
		Vector4 temp3(-60, 800, 440 + zbase, 1);
		Vector4 temp4(-90, 800, 440 + zbase, 1);
		boardlines[21].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-160, 800, 540 + zbase, 1);
		Vector4 temp2(-140, 800, 540 + zbase, 1);
		Vector4 temp3(-140, 800, 510 + zbase, 1);
		Vector4 temp4(-160, 800, 510 + zbase, 1);
		boardlines[22].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(-160, 800, 690 + zbase, 1);
		Vector4 temp2(-140, 800, 690 + zbase, 1);
		Vector4 temp3(-140, 800, 660 + zbase, 1);
		Vector4 temp4(-160, 800, 660 + zbase, 1);
		boardlines[23].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(-10, 800, 840 + zbase, 1);
		Vector4 temp2(10, 800, 840 + zbase, 1);
		Vector4 temp3(10, 800, 810 + zbase, 1);
		Vector4 temp4(-10, 800, 810 + zbase, 1);
		boardlines[24].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-10, 800, 990 + zbase, 1);
		Vector4 temp2(10, 800, 990 + zbase, 1);
		Vector4 temp3(10, 800, 960 + zbase, 1);
		Vector4 temp4(-10, 800, 960 + zbase, 1);
		boardlines[25].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(210, 800, 610 + zbase, 1);
		Vector4 temp2(240, 800, 610 + zbase, 1);
		Vector4 temp3(240, 800, 590 + zbase, 1);
		Vector4 temp4(210, 800, 590 + zbase, 1);
		boardlines[26].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(360, 800, 610 + zbase, 1);
		Vector4 temp2(390, 800, 610 + zbase, 1);
		Vector4 temp3(390, 800, 590 + zbase, 1);
		Vector4 temp4(360, 800, 590 + zbase, 1);
		boardlines[27].Initialise(temp1, temp2, temp3, temp4);	
	}
	{
		Vector4 temp1(-10, 800, 390 + zbase, 1);
		Vector4 temp2(10, 800, 390 + zbase, 1);
		Vector4 temp3(10, 800, 360 + zbase, 1);
		Vector4 temp4(-10, 800, 360 + zbase, 1);
		boardlines[28].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-10, 800, 240 + zbase, 1);
		Vector4 temp2(10, 800, 240 + zbase, 1);
		Vector4 temp3(10, 800, 210 + zbase, 1);
		Vector4 temp4(-10, 800, 210 + zbase, 1);
		boardlines[29].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-390, 800, 610 + zbase, 1);
		Vector4 temp2(-360, 800, 610 + zbase, 1);
		Vector4 temp3(-360, 800, 590 + zbase, 1);
		Vector4 temp4(-390, 800, 590 + zbase, 1);
		boardlines[30].Initialise(temp1, temp2, temp3, temp4);	
	}	
	{
		Vector4 temp1(-240, 800, 610 + zbase, 1);
		Vector4 temp2(-210, 800, 610 + zbase, 1);
		Vector4 temp3(-210, 800, 590 + zbase, 1);
		Vector4 temp4(-240, 800, 590 + zbase, 1);
		boardlines[31].Initialise(temp1, temp2, temp3, temp4);	
	}	
	
}
示例#5
0
void Board::Initialise()
{
	float zbase = 400;							//  Variable to store how deep in the z axis the object is based.
	
	
	Vector4 temp1(-600, 800, 1200 + zbase, 1);
	Vector4 temp2(600, 800, 1200 + zbase, 1);
	Vector4 temp3(600, 800, 0 + zbase, 1);
	Vector4 temp4(-600,800,0 + zbase,1);
	top.Initialise(temp1, temp2, temp3, temp4);		//  Set individual vertex locations for the top face of the board
	
	Vector4 col1(70,50,4,1);
	Vector4 col2(92,67,5,1);
	Vector4 col3(102,75,6,1);
	Vector4 col4(119,77,0,1);
	Vector4 col5(69, 25, 18, 1);
	top.SetColours(col1, col2, col2, col3);			//  Set individual colour values of each of those vertices
	
	
	
	Vector4 temp5(-600, 800, 0 + zbase, 1);
	Vector4 temp6(600, 800, 0 + zbase, 1);
	Vector4 temp7(600, 1000, 0 + zbase, 1);
	Vector4 temp8(-600,1000, 0 + zbase,1);			//  Individual vertices for the front face
	
	Vector4 temp9(-800, 1000, 1200 + zbase + 300, 1);
	Vector4 temp10(800, 1000, 1200 + zbase + 300, 1);
	Vector4 temp11(800, 1000, 100, 1);
	Vector4 temp12(-800, 1000, 100,1);				//  Individual vertices for the base face
	table.Initialise(temp9, temp10, temp11, temp12);
	table.SetColours(col5, col5, col5, col5);		//  Set to one mat colour, no shading.
	
	Vector4 temp13(-600, 800, 1200 + zbase, 1);
	Vector4 temp14(-600, 800, 0 + zbase, 1);
	Vector4 temp15(-600, 1000, 0 + zbase, 1);
	Vector4 temp16(-600, 1000, 1200 + zbase, 1);	//  Set individual vertices for the left face
	
	Vector4 temp17(600, 800, 0 + zbase, 1);
	Vector4 temp18(600, 800, 1200 + zbase, 1);
	Vector4 temp19(600, 1000, 1200 + zbase, 1);
	Vector4 temp20(600, 1000, 0 + zbase, 1);		//  Set individual vertices for the right face

	sides[0].Initialise(temp5, temp6, temp7, temp8);
	sides[1].Initialise(temp13, temp14, temp15, temp16);
	sides[2].Initialise(temp17, temp18, temp19, temp20);
	sides[3].Initialise(temp2, temp1, temp16, temp19);		//  Use known vertices to initialise the side faces
	
	sides[0].SetColours(col3, col4, col4, col2);
	sides[1].SetColours(col1, col2, col2, col1);
	sides[2].SetColours(col2, col1, col1, col2);
	sides[3].SetColours(col4, col4, col4, col4);			//  Then set the colours
	
	
	float positionLocations[24][2] =   {{-450, 1050 + zbase},		//1					An array holding the centre locations
										{-300,  900 + zbase},		//2					of each of the positions where pieces
										{-150,  750 + zbase},		//3					can be placed.
										{  0 ,  750 + zbase},		//4
										{ 150,  750 + zbase},		//5
										{ 300,  900 + zbase},		//6
										{ 450, 1050 + zbase},		//7
										{  0 ,  900 + zbase},		//8
										{  0 , 1050 + zbase},		//9
										{-450,  600 + zbase},		//10
										{-300,  600 + zbase},		//11
										{-150,  600 + zbase},		//12
										{-450,  150 + zbase},		//13
										{-300,  300 + zbase},		//14
										{-150,  450 + zbase},		//15
										{  0 ,  150 + zbase},		//16
										{  0 ,  300 + zbase},		//17
										{  0 ,  450 + zbase},		//18
										{ 450,  150 + zbase},		//19
										{ 300,  300 + zbase},		//20
										{ 150,  450 + zbase},		//21
										{ 450,  600 + zbase},		//22
										{ 300,  600 + zbase},		//23
										{ 150,  600 + zbase}};		//24
	for (int i = 0; i < 24; i++) {									
		boardpositions[i].Initialise(positionLocations[i][0], positionLocations[i][1]);			//  Create the individual graphical representations
	}																							//  (class Position) and put in array for easy drawing.
	InitialiseLines();				//  Ugly function to draw each and every line on the
									//  board with individual hand-placed vertices.
									
	SetupMills();					//  Set up the mills (groups of three) with pointers to the positions
									//  as alternate referencing option
	
}
示例#6
0
//write relation
TEST(ParserAttList, ParAttList)
{
	
	//CREATE TABLE species (kind VARCHAR(10)) PRIMARY KEY (kind);
	Token temp(Token::KEYWORD);
	temp.content = "CREATE";
	tokens.push_back(temp);

	Token temp1(Token::KEYWORD);
	temp.content = "TABLE";
	tokens.push_back(temp1);

	Token temp2(Token::VARIABLE);
	temp.content = "species";
	tokens.push_back(temp2);

	Token temp3(Token::OPENPAREN);
	temp.content = "(";
	tokens.push_back(temp3);

	Token temp4(Token::VARIABLE);
	temp.content = "kind";
	tokens.push_back(temp4);

	Token temp5(Token::KEYWORD);
	temp.content = "VARCHAR";
	tokens.push_back(temp5);

	Token temp6(Token::OPENPAREN);
	temp.content = "(";
	tokens.push_back(temp6);

	Token temp7(Token::LITERAL);
	temp.content = "10";
	tokens.push_back(temp7);

	Token temp8(Token::CLOSEPAREN);
	temp.content = ")";
	tokens.push_back(temp8);

	Token temp9(Token::CLOSEPAREN);
	temp.content = ")";
	tokens.push_back(temp9);

	Token temp10(Token::KEYWORD);
	temp.content = "PRIMARY";
	tokens.push_back(temp10);

	Token temp11(Token::KEYWORD);
	temp.content = "KEY";
	tokens.push_back(temp11);

	Token temp12(Token::OPENPAREN);
	temp.content = "(";
	tokens.push_back(temp12);

	Token temp13(Token::VARIABLE);
	temp.content = "kind";
	tokens.push_back(temp13);

	Token temp14(Token::CLOSEPAREN);
	temp.content = ")";
	tokens.push_back(temp14);

	pars.command(tokens);

}