diff --git a/src/dab_flock_acceleration_behavior.cpp b/src/dab_flock_acceleration_behavior.cpp index 1b6b290..ae5aa59 100644 --- a/src/dab_flock_acceleration_behavior.cpp +++ b/src/dab_flock_acceleration_behavior.cpp @@ -98,10 +98,10 @@ AccelerationBehavior::act() float dotProd = prefAccel.dot(linearAccel); linearAccel *= dotProd; angularAccel = prefAccel - linearAccel; - - linearAccel.cwiseMax(maxLinearAcceleration); - angularAccel.cwiseMax(maxAngularAcceleration); - + + linearAccel = linearAccel.cwiseMin(maxLinearAcceleration).cwiseMax(-maxLinearAcceleration); + angularAccel = angularAccel.cwiseMin(maxAngularAcceleration).cwiseMax(-maxAngularAcceleration); + acceleration = (linearAccel + angularAccel); //std::cout << "AccelerationBehavior end: out values" << mOutputParameters[0]->values() << " bValues " << mOutputParameters[0]->backupValues() << "\n"; diff --git a/src/dab_flock_visual.cpp b/src/dab_flock_visual.cpp index 08e4791..4241ed4 100644 --- a/src/dab_flock_visual.cpp +++ b/src/dab_flock_visual.cpp @@ -329,6 +329,17 @@ FlockVisuals::setAgentLineWidth( const std::string& pSwarmName, float pLineWidth _visSwarm->setAgentLineWidth(pLineWidth); } +void +FlockVisuals::setTrailColor(const std::string& pSwarmName, const std::array& pTrailColor) +{ + VisSwarm* _visSwarm = visualSwarm(pSwarmName); + + if (_visSwarm == nullptr) return; + + _visSwarm->setTrailColor(pTrailColor); +} + + VisGridSpace* FlockVisuals::visualGridSpace( const std::string& pSpaceName ) { diff --git a/src/dab_flock_visual.h b/src/dab_flock_visual.h index b2311d0..1b0af3a 100644 --- a/src/dab_flock_visual.h +++ b/src/dab_flock_visual.h @@ -64,6 +64,8 @@ public: void setAgentScale( const std::string& pSwarmName, float pScale ); void setAgentScale( const std::string& pSwarmName, const ofVec3f& pAgentScale ); void setAgentLineWidth( const std::string& pSwarmName, float pLineWidth ); + + void setTrailColor(const std::string& pSwarmName, const std::array& pTrailColor); VisGridSpace* visualGridSpace( const std::string& pSpaceName ); VisNeighborSpace* visualNeighborSpace( const std::string& pSpaceName );