Exemple #1
0
 def __init__(self, interaction, tests, max_line_of_sight_radius, map_divisions, simplification_ratio, boundary_epsilon, facing_offset):
     super().__init__(max_line_of_sight_radius, map_divisions, simplification_ratio, boundary_epsilon)
     self._max_line_of_sight_radius = max_line_of_sight_radius
     self._interaction = interaction
     self._tests = tests
     self._privacy_constraints = []
     self._allowed_sims = WeakSet()
     self._disallowed_sims = WeakSet()
     self._violators = WeakSet()
     self._late_violators = WeakSet()
     self.is_active = False
     self.has_shooed = False
     self.central_object = None
     self._pushed_interactions = []
     services.privacy_service().add_instance(self)
Exemple #2
0
 def find_violating_vehicles(self):
     violators = []
     privacy_service = services.privacy_service()
     for vehicle in privacy_service.get_potential_vehicle_violators():
         if self.vehicle_violates_privacy(vehicle):
             violators.append(vehicle)
     return violators
 def on_remove(self):
     self.remove_callbacks()
     self.owner.routing_component.on_sim_removed()
     master_controller = services.get_master_controller()
     master_controller.remove_sim(self.owner)
     if self.privacy_rules:
         privacy_service = services.privacy_service()
         privacy_service.remove_vehicle_to_monitor(self.owner)
 def _setup(self):
     master_controller = services.get_master_controller()
     master_controller.add_sim(self.owner)
     if self.privacy_rules:
         privacy_service = services.privacy_service()
         privacy_service.add_vehicle_to_monitor(self.owner)
     self.owner.routing_component.on_sim_added()
     self.add_callbacks()
 def __init__(self, interaction, tests, max_line_of_sight_radius,
              map_divisions, simplification_ratio, boundary_epsilon,
              facing_offset):
     super().__init__(max_line_of_sight_radius, map_divisions,
                      simplification_ratio, boundary_epsilon)
     self._max_line_of_sight_radius = max_line_of_sight_radius
     self._interaction = interaction
     self._tests = tests
     self._privacy_constraints = []
     self._allowed_sims = WeakSet()
     self._disallowed_sims = WeakSet()
     self._violators = WeakSet()
     self._late_violators = WeakSet()
     self.is_active = False
     self.has_shooed = False
     self.central_object = None
     self._pushed_interactions = []
     services.privacy_service().add_instance(self)
 def reevaluate_all_privacy_instances():
     for privacy in services.privacy_service().privacy_instances:
         privacy._allowed_sims = WeakSet()
         privacy._disallowed_sims = WeakSet()
         privacy._violators = WeakSet()
         privacy._late_violators = WeakSet()
         for sim in TurboManagerUtil.Sim.get_all_sim_instance_gen(
                 humans=True, pets=False):
             privacy.handle_late_violator(sim)
 def reevaluate_privacy_violator(privacy_owner, violator_sim):
     for privacy in services.privacy_service().privacy_instances:
         while privacy.interaction is not None and privacy.interaction.sim is not None and privacy.interaction.sim is privacy_owner:
             if violator_sim in privacy.allowed_sims:
                 privacy.allowed_sims.discard(violator_sim)
             if violator_sim in privacy.disallowed_sims:
                 privacy.disallowed_sims.discard(violator_sim)
             privacy.evaluate_sim(violator_sim)
             return
 def _check_privacy(self, _, old_location, new_location):
     if not self.privacy_rules:
         return
     for privacy in services.privacy_service().privacy_instances:
         if not privacy.privacy_violators & PrivacyViolators.VEHICLES:
             continue
         new_violation = privacy not in self._privacy_violations
         violates_privacy = self.violates_privacy(privacy)
         if new_violation:
             if violates_privacy:
                 self.handle_privacy_violation(privacy)
                 if not violates_privacy:
                     self._privacy_violations.discard(privacy)
         elif not violates_privacy:
             self._privacy_violations.discard(privacy)
 def remove_privacy(self):
     self.cleanup_privacy_instance()
     services.privacy_service().remove_instance(self)
Exemple #10
0
 def _check_violations(self, *_, **__):
     if services.privacy_service().check_for_late_violators(self.owner):
         return
     for reaction_trigger in self.owner.reaction_triggers.values():
         reaction_trigger.intersect_and_execute(self.owner)
Exemple #11
0
 def remove_privacy(self):
     self.cleanup_privacy_instance()
     services.privacy_service().remove_instance(self)
Exemple #12
0
 def add_privacy(self):
     services.privacy_service().add_instance(self)
 def get_all_privacy_instances_gen():
     for privacy in services.privacy_service().privacy_instances:
         yield privacy