コード例 #1
0
ファイル: step7.cpp プロジェクト: kzinti/revok
void main()                            /* Thread One */
{
    /* Get display screen information & clear the screen.*/
    hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
    WriteTitle();
    /* Create the mutexes and reset thread count. */
    hScreenMutex = CreateMutex(NULL, FALSE, NULL);   /* Cleared */
    hQueryMutex = CreateMutex(NULL, FALSE, NULL);     /* Cleared */

	try
	{
		// connect
		g_Conn.Connect(DATABASE, USER, PASSWORD, CLIENT);

		/* Start waiting for keyboard input to dispatch threads or exit. */
		KbdFunc();
	}
	catch(SAException &x)
	{
		std::cout << (const char*)x.ErrText() << std::endl;

		try
		{
			g_Conn.Rollback();
		}
		catch(SAException &)
		{
		}
	}

    /* All threads done. Clean up handles. */
    CloseHandle(hScreenMutex);
    CloseHandle(hQueryMutex);
    CloseHandle(hConsoleOut);
}
コード例 #2
0
ファイル: iqExportLight.cpp プロジェクト: imclab/rgba
bool iqFormat::ExportLight(const LightDescriptor& light)
{
	WriteTitle("Luz",&mLights);
	ExportBasicInfo(&light, &mLights,false);
/*
	if (light.mLightType==FLX_LTYPE_OMNI)					mLights.Store((unsigned char)U3D_LTYPE_OMNI);	// Omni (la única soportada por el fantasy)
	else if (light.mLightType==FLX_LTYPE_TSPOT)				mLights.Store((unsigned char)U3D_LTYPE_TSPOT);	// targeted spot light
	else if (light.mLightType==FLX_LTYPE_DIR)				mLights.Store((unsigned char)U3D_LTYPE_DIR);	// directional light
	else if (light.mLightType==FLX_LTYPE_FSPOT)				mLights.Store((unsigned char)U3D_LTYPE_FSPOT);	// free spot light
	else if (light.mLightType==FLX_LTYPE_TDIR)				mLights.Store((unsigned char)U3D_LTYPE_TDIR);	// targeted directional light

	mLights.Store(light.mColor.x);						// Color
	mLights.Store(light.mColor.y);						// Color
	mLights.Store(light.mColor.z);						// Color
	mLights.Store(light.mAttenStart);					//  atten start
	mLights.Store(light.mAttenEnd);						//  atten end
	mLights.Store(light.mUseAtten);						// Use atten
	mLights.Store(light.mIntensity);					// Intensity (multiplier)
*/
	mLights.StoreASCII("color %f %f %f\n",light.mColor.x,light.mColor.y,light.mColor.z);
	mLights.StoreASCII("atenuacion %d %f %f\n", light.mUseAtten,light.mAttenStart,light.mAttenEnd);
	mLights.StoreASCII("intensidad %f\n",light.mIntensity);

	return true;
}
コード例 #3
0
ファイル: iqExporter.cpp プロジェクト: imclab/rgba
bool iqFormat::SetSceneInfo(const MainDescriptor& maininfo)
{
	int firstframe,lastframe;

	// Save time info for later
	CopyMemory(&mTimeInfo, &maininfo.mTime, sizeof(MAXTimeInfo));

	WriteTitle("Paradise exporter by utopian/rgba",&mGeneral);	

	firstframe=mTimeInfo.mStartTime / mTimeInfo.mDeltaTime;
	lastframe=mTimeInfo.mEndTime / mTimeInfo.mDeltaTime;

	mGeneral
	.StoreASCII("numframes ")		.StoreASCII(lastframe-firstframe+1)
	.StoreASCII("\nticksperframe ")	.StoreASCII((long)mTimeInfo.mDeltaTime)
	.StoreASCII("\n");
	
	/*
	// Export time info
	mGeneral.Store((long)(mTimeInfo.mStartTime / mTimeInfo.mDeltaTime));	// First frame
	mGeneral.Store((long)(mTimeInfo.mEndTime / mTimeInfo.mDeltaTime));		// Last frame
	mGeneral.Store(mTimeInfo.mFrameRate);									// Framerate
	mGeneral.Store((long)mTimeInfo.mDeltaTime);								// Para calcular cosas luego
	mGeneral.Store((float)maininfo.mGlobalScale);							// Global scale (sirve de algo?)
*/
	return true;
}
コード例 #4
0
ファイル: display.cpp プロジェクト: zpzjzj/MipsBox
void CreateDispThd(void) // Dispatch threads.
{
	void Display(void *argv);

    WriteTitle();

	ClearScreen();
	void *ArgList = NULL;
	_beginthread(Display, 2048, ArgList);
	ThreadNr++;
}
コード例 #5
0
ファイル: iqExportController.cpp プロジェクト: imclab/rgba
bool iqFormat::ExportController(const ControllerDescriptor& controller)
{
	// Controller data
	ControllerData* cdata = controller.mData;

	// Primero vemos qué tipo de controller es, y lo almacenamos
	if(!strcmp(controller.mField,"POSITION"))
	{
		WriteTitle("Spline posicion",&mControllers);
		mControllers.StoreASCII("tipospline posicion\n");
	}
	else if (!strcmp(controller.mField,"ROTATION")) 
	{
	  if(cdata->mType==FLX_CTRL_FLOAT) 
	  {
	  	WriteTitle("Spline roll",&mControllers);
	  	mControllers.StoreASCII("tipospline roll\n");	
	  }
	  else 
	  {
		WriteTitle("Spline rotacion - quaternios",&mControllers);
		mControllers.StoreASCII("tipospline rotacion\n");
	  }
	}
	else return false;

	mControllers.StoreASCII("propietario %d\n",controller.mOwnerID);	// Nodo al que pertenece el controlador

	if(cdata->mMode!=CTRL_KEYFRAMES) // No válido, debemos usar keyframes
	{
		printf("Error: MUST use keyframes, no samples allowed");
		return false;
	}

	// Keyframing path
	KeyframeData* kdata = (KeyframeData*)cdata;
	mControllers.StoreASCII("nkeyframes %d\n",kdata->mNbKeyframes);	// Número de keyframes

	switch(kdata->mScheme)
	{
		case FLX_SCHEME_LINEAR:		// Interpolación lineal, no se usa de momento...
							return false;
							break;


		case FLX_SCHEME_TCB:		// Interpolación por splines, esta es la que se usa...
		{
			if(!strcmp(controller.mField,"POSITION"))
			{
 			 // TCB Point keyframes
			 TCBPointKey* Keys = (TCBPointKey*)kdata->mKeyframes;
			 mControllers.StoreASCII("; keys [tiempo x y z]\n");
			 for(udword i=0;i<kdata->mNbKeyframes;i++)
			 {
				const TCBPointKey& CurKey = Keys[i];
				mControllers.StoreASCII("%d %f %f %f\n",CurKey.mTime,
									CurKey.mVal.x,
									CurKey.mVal.y,
									CurKey.mVal.z);
			 } 
			}
			else if(!strcmp(controller.mField,"ROTATION"))
			{
			 if(cdata->mType==FLX_CTRL_FLOAT)
			 {
				// TCB float keyframes
				TCBFloatKey* Keys = (TCBFloatKey*)kdata->mKeyframes;
				for(udword i=0;i<kdata->mNbKeyframes;i++)
				{
					const TCBFloatKey& CurKey = Keys[i];
					mControllers.StoreASCII("%d %f\n",CurKey.mTime,
									CurKey.mVal);
				}
			 }
			 else
			 {			 	
			  // TCB Rot keyframes
			  TCBRotKey* Keys = (TCBRotKey*)kdata->mKeyframes;
			  mControllers.StoreASCII("; keys [tiempo x y z w]\n");
			  for(udword i=0;i<kdata->mNbKeyframes;i++)
			  {
				const TCBRotKey& CurKey = Keys[i];
				mControllers.StoreASCII("%d %f %f %f %f\n",CurKey.mTime,
									CurKey.mVal.x,
									CurKey.mVal.y,
									CurKey.mVal.z,
									CurKey.mVal.w);
			  }
			 }
			}
		}
		break;
			
		case FLX_SCHEME_BEZIER:
		{
			printf("Bezier schema not supported yet\n");
			return false;
		}
		break;
	}

	numsplines++;
	return true;
}