Ejemplo n.º 1
0
NxVec3 MoveActor(NxActor* actor, const NxVec3& moveDir, const NxReal moveStrength, bool moveMode)
{
	if (actor->readBodyFlag(NX_BF_KINEMATIC))
		return ApplyVelocityToActor(actor, moveDir, moveStrength, moveMode);
	else
		return ApplyForceToActor(actor, moveDir, moveStrength, moveMode);
}
Ejemplo n.º 2
0
//-----------------------------------------------------------------------------
//  ApplyForce
//-----------------------------------------------------------------------------
void    CPhysicScene::ApplyForce (const NxVec3& forceDir, float fForce, NxForceMode eForceMode)
{
    int nbActors = m_pScene->getNbActors();
    NxActor** actors = m_pScene->getActors();
    while (nbActors--)
    {
        NxActor* actor = *actors++;
        ApplyForceToActor (actor, forceDir, fForce, eForceMode);
    }
}
Ejemplo n.º 3
0
void ProcessForceKeys()
{
	// Process force keys
	for (int i = 0; i < MAX_KEYS; i++)
	{	
		if (!gKeys[i])  { continue; }

		switch (i)
		{
			// Force controls
			case 'i': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,1),gForceStrength,bForceMode); break; }
			case 'k': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,-1),gForceStrength,bForceMode); break; }
			case 'j': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(1,0,0),gForceStrength,bForceMode); break; }
			case 'l': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(-1,0,0),gForceStrength,bForceMode); break; }
			case 'u': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,1,0),gForceStrength,bForceMode); break; }
			case 'm': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,-1,0),gForceStrength,bForceMode); break; }

		    // Return focus actor to (0,5,0)
			case 't': 
				{ 
					gSelectedActor->setGlobalPosition(NxVec3(0,5,0)); 
					gScene->flushCaches();
					break; 
				}
		}
	}
}
Ejemplo n.º 4
0
void ProcessForceKeys()
{
	// Process force keys
	for (int i = 0; i < MAX_KEYS; i++)
	{	
		if (!gKeys[i])  { continue; }

		switch (i)
		{
			// Force controls
			case 'i': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,1),gForceStrength,bForceMode); break; }
			case 'k': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,-1),gForceStrength,bForceMode); break; }
			case 'j': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(1,0,0),gForceStrength,bForceMode); break; }
			case 'l': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(-1,0,0),gForceStrength,bForceMode); break; }
			case 'u': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,1,0),gForceStrength,bForceMode); break; }
			case 'm': { gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,-1,0),gForceStrength,bForceMode); break; }
		}
	}
}
Ejemplo n.º 5
0
void ProcessForceKeys()
{
    if (!gSelectedActor)  return;

	// Process force keys
	for (int i = 0; i < MAX_KEYS; i++)
	{	
		if (!gKeys[i])  { continue; }

		switch (i)
		{
			// Force controls
			case 'i': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,-1),gForceStrength,bForceMode); break; }
			case 'k': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,1),gForceStrength,bForceMode); break; }
			case 'j': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(-1,0,0),gForceStrength,bForceMode); break; }
			case 'l': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(1,0,0),gForceStrength,bForceMode); break; }
			case 'u': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,1,0),gForceStrength,bForceMode); break; }
			case 'm': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,-1,0),gForceStrength,bForceMode); break; }
			case 'o':{if(fluid)fluid->setFlag(NX_FF_ENABLED,false);break;}
			case 'p':{if(fluid)fluid->setFlag(NX_FF_ENABLED,true);break;}
		}
	}
}
Ejemplo n.º 6
0
void ProcessForceKeys()
{
	// Process force keys
	for (int i = 0; i < MAX_KEYS; i++)
	{	
		if (!gKeys[i])  { continue; }

		switch (i)
		{
			// Force controls
			case 'i': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,1),gForceStrength,bForceMode); break; }
			case 'k': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,0,-1),gForceStrength,bForceMode); break; }
			case 'j': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(1,0,0),gForceStrength,bForceMode); break; }
			case 'l': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(-1,0,0),gForceStrength,bForceMode); break; }
			case 'u': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,1,0),gForceStrength,bForceMode); break; }
			case 'm': {gForceVec = ApplyForceToActor(gSelectedActor,NxVec3(0,-1,0),gForceStrength,bForceMode); break; }

	        // Front wheel
		    case '1':
            { 
                gCurrentSteerAngle += NxPi*0.0005;
				bSetCurrentSteerAngle = true;
                break; 
            }

	    	case '2':
            { 
                gCurrentSteerAngle = 0;
 				bSetCurrentSteerAngle = true;
                break; 
            }

	    	case '3':
            { 
                gCurrentSteerAngle -= NxPi*0.0005;
				bSetCurrentSteerAngle = true;
                break; 
            }

	        // Rear wheels
	    	case '8':
            { 
                gCurrentMotorTorque += 1;
				gCurrentBrakeTorque = 0;
				bSetCurrentMotorTorque = true;
				bSetCurrentBrakeTorque = true;
                break; 
            }

		    case '9':
            { 
                gCurrentMotorTorque = 0;
 				gCurrentBrakeTorque = 750;
 				bSetCurrentMotorTorque = true;
				bSetCurrentBrakeTorque = true;
                break; 
            }

	    	case '0':
            { 
                gCurrentMotorTorque -= 1;
 				gCurrentBrakeTorque = 0;
 				bSetCurrentMotorTorque = true;
				bSetCurrentBrakeTorque = true;
                break; 
            }
		}
	}
}