Eclipse SUMO - Simulation of Urban MObility
NIVissimBoundedClusterObject.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // -------------------
15 /****************************************************************************/
16 #ifndef NIVissimBoundedClusterObject_h
17 #define NIVissimBoundedClusterObject_h
18 
19 
20 // ===========================================================================
21 // included modules
22 // ===========================================================================
23 #include <config.h>
24 
25 #include <set>
26 #include <string>
27 
28 
29 // ===========================================================================
30 // class declarations
31 // ===========================================================================
32 class Boundary;
33 
34 // ===========================================================================
35 // class definitions
36 // ===========================================================================
41 public:
44  virtual void computeBounding() = 0;
45  bool crosses(const AbstractPoly& poly, double offset = 0) const;
46  void inCluster(int id);
47  bool clustered() const;
48  const Boundary& getBoundary() const;
49 public:
50  static void closeLoading();
51 protected:
52  typedef std::set<NIVissimBoundedClusterObject*> ContType;
53  static ContType myDict;
56 };
57 
58 
59 #endif
60 
61 /****************************************************************************/
62 
AbstractPoly
Definition: AbstractPoly.h:35
NIVissimBoundedClusterObject::myClusterID
int myClusterID
Definition: NIVissimBoundedClusterObject.h:55
NIVissimBoundedClusterObject::NIVissimBoundedClusterObject
NIVissimBoundedClusterObject()
Definition: NIVissimBoundedClusterObject.cpp:30
NIVissimBoundedClusterObject::~NIVissimBoundedClusterObject
virtual ~NIVissimBoundedClusterObject()
Definition: NIVissimBoundedClusterObject.cpp:36
NIVissimBoundedClusterObject::ContType
std::set< NIVissimBoundedClusterObject * > ContType
Definition: NIVissimBoundedClusterObject.h:52
NIVissimBoundedClusterObject
Definition: NIVissimBoundedClusterObject.h:40
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:41
NIVissimBoundedClusterObject::clustered
bool clustered() const
Definition: NIVissimBoundedClusterObject.cpp:56
NIVissimBoundedClusterObject::computeBounding
virtual void computeBounding()=0
NIVissimBoundedClusterObject::crosses
bool crosses(const AbstractPoly &poly, double offset=0) const
Definition: NIVissimBoundedClusterObject.cpp:42
NIVissimBoundedClusterObject::myBoundary
Boundary * myBoundary
Definition: NIVissimBoundedClusterObject.h:54
NIVissimBoundedClusterObject::closeLoading
static void closeLoading()
Definition: NIVissimBoundedClusterObject.cpp:62
NIVissimBoundedClusterObject::inCluster
void inCluster(int id)
Definition: NIVissimBoundedClusterObject.cpp:50
NIVissimBoundedClusterObject::myDict
static ContType myDict
Definition: NIVissimBoundedClusterObject.h:53
config.h
NIVissimBoundedClusterObject::getBoundary
const Boundary & getBoundary() const
Definition: NIVissimBoundedClusterObject.cpp:70