diff --git a/src/mobility/model/mobility-model.h b/src/mobility/model/mobility-model.h index deabd31a7..1c7b2433e 100644 --- a/src/mobility/model/mobility-model.h +++ b/src/mobility/model/mobility-model.h @@ -75,6 +75,9 @@ public: */ int64_t AssignStreams (int64_t stream); + static inline Ptr + GetMobilityModel (Ptr node); + protected: /** * Must be invoked by subclasses when the course of the @@ -118,6 +121,13 @@ private: }; +Ptr +MobilityModel::GetMobilityModel (Ptr node) +{ + return node->GetObject (); +} + + } // namespace ns3 #endif /* MOBILITY_MODEL_H */ diff --git a/src/visualizer/visualizer/core.py b/src/visualizer/visualizer/core.py index e38cc068b..2d8480d29 100644 --- a/src/visualizer/visualizer/core.py +++ b/src/visualizer/visualizer/core.py @@ -173,7 +173,7 @@ class Node(PyVizObject): self.emit("query-extra-tooltip-info", lines) - mob = ns3_node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mob = ns.mobility.MobilityModel.GetMobilityModel (ns3_node) if mob is not None: lines.append(' Mobility Model: %s' % mob.GetInstanceTypeId().GetName()) @@ -308,7 +308,7 @@ class Node(PyVizObject): def has_mobility(self): if self._has_mobility is None: node = ns.network.NodeList.GetNode(self.node_index) - mobility = node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mobility = ns.mobility.MobilityModel.GetMobilityModel (node) self._has_mobility = (mobility is not None) return self._has_mobility @@ -766,7 +766,7 @@ class Visualizer(gobject.GObject): node_name = "Node %i" % nodeI node_view = self.get_node(nodeI) - mobility = node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mobility = ns.mobility.MobilityModel.GetMobilityModel (node) # print "Mobility type: " + mobility.GetInstanceTypeId().GetName() if mobility is not None: node_view.set_color("red") @@ -877,7 +877,7 @@ class Visualizer(gobject.GObject): for node in self.nodes.itervalues(): if node.has_mobility: ns3_node = ns.network.NodeList.GetNode(node.node_index) - mobility = ns3_node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mobility = ns.mobility.MobilityModel.GetMobilityModel (ns3_node) if mobility is not None: pos = mobility.GetPosition() x, y = transform_point_simulation_to_canvas(pos.x, pos.y) @@ -1236,7 +1236,7 @@ class Visualizer(gobject.GObject): self.simulation.lock.acquire() try: ns3_node = ns.network.NodeList.GetNode(node.node_index) - mob = ns3_node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mob = ns.mobility.MobilityModel.GetMobilityModel (ns3_node) if mob is None: return if self.node_drag_state is not None: @@ -1253,7 +1253,7 @@ class Visualizer(gobject.GObject): self.simulation.lock.acquire() try: ns3_node = ns.network.NodeList.GetNode(node.node_index) - mob = ns3_node.GetObject(ns.mobility.MobilityModel.GetTypeId()) + mob = ns.mobility.MobilityModel.GetMobilityModel (ns3_node) if mob is None: return False if self.node_drag_state is None: