use super::cat_power::*;
use super::elev::*;
use super::heading::*;
use super::link_idx::*;
use super::speed::*;
use crate::imports::*;
#[serde_api]
#[derive(Debug, Default, Clone, Serialize, Deserialize, PartialEq)]
#[cfg_attr(feature = "pyo3", pyclass(module = "altrios", subclass, eq))]
pub struct LinkOld {
pub elevs: Vec<Elev>,
#[serde(default)]
pub headings: Vec<Heading>,
pub speed_sets: Vec<OldSpeedSet>,
#[serde(default)]
pub cat_power_limits: Vec<CatPowerLimit>,
pub length: si::Length,
pub idx_next: LinkIdx,
pub idx_next_alt: LinkIdx,
pub idx_prev: LinkIdx,
pub idx_prev_alt: LinkIdx,
pub idx_curr: LinkIdx,
pub idx_flip: LinkIdx,
pub osm_id: Option<String>,
#[serde(default)]
pub link_idxs_lockout: Vec<LinkIdx>,
}
#[pyo3_api]
impl LinkOld {}
impl Init for LinkOld {}
impl SerdeAPI for LinkOld {}