GlobeEngine
CommuterObject.h
Go to the documentation of this file.
1 
9 #ifndef GlobeEngine_CommuterObject_h
10 #define GlobeEngine_CommuterObject_h
11 
12 #include <string>
13 #include <vector>
14 #include "OpenGL_Includes.h"
15 #include "LineFeatureObject.h"
16 #include "PolyLine.h"
17 #include "PointCloud.h"
18 #include "SceneBluePrint.h"
19 #include "NamesObject.h"
20 #include "FDEBCommand.h"
21 #include "REFBCommand.h"
22 
23 namespace geGIS {
24 
26  {
27  enum BUNDLINGTYPE { NONE=0, FDEB, REFB};
30  };
31 
33  {
36  double value;
37  };
38 
40  {
41  public:
44 
45  void clear();
46  void create(std::shared_ptr<CommuterBlueprint> _blueprint, std::shared_ptr<ReferenceSystem> _referenceSystem);
47  void create(std::shared_ptr<CommuterBlueprint> _blueprint, std::shared_ptr<ReferenceSystem> _referenceSystem, std::shared_ptr<NamesObject> _namesRef);
48 
49  void loadData(std::string filename);
50  void doFDEBCalculation();
51  void doReferenceBundling(int _bundlingIdx, std::shared_ptr<TrafficObject> _trafficGraph);
52  const FDEBCommand* getFDEBCommand(int _idx) const;
53 
57 
58  int getWeightInfo(int _propertyIdx,int _idx) const;
59  int getWeightInfoSize() const;
60  void setMinMaxWeightInformationToColumn(int _column);
61  void setFDEBCommandReference(int _refIdx);
62 
63  // overrides LineFeatureObject
64  void performAnimationStep();
65  void draw(std::shared_ptr<ge::Camera> _cam);
66  void exportGraphRequests(std::string _path);
67 
68  private:
69  void create();
70  void clearInitial();
71 
72  std::shared_ptr<NamesObject> namesObject;
73  std::shared_ptr<CommuterBlueprint> blueprint;
74 
75  int minimumCommuterValue;
76 
77  // Line Datastructures
78  bool optimizeArrayStructure;
79  std::vector< std::vector<int> > entityWeightInfo;
80 
81  // Color
82  vmml::Vector3f linecolor;
83 
84  // Database information
85  std::vector<std::string> livingPlaceNames;
86  std::vector<std::string> workPlaceNames;
87 
88  // Bundling commands
89  //std::vector<FDEBCommand*> bundlingCommands;
90  FDEBCommand fdebundlingCommand;
91  FDEBCommandProperties fdebundlingProperty;
92  std::vector<REFBCommand*> refbundlingCommands;
93 
94  //custom animation
95  double animationValue;
96  vmml::Vector3f animationColor;
97 
98 
99  };
100 }
101 #endif
int getWeightInfoSize() const
Definition: CommuterObject.cpp:325
Definition: CommuterObject.h:28
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: CommuterObject.cpp:336
void create(std::shared_ptr< CommuterBlueprint > _blueprint, std::shared_ptr< ReferenceSystem > _referenceSystem)
Definition: CommuterObject.cpp:41
void setFDEBCommandReference(int _refIdx)
Definition: CommuterObject.cpp:330
Definition: CommuterObject.h:27
Definition: ClusterGrid.h:17
Definition: CommuterObject.h:28
void clear()
Definition: CommuterObject.cpp:15
Definition: CommuterObject.h:25
enum BundlingCategories::BUNDLINGTYPE type
Definition: CommuterObject.h:34
void doReferenceBundling(int _bundlingIdx, std::shared_ptr< TrafficObject > _trafficGraph)
Definition: CommuterObject.cpp:282
void loadData(std::string filename)
Definition: CommuterObject.cpp:57
Definition: CommuterObject.h:27
void performAnimationStep()
Definition: CommuterObject.cpp:348
enum BundlingCategories::BUNDLINGPROPERTY property
Definition: CommuterObject.h:35
void exportGraphRequests(std::string _path)
Definition: CommuterObject.cpp:309
Definition: CommuterObject.h:32
Definition: CommuterObject.h:29
void doFDEBCalculation()
Definition: CommuterObject.cpp:290
double value
Definition: CommuterObject.h:36
void setMinMaxWeightInformationToColumn(int _column)
Definition: CommuterObject.cpp:208
Definition: FDEBCommand.h:26
BUNDLINGPROPERTY
Definition: CommuterObject.h:28
void setFDEBProperty(BundlingPropertyUpdate _input)
Definition: CommuterObject.cpp:242
const FDEBCommand * getFDEBCommand(int _idx) const
Definition: CommuterObject.cpp:315
Definition: LineFeatureObject.h:21
Definition: CommuterObject.h:39
int getWeightInfo(int _propertyIdx, int _idx) const
Definition: CommuterObject.cpp:320
void setREFBProperty(BundlingPropertyUpdate _input)
Definition: CommuterObject.cpp:278
Definition: CommuterObject.h:27
CommuterObject()
Definition: CommuterObject.cpp:5
void setBundlingProperty(BundlingPropertyUpdate _input)
Definition: CommuterObject.cpp:225
~CommuterObject()
Definition: CommuterObject.cpp:10
BUNDLINGTYPE
Definition: CommuterObject.h:27
Definition: CommuterObject.h:28
Definition: FDEBCommand.h:36
Definition: CommuterObject.h:28