rust/hwphysics/src/lib.rs
changeset 15828 44b49f255e31
parent 15780 f4b563a9ac5e
child 15829 d5e6c8c92d87
equal deleted inserted replaced
15827:64b0a5cead86 15828:44b49f255e31
     2 pub mod common;
     2 pub mod common;
     3 mod data;
     3 mod data;
     4 mod grid;
     4 mod grid;
     5 pub mod physics;
     5 pub mod physics;
     6 
     6 
     7 use integral_geometry::Size;
     7 use integral_geometry::PotSize;
     8 use land2d::Land2D;
     8 use land2d::Land2D;
     9 
     9 
    10 use crate::{
    10 use crate::{
    11     collision::CollisionProcessor,
    11     collision::CollisionProcessor,
    12     common::{GearAllocator, GearId, Millis},
    12     common::{GearAllocator, GearId, Millis},
    20     physics: PhysicsProcessor,
    20     physics: PhysicsProcessor,
    21     collision: CollisionProcessor,
    21     collision: CollisionProcessor,
    22 }
    22 }
    23 
    23 
    24 impl World {
    24 impl World {
    25     pub fn new(world_size: Size) -> Self {
    25     pub fn new(world_size: PotSize) -> Self {
    26         let mut data = GearDataManager::new();
    26         let mut data = GearDataManager::new();
    27         PhysicsProcessor::register_components(&mut data);
    27         PhysicsProcessor::register_components(&mut data);
    28         CollisionProcessor::register_components(&mut data);
    28         CollisionProcessor::register_components(&mut data);
    29 
    29 
    30         Self {
    30         Self {
    70         common::Millis,
    70         common::Millis,
    71         physics::{PositionData, VelocityData},
    71         physics::{PositionData, VelocityData},
    72         World,
    72         World,
    73     };
    73     };
    74     use fpnum::{fp, FPNum, FPPoint};
    74     use fpnum::{fp, FPNum, FPPoint};
    75     use integral_geometry::Size;
    75     use integral_geometry::PotSize;
    76     use land2d::Land2D;
    76     use land2d::Land2D;
    77 
    77 
    78     #[test]
    78     #[test]
    79     fn data_flow() {
    79     fn data_flow() {
    80         let world_size = Size::new(2048, 2048);
    80         let world_size = PotSize::new(2048, 2048).unwrap;
    81 
    81 
    82         let mut world = World::new(world_size);
    82         let mut world = World::new(world_size);
    83         let gear_id = world.new_gear().unwrap();
    83         let gear_id = world.new_gear().unwrap();
    84 
    84 
    85         world.add_gear_data(gear_id, &PositionData(FPPoint::zero()));
    85         world.add_gear_data(gear_id, &PositionData(FPPoint::zero()));