A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
building.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Marco Miozzo <marco.miozzo@cttc.es>
19
*
20
*/
21
#ifndef BUILDING_H
22
#define BUILDING_H
23
24
#include <ns3/attribute.h>
25
#include <ns3/attribute-helper.h>
26
#include <ns3/vector.h>
27
#include <ns3/box.h>
28
#include <ns3/simple-ref-count.h>
29
#include <ns3/object.h>
30
31
namespace
ns3 {
32
37
class
Building
:
public
Object
38
{
39
public
:
40
41
// inherited from Object
42
static
TypeId
GetTypeId
(
void
);
43
virtual
void
DoDispose
();
44
45
46
enum
BuildingType_t
47
{
48
Residential
,
Office
,
Commercial
49
};
50
enum
ExtWallsType_t
51
{
52
Wood
,
ConcreteWithWindows
,
ConcreteWithoutWindows
,
StoneBlocks
53
};
54
66
Building
(
double
xMin,
67
double
xMax,
68
double
yMin,
69
double
yMax,
70
double
zMin,
71
double
zMax);
72
77
Building
();
78
83
virtual
~Building
();
84
89
uint32_t
GetId
(
void
)
const
;
90
96
void
SetBoundaries
(
Box
box);
97
103
void
SetBuildingType
(
Building::BuildingType_t
t);
104
112
void
SetExtWallsType
(
Building::ExtWallsType_t
t);
113
120
void
SetNFloors
(uint16_t nfloors);
121
127
void
SetNRoomsX
(uint16_t nroomx);
128
134
void
SetNRoomsY
(uint16_t nroomy);
135
140
Box
GetBoundaries
()
const
;
141
145
BuildingType_t
GetBuildingType
()
const
;
146
150
ExtWallsType_t
GetExtWallsType
()
const
;
151
155
uint16_t
GetNFloors
()
const
;
156
160
uint16_t
GetNRoomsX
()
const
;
161
165
uint16_t
GetNRoomsY
()
const
;
166
174
bool
IsInside
(
Vector
position)
const
;
175
184
uint16_t
GetRoomX
(
Vector
position)
const
;
185
194
uint16_t
GetRoomY
(
Vector
position)
const
;
195
202
uint16_t
GetFloor
(
Vector
position)
const
;
203
204
205
206
207
private
:
208
209
Box
m_buildingBounds
;
210
215
uint16_t
m_floors
;
216
uint16_t
m_roomsX
;
217
uint16_t
m_roomsY
;
218
219
uint32_t
m_buildingId
;
220
BuildingType_t
m_buildingType
;
221
ExtWallsType_t
m_externalWalls
;
222
223
};
224
225
}
// namespace ns3
226
227
#endif
/* BUILDING_H */
src
buildings
model
building.h
Generated on Tue Nov 13 2012 10:32:09 for ns-3 by
1.8.1.2