void MultiActorAgent::controller(const LCreal dt) { if ( (getState() != nullptr) && (nAgents>0) ) { // update global state once for all agents getState()->updateGlobalState(); // for each behavior/actor pair, update state and generate action for (unsigned int i=0; i<nAgents; i++) { if (agentList[i].actor != nullptr) { setActor(agentList[i].actor); Basic::Ubf::Behavior* behavior = agentList[i].behavior; // update ubf state getState()->updateState(agentList[i].actor); // generate an action Basic::Ubf::Action* action = behavior->genAction(getState(), dt); if (action) { // allow possibility of no action returned action->execute(getActor()); action->unref(); } } } setActor(nullptr); } }
Particle::Particle(NxActor* pToSet, NxVec3& vThermoDynamicAcceleration) { setActor(pToSet); // F = M*a _vThermoDynamicForce = pToSet->getMass()*vThermoDynamicAcceleration; }
CParticle::CParticle( void ) : Alpha( 254 ) , m_Scale( 1.0f ) { setActor(NULL); _vThermoDynamicForce.zero(); CRandomize Rand; m_Scale = (float)Rand.GetRandomize( 1.0f , 1.5 ); }
CParticle::CParticle( NxActor* pToSet , NxVec3& vThermoDynamicAcceleration , LASER_COLOR _Color ) : Alpha( 254 ) , m_Scale( 1.0f ) { setActor(pToSet); // F = M*a _vThermoDynamicForce = pToSet->getMass()*vThermoDynamicAcceleration; CRandomize Rand; m_Scale = (float)Rand.GetRandomize( 1.0f , 1.5 ); m_Color = _Color; }
void CSPhysXObject_StaticTree::addActor(PxRigidStatic* actor) { for (int x = 0; x<MAX_ACTORS; x++) { if (!m_Actors[x]) { m_Actors[x] = actor; if (x == 0) { setActor(m_Actors[0]); } return; } } }
UnitySensorFactory::UnitySensorFactory(std::string vehicle_name, const NedTransform* ned_transform) { setActor(vehicle_name, ned_transform); }
Particle::Particle() { setActor(NULL); _vThermoDynamicForce.zero(); }