Skip to content
Snippets Groups Projects
Select Git revision
  • 873cdc31f49fbb4600df4ceed8266ed3bab50369
  • master default protected
  • enxhi_issue460_remove_TOAR-I_access
  • michael_issue459_preprocess_german_stations
  • sh_pollutants
  • develop protected
  • release_v2.4.0
  • michael_issue450_feat_load-ifs-data
  • lukas_issue457_feat_set-config-paths-as-parameter
  • lukas_issue454_feat_use-toar-statistics-api-v2
  • lukas_issue453_refac_advanced-retry-strategy
  • lukas_issue452_bug_update-proj-version
  • lukas_issue449_refac_load-era5-data-from-toar-db
  • lukas_issue451_feat_robust-apriori-estimate-for-short-timeseries
  • lukas_issue448_feat_load-model-from-path
  • lukas_issue447_feat_store-and-load-local-clim-apriori-data
  • lukas_issue445_feat_data-insight-plot-monthly-distribution
  • lukas_issue442_feat_bias-free-evaluation
  • lukas_issue444_feat_choose-interp-method-cams
  • 414-include-crps-analysis-and-other-ens-verif-methods-or-plots
  • lukas_issue384_feat_aqw-data-handler
  • v2.4.0 protected
  • v2.3.0 protected
  • v2.2.0 protected
  • v2.1.0 protected
  • Kleinert_etal_2022_initial_submission
  • v2.0.0 protected
  • v1.5.0 protected
  • v1.4.0 protected
  • v1.3.0 protected
  • v1.2.1 protected
  • v1.2.0 protected
  • v1.1.0 protected
  • IntelliO3-ts-v1.0_R1-submit
  • v1.0.0 protected
  • v0.12.2 protected
  • v0.12.1 protected
  • v0.12.0 protected
  • v0.11.0 protected
  • v0.10.0 protected
  • IntelliO3-ts-v1.0_initial-submit
41 results

test_data_preparation.py

Blame
  • Room.h 3.73 KiB
    /**
     * \file        Room.h
     * \date        Sep 30, 2010
     * \version     v0.7
     * \copyright   <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved.
     *
     * \section License
     * This file is part of JuPedSim.
     *
     * JuPedSim is free software: you can redistribute it and/or modify
     * it under the terms of the GNU Lesser General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or
     * any later version.
     *
     * JuPedSim is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU Lesser General Public License
     * along with JuPedSim. If not, see <http://www.gnu.org/licenses/>.
     *
     *
     *
     **/
     
    
    #ifndef _ROOM_H
    #define _ROOM_H
    
    #include <string>
    #include <algorithm>
    #include <memory>
    #include "../general/Macros.h"
    
    //forward declarations
    class OutputHandler;
    class SubRoom;
    
    
    // external variables
    extern OutputHandler* Log;
    
    class Room {
    private:
    
         /// room ID and index
         int _id;
         /// room state
         RoomState _state;
         /// room caption
         std::string _caption;
         /// room elevation
         double _zPos;
         /// all subrooms/partitions of the room
         std::map<int, std::unique_ptr<SubRoom> > _subRooms;
         /// all transitions ids
         std::vector<int> _transitionsIDs;
         /// needed if the trajectories for this room are to be write in a special way
         OutputHandler* _outputFile;
         /// egress time for this room
         double _egressTime;
    
    public:
         Room();
         Room(const Room& orig);
    
         virtual ~Room();
    
         /**
          * Set/Get the id of the room which is also used as index
          */
         void SetID(int ID);
    
         /**
          * Set/Get the caption of the room
          */
         void SetCaption(const std::string& s);
    
         /**
          * Set/Get the elevation of the room
          */
         void SetZPos(double z);
    
         /**
          * Set/Get the state of the room as defined in the macro.h file
          */
         void SetState(RoomState state);
    
         /**
          * Set/Get the id of the room which is also used as index
          */
         int GetID() const;
    
         /**
          * Set/Get the caption of the room
          */
         const std::string& GetCaption() const;
    
         /**
          * Set/Get the elevation of the room
          */
         double GetZPos() const;
    
         /**
          * Set/Get the egress time for this room
          */
         double GetEgressTime() const;
    
         /**
          * Set/Get the egress time for this room
          */
         void SetEgressTime(double time);
    
         /**
          * @return the number of subrooms
          */
         int GetNumberOfSubRooms() const;
    
         /**
          * @return a vector containing all subrooms
          */
         const std::map<int, std::unique_ptr<SubRoom> >& GetAllSubRooms() const;
    
         /**
          * @return a vector containing all transitions Ids
          */
         const std::vector<int>& GetAllTransitionsIDs() const;
    
         /**
          * @return the Subroom with the corresponding index
          */
         SubRoom* GetSubRoom(int index) const;
    
         /**
          * @return the state for this room
          */
         const RoomState& GetState()const;
    
         /**
          * Push a new subroom in the vector
          */
         void AddSubRoom(SubRoom* r);
    
         /**
          * Add a new transition id
          */
         void AddTransitionID(int ID);
    
         /**
          * Debug output for this class
          */
         void WriteToErrorLog() const;
    
         /**
          * Used by MPI in the case each room should be written in a specific file
          */
         void SetOutputHandler(OutputHandler* oh);
    
         /**
          * Used by MPI in the case each room should be written in a specific file
          */
         OutputHandler* GetOutputHandler() const;
    
    };
    
    #endif  /* _ROOM_H */