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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mdi-close + + + + + + + + {{ surveyCreationButtonText }} + + + + + {{ pathCreationButtonText }} + + + + + + + + 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 @@ + + + + + + + + mdi-arrow-up-thin + + + + N + E + S + W + + + + + Scan + Direction + + {{ getCardinalDirection(rotationAngle || 0) }} + + + + + + + + + + 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 @@ - + + + + + mdi-check-circle + + + + + + + + + + + + + + mdi-close + + + + + + - {{ missionStore.currentPlanningWaypoints.length > 0 ? 'ADD MISSION' : 'CREATE MISSION' }} + {{ missionStore.currentPlanningWaypoints.length > 0 ? 'ADD SIMPLE PATH' : 'CREATE SIMPLE PATH' }} @@ -40,7 +98,7 @@ /> Lines angle (degrees) + +
N
E
S
W
Scan
Direction
+ {{ getCardinalDirection(rotationAngle || 0) }} +
Lines angle (degrees)