Пример #1
0
void PuckManager::ForcePuck(const SDL_RendererFlip& sf) {
	Puck* n = new Puck(wRef);
	pmPos -= Vec3(-0.5f, 0.7f, 0.0f);
	n->SetStartPos(pmPos);
	n->PlayerDir(sf);
	puckList.push_back(n);
	Debug::ConsoleLog("Created puck!");
}
Пример #2
0
/* Constructor */
void Puck::callback( ot::CallbackNode * node,  ot::Event & event, void * data ) {
  Puck * self = reinterpret_cast<Puck*>(data);
  try{
    printf("Puck:: receiving event\n");
    std::vector<float> & pos = event.getPosition();
    std::vector<float> & vel = event.getAttribute((std::vector<float>*)NULL, "velocity");
    self->position = Vec3f(pos[0], pos[1], pos[2]);
    self->updatePosition();
    //    self->velocity = Vec3f(vel[0], vel[1], vel[2]);
    self->updateVelocity(vel[0], vel[1], vel[2]);
  } catch(...){
    printf("PUCK::Error unpacking event\n");
  }
};
Пример #3
0
unsigned __stdcall cameraThread(void* param){
	CvPoint2D32f* puckPoint=new CvPoint2D32f();
	IplImage* frame = cvCreateImage(IMAGESIZE,8,3);//skapar en buffer för en bild
	int t0=0,t1=0,t2=0,t3=0;//DEBUGVERKTYG

	while(running){
		t0=clock();
		//fyller buffren med en ny bild
		capture->myQueryFrame(frame);//40ms
		t1=clock();
		//hanterar bilden
		track_puck.trackObject(frame,puckPoint);//20ms
		t2=clock();
		//uppdaterar puckens position med ny data
		puck.updatePosition(puckPoint);
		t3=clock();
		//float cycle=(GetTickCount()-t);
		//cout<<t0-t1<<"\t"<<t1-t2<<"\t"<<t3-t2<<endl;
		//

	}
	return NULL;
}
Пример #4
0
int getProperty(const Puck& p, enum Puck::Property prop) {
	return p.getProperty(prop, false);
}