diff --git a/src/components/mission-planning/ContextMenu.vue b/src/components/mission-planning/ContextMenu.vue new file mode 100644 index 000000000..2a060103e --- /dev/null +++ b/src/components/mission-planning/ContextMenu.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/src/components/mission-planning/ScanDirectionDial.vue b/src/components/mission-planning/ScanDirectionDial.vue new file mode 100644 index 000000000..d4db0b5ca --- /dev/null +++ b/src/components/mission-planning/ScanDirectionDial.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/src/types/mission.ts b/src/types/mission.ts index 66b0e9f94..1ad86d6b4 100644 --- a/src/types/mission.ts +++ b/src/types/mission.ts @@ -79,6 +79,40 @@ export type CockpitMission = { waypoints: Waypoint[] } +/** + * Survey object that contains the information about the survey to be performed. + */ +export interface Survey { + /** + * Unique identification for the survey. + */ + id: string + /** + * Coordinates of the polygon that will be surveyed. + */ + polygonCoordinates: WaypointCoordinates[] + /** + * Density of the scan. + */ + distanceBetweenLines: number + /** + * Angle of the survey lines. + */ + surveyLinesAngle: number + /** + * Executable mission waypoints. + */ + waypoints: Waypoint[] +} + +// TODO - Replace leaflet types with agnostic types +export type SurveyPolygon = { + /** + * The coordinates of the polygon that will be converted into a survey. + */ + polygonPositions: WaypointCoordinates[] +} + // eslint-disable-next-line @typescript-eslint/no-explicit-any export const instanceOfCockpitMission = (maybeMission: any): maybeMission is CockpitMission => { const requiredKeys = ['version', 'settings', 'waypoints'] diff --git a/src/views/MissionPlanningView.vue b/src/views/MissionPlanningView.vue index 2af360dc8..c0ca29521 100644 --- a/src/views/MissionPlanningView.vue +++ b/src/views/MissionPlanningView.vue @@ -1,6 +1,64 @@