FMU/Source/Building.cpp
/**
 * @brief collects the occupants window opening choices and sets for the zone
 * @details collects the window opening choice of each occupant, calls the negotiate function
 * on the collected values and sets the desired negotiated state to the zone
 * @param zone A pointer to a buldings zone
 */
@brief collects the occupants window opening choices and sets for the zone
@details collects the window opening choice of each occupant, calls the negotiate function
on the collected values and sets the desired negotiated state to the zone
@param zone A pointer to a buldings zone
@brief collects the occupants window opening choices and sets for the zone @details collects the window opening choice of each occupant calls the negotiate function on the collected values and sets the desired negotiated state to the zone @param zone A pointer to a buldings zone
void Building::setOccupantBlindDecisionForZone(
        std::shared_ptr<Building_Zone> zone) {
    double state = zone->getBlindState();
    std::vector<double> desires;
    std::vector<double> powers;
    for (const Occupant &agent : population) {
        if (agent.isActionShades(*zone)) {
            double desire = agent.getDesiredShadeState(*zone);
            double power = agent.getPower();
            desires.push_back(desire);
            powers.push_back(power);
        }
    }
    state = decisionDoubleVec(desires, powers, state);
    zone->setBlindState(state);
}
void Building :: setOccupantBlindDecisionForZone ( std :: shared_ptr < Building_Zone > zone ) { double state = zone -> getBlindState ( ) ; std :: vector < double > desires ; std :: vector < double > powers ; for ( const Occupant & agent : population ) { if ( agent . isActionShades ( * zone ) ) { double desire = agent . getDesiredShadeState ( * zone ) ; double power = agent . getPower ( ) ; desires . push_back ( desire ) ; powers . push_back ( power ) ; } } state = decisionDoubleVec ( desires , powers , state ) ; zone -> setBlindState ( state ) ; }
@brief collects the occupants window opening choices and sets for the zone
 @details collects the window opening choice of each occupant, calls the negotiate function
 on the collected values and sets the desired negotiated state to the zone
 @param zone A pointer to a buldings zone
@brief collects the occupants window opening choices and sets for the zone @details collects the window opening choice of each occupant calls the negotiate function on the collected values and sets the desired negotiated state to the zone @param zone A pointer to a buldings zone