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-2018 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 /****************************************************************************/
15 // -------------------
16 /****************************************************************************/
17 #ifndef NIVissimBoundedClusterObject_h
18 #define NIVissimBoundedClusterObject_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <set>
27 #include <string>
28 
29 
30 // ===========================================================================
31 // class declarations
32 // ===========================================================================
33 class Boundary;
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
42 public:
45  virtual void computeBounding() = 0;
46  bool crosses(const AbstractPoly& poly, double offset = 0) const;
47  void inCluster(int id);
48  bool clustered() const;
49  const Boundary& getBoundary() const;
50 public:
51  static void closeLoading();
52 protected:
53  typedef std::set<NIVissimBoundedClusterObject*> ContType;
54  static ContType myDict;
57 };
58 
59 
60 #endif
61 
62 /****************************************************************************/
63 
virtual void computeBounding()=0
bool crosses(const AbstractPoly &poly, double offset=0) const
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:42
std::set< NIVissimBoundedClusterObject * > ContType