Source code for objects.tracked

from copy import deepcopy
from datetime import datetime

import glm

[docs] class Tracked: """ Class Tracked Realisation of tracked object """ def __init__(self, tracking_start_time: int): self.trajectory: list = [] self.start_tracked_time: int = tracking_start_time self.last_tracked_time: int = tracking_start_time self.filteredVelocityAB = glm.vec3(0, 0, 0) self.extrapolatedValueAB = glm.vec3(0, 0, 0) self.extrapolatedVelocityAB = glm.vec3(0, 0, 0) self.extrapolatedValue = glm.vec3(0, 0, 0) self.extrapolatedVelocity = glm.vec3(0, 0, 0) self.obj_name = None self.mse = 0 self.__filename = f"trajectories/'Tracked_{datetime.now()}_{self.start_tracked_time}.txt" open(self.__filename, "w").close()
[docs] def add_position(self, position): """ Add point to object trajectory """ self.trajectory.append(deepcopy(position))
[docs] def update_time(self, new_time): """ Update time of tracked object """ self.last_tracked_time = new_time with open(self.__filename, "a") as file: position = self.trajectory[-1].x, self.trajectory[-1].y, self.trajectory[-1].z extr_position = self.extrapolatedValueAB.x, self.extrapolatedValueAB.y, self.extrapolatedValueAB.z file.write(f"{position[0]},{position[1]},{position[2]},{extr_position[0]},{extr_position[1]},{extr_position[2]},{self.mse / len(self.trajectory)}\n")
@property def tracked_time(self): return self.last_tracked_time - self.start_tracked_time def __repr__(self): return f"Tracked({self.start_tracked_time}, {self.last_tracked_time}, {self.trajectory[-1]})"