A Discrete-Event Network Simulator
API
buildings-channel-condition-model.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2015, NYU WIRELESS, Tandon School of Engineering, New York
4  * University
5  * Copyright (c) 2019 SIGNET Lab, Department of Information Engineering,
6  * University of Padova
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation;
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  */
21 
22 #ifndef BUILDINGS_CHANNEL_CONDITION_MODEL_H
23 #define BUILDINGS_CHANNEL_CONDITION_MODEL_H
24 
25 #include "ns3/channel-condition-model.h"
26 
27 namespace ns3 {
28 
29 class MobilityModel;
30 
40 {
41 public:
47  static TypeId GetTypeId (void);
48 
49 
54 
58  virtual ~BuildingsChannelConditionModel () override;
59 
68 
78  virtual int64_t AssignStreams (int64_t stream) override;
79 
80 private:
89  bool IsLineOfSightBlocked (const Vector &l1, const Vector &l2) const;
90 };
91 
92 } // end ns3 namespace
93 
94 #endif /* BUILDINGS_CHANNEL_CONDITION_MODEL_H */
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:73
Models the channel condition.
static TypeId GetTypeId(void)
Get the type ID.
Determines the channel condition based on the buildings deployed in the scenario. ...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual int64_t AssignStreams(int64_t stream) override
If this model uses objects of type RandomVariableStream, set the stream numbers to the integers start...
virtual Ptr< ChannelCondition > GetChannelCondition(Ptr< const MobilityModel > a, Ptr< const MobilityModel > b) const override
Computes the condition of the channel between a and b.
bool IsLineOfSightBlocked(const Vector &l1, const Vector &l2) const
Checks if the line of sight between position l1 and position l2 is blocked by a building.
virtual ~BuildingsChannelConditionModel() override
Destructor for the BuildingsChannelConditionModel class.
BuildingsChannelConditionModel()
Constructor for the BuildingsChannelConditionModel class.
a unique identifier for an interface.
Definition: type-id.h:58