diff options
Diffstat (limited to 'rust_backend/src/pathfinding')
| -rw-r--r-- | rust_backend/src/pathfinding/graph.rs | 7 | ||||
| -rw-r--r-- | rust_backend/src/pathfinding/mod.rs | 15 | ||||
| -rw-r--r-- | rust_backend/src/pathfinding/models.rs | 86 | ||||
| -rw-r--r-- | rust_backend/src/pathfinding/parser.rs | 46 |
4 files changed, 0 insertions, 154 deletions
diff --git a/rust_backend/src/pathfinding/graph.rs b/rust_backend/src/pathfinding/graph.rs deleted file mode 100644 index 0352007..0000000 --- a/rust_backend/src/pathfinding/graph.rs +++ /dev/null @@ -1,7 +0,0 @@ -use crate::pathfinding::models::{MapNode, Graph}; - -use std::collections::HashMap; - -pub fn generate_graph(stations: &Vec<MapNode>) -> Graph { - HashMap::new() -}
\ No newline at end of file diff --git a/rust_backend/src/pathfinding/mod.rs b/rust_backend/src/pathfinding/mod.rs deleted file mode 100644 index 32c2831..0000000 --- a/rust_backend/src/pathfinding/mod.rs +++ /dev/null @@ -1,15 +0,0 @@ -mod models; -mod parser; -mod graph; -pub use models::{Location, Graph}; - - -use crate::pathfinding::parser::parse_stations; -use crate::pathfinding::graph::generate_graph; - -pub fn build() { - let stations = parse_stations().unwrap(); - let gates_connnections = parse_gate_connections().unwrap() - let graph = generate_graph(&stations, &gates_connnections); - -} diff --git a/rust_backend/src/pathfinding/models.rs b/rust_backend/src/pathfinding/models.rs deleted file mode 100644 index 4bbc580..0000000 --- a/rust_backend/src/pathfinding/models.rs +++ /dev/null @@ -1,86 +0,0 @@ -use serde::{Deserialize, Deserializer, Serialize}; -use std::str::FromStr; -use std::collections::HashMap; - - -#[derive(Deserialize, Serialize, Clone)] -pub struct Location { - pub solar_system_id: i32, - pub station_id: Option<i32>, - pub structure_id: Option<i32>, -} - -#[derive(Deserialize, Serialize, Clone, Debug)] -pub struct RawNode { - pub itemID: u64, - pub typeID: u64, - pub groupID: u64, - #[serde(deserialize_with = "deserialize_optional_u64")] - pub solarSystemID: Option<u64>, - #[serde(deserialize_with = "deserialize_optional_u64")] - pub constellationID: Option<u64>, - #[serde(deserialize_with = "deserialize_optional_u64")] - pub regionID: Option<u64>, - #[serde(deserialize_with = "deserialize_optional_u64")] - pub orbitID: Option<u64>, - pub x: Option<f64>, - pub y: Option<f64>, - pub z: Option<f64>, - #[serde(deserialize_with = "deserialize_optional_f64")] - pub radius: Option<f64>, - pub itemName: Option<String>, - #[serde(deserialize_with = "deserialize_optional_f64")] - pub security: Option<f64>, -} - - -fn deserialize_optional_u64<'de, D>(deserializer: D) -> Result<Option<u64>, D::Error> -where - D: Deserializer<'de>, -{ - let s: Option<String> = Option::deserialize(deserializer)?; - match s.as_deref() { - Some("None") | Some("") => Ok(None), // Handle "None" and empty strings - Some(str_val) => u64::from_str(str_val) - .map(Some) - .map_err(serde::de::Error::custom), - None => Ok(None), - } -} - -fn deserialize_optional_f64<'de, D>(deserializer: D) -> Result<Option<f64>, D::Error> -where - D: Deserializer<'de>, -{ - let s: Option<String> = Option::deserialize(deserializer)?; - match s.as_deref() { - Some("None") | Some("") => Ok(None), // Handle "None" and empty strings - Some(str_val) => str_val.parse::<f64>() - .map(Some) - .map_err(serde::de::Error::custom), - None => Ok(None), - } -} - -#[derive(Debug)] -pub struct MapNode { - pub item_id: u64, - pub is_station: bool, - pub solar_system_id: u64, - pub region_id: u64, - pub x: f64, - pub y: f64, - pub z: f64, - pub name: String, - pub security: f64, -} - -#[derive(Deserialize, Serialize, Clone, Debug)] -pub struct Connection { - stargate_id: u64, - destination_id: u64, -} - - - -pub type Graph = HashMap<u64, Vec<u64>>;
\ No newline at end of file diff --git a/rust_backend/src/pathfinding/parser.rs b/rust_backend/src/pathfinding/parser.rs deleted file mode 100644 index 955a448..0000000 --- a/rust_backend/src/pathfinding/parser.rs +++ /dev/null @@ -1,46 +0,0 @@ -use std::error::Error; -use std::fs::File; -use csv; - -use crate::pathfinding::models::{RawNode, MapNode}; - -pub fn parse_stations() -> Result<Vec<MapNode>, Box<dyn Error>> { - let file_path = "../mapDenormalize.csv"; - let file = File::open(file_path)?; - - let mut rdr = csv::Reader::from_reader(file); - - let mut raw_nodes: Vec<RawNode> = Vec::new(); - for result in rdr.deserialize() { - match result { - Ok(node) => raw_nodes.push(node), - Err(e) => println!("Error deserializing record: {}", e), - } - } - - println!("raw nodes: {:?}", raw_nodes.len()); - - let processed_nodes: Vec<MapNode> = raw_nodes.into_iter() - .filter(|node| [15, 10].contains(&node.groupID)) - .map(|node| MapNode { - item_id: node.itemID, - is_station: node.groupID == 15, - solar_system_id: node.solarSystemID.unwrap_or_default(), - region_id: node.regionID.unwrap_or_default(), - x: node.x.unwrap_or_default(), - y: node.y.unwrap_or_default(), - z: node.z.unwrap_or_default(), - name: node.itemName.unwrap_or_default(), - security: node.security.unwrap_or_default(), - }) - .collect(); - - println!("processed nodes: {:?}", processed_nodes.len()); - - - Ok(processed_nodes) -} - -pub fn parse_gate_connections() -> Result<Vec<u64, u64>, Box<dyn Error>> { - unimplemented!(); -}
\ No newline at end of file |
