Skip to content
Snippets Groups Projects
Select Git revision
  • Issue_61
  • develop default
  • 102-Utest
  • 96-method_i
  • 89-str_to_array
  • 91-output
  • master
  • 87-method-d-swallowed-obstacles
  • feature_trajectory_correction
  • Issue_63
  • refactor_SteadyState
  • v0.8.3
  • v0.8.2
  • v0.8.1
  • v0.8
  • v0.7
  • v0.6
17 results

Room.h

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();
    
         /**