From 183c483487ef85fd0761a6dcaf0b549127b42be8 Mon Sep 17 00:00:00 2001 From: Scratchcat1 Date: Mon, 26 Feb 2018 11:30:19 +0000 Subject: [PATCH] Add files via upload --- docs/Documentation/OOP.odt | Bin 34207 -> 65177 bytes docs/Documentation/OOP_Definitions.py | 167 +++++++++++++++++++++++++- 2 files changed, 165 insertions(+), 2 deletions(-) diff --git a/docs/Documentation/OOP.odt b/docs/Documentation/OOP.odt index d7e152e904bdff3be8f128571b55e8ee7b81e5b9..881a7e2c3e5f71c5dc5a99f2a164fb974b5a52e7 100644 GIT binary patch delta 48655 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%0Aj~T_R-Z2<+xF{cg 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 diff --git a/docs/Documentation/OOP_Definitions.py b/docs/Documentation/OOP_Definitions.py index 39e2004..7609993 100644 --- a/docs/Documentation/OOP_Definitions.py +++ b/docs/Documentation/OOP_Definitions.py @@ -13,6 +13,7 @@ Crypto #Crypto object to encrypt communications ClientID #Current clientID ExitLoop #Bool if should exit +EndClass UserConection = Class(ClientConnection) #For explanations see AATC_Server_002 UserConnection documentation @@ -54,6 +55,7 @@ Protected: Non_Authenticated_Commands Authenticated_Commands +EndClass BotConnection = Class(UserConnection) __init__(Override) #Overrides __init__ of grandparent. Uses private __ but is inheritable @@ -67,6 +69,7 @@ Output_Queue #Note: This is now protected. Some screenshots may include an outdated version DB Thread_Name +EndClass MonitorConnection = Class(ClientConnection) Public: @@ -91,6 +94,7 @@ Protected: Non_Authenticated_Commands Authenticated_Commands +EndClass DroneConnection = Class(ClientConnection) @@ -107,7 +111,8 @@ Protected: Non_Authenticated_Commands Authenticated_Commands - +EndClass + ##################################################################### @@ -157,6 +162,7 @@ xCount yCount zCount +EndClass Node = Class @@ -172,6 +178,7 @@ Friends Cost Coords +EndClass ##################################################################################### @@ -217,6 +224,7 @@ Username Crypto con +EndClass ########################################################################### @@ -264,6 +272,7 @@ UserInterface MenuOptions Exit +EndClass ############################################################################# @@ -294,6 +303,7 @@ zSize Private: __str__ #Overridden String method of class +EndClass ########################################################################### @@ -322,6 +332,7 @@ IV EncryptAES DecryptAES +EndClass ########################################################################### @@ -395,6 +406,7 @@ db_con cur cur_header +EndClass ############################################################################## @@ -414,6 +426,7 @@ con Crypto DroneName +EndClass Flight = Class Public: @@ -432,6 +445,7 @@ StartTime ETA Distance +EndClass Waypoint = Class Public: @@ -444,6 +458,7 @@ WaypointNumber Coord ETA +EndClass DroneInformation = Class Public: @@ -454,7 +469,7 @@ Get_DroneSpeed Get_DroneRane Get_DroneWeight - Private: + Protected: DroneID UserID DroneName @@ -462,10 +477,158 @@ DroneSpeed DroneRange DroneWeight +EndClass + +############################################################################ + + +DroneLogicSystem = Class + Public: + Main + CheckForFlight + RunFlight + Protected: + DroneID + DronePassword + FlightQueue + StatusQueue + GPIO_Queue + Sleep_Time + D +EndClass ############################################################################ + +Thread_Handle = Class + Public: + Get_Thread_Name + Get_ThreadPointer + Get_Queue + Protected: + Thread_Name + Thread_Pointer + Queue +EndClass + +Thread_Controller = Class + Public: + Create_Thread + Close_Thread + PassData + Main + Reset + Protected: + Name + Command_Queue + Threads + Exit +EndClass +########################################################################## + +MonitorInterface = Class + Public: + Send + Recv + Login + AddMonitor + MonitorChangePassword + GetNoFlyZones + GetDronesAll + GetUserID + GetUsername + GetMonitorDrones + GetMonitorFlights + GetMonitorFlightWaypoints + GetMonitorID + GetMonitorName + RemoveMonitorPermission + GetMonitorPermissionMonitor + GetFlightsAll + GetFlightWaypointsAll + Exit + Protected: + con + Crypto + MonitorName +EndClass + +######################################################################## + +Camera = Class + Public: + GetZoom + SetZoom + IncrementCameraCoordX + IncrementCameraCoordY + SetCameraCoords + UpdateCameraSize + CameraWipe + ResetDrawObject + AddDrawObject + Get_DrawObjects + Get_Coord + Draw + Protected: + xpixel + ypixel + gameDisplay + MinCoords + MaxCoords + CameraCoord + CameraZoom + DrawObjects +EndClass + +Monitor_Sprite = Class + Public: + Make_Image + Make_Text + Get_Coords + Protected: + Coords + Type + Text + Colour + image +EndClass + +TimeWarper + Public: + GetTimeWarp + Protected: + targetFrameRate + minimumFrameRate + Time +EndClass + +########################################################################## + +NoFlyZoneGrapher = Class + Public: + Main_Loop + Force_Write + Mod + GetNoFlyZones + Make_Values + Protected: + DB + Interval + Thread_Name + Thread_Queue + xSize + ySize + zSize + Exit +EndClass +########################################################################### +OWM_Control = Class + Public: + Get_Adjusted_Speed + Protected: + owm +EndClass