Skip to content

Commit

Permalink
performance seems back to normal
Browse files Browse the repository at this point in the history
  • Loading branch information
tph5595 committed Jan 29, 2025
1 parent 7d5aff1 commit 0ad9627
Showing 1 changed file with 35 additions and 21 deletions.
56 changes: 35 additions & 21 deletions src/persistencelandscape.rs
Original file line number Diff line number Diff line change
Expand Up @@ -273,13 +273,21 @@ fn log_to_landscape(
event: &Event,
landscapes: &mut [Vec<(f32,f32)>],
k: usize,
mountain2: Option<&PersistenceMountain>
) {
let position = mountain.position.expect("Mountain with event is dead");
if position < k {
// log_checks(mountain, &event, landscapes, k, position);
landscapes[position].push((event.value.x.0, event.value.y.0));
}

if let Some(m2) = mountain2{
let position = m2.position.expect("Mountain with event is dead");
if position < k {
// log_checks(m2, &event, landscapes, k, position);
landscapes[position].push((event.value.x.0, event.value.y.0));
}
}
}

fn find_intersection(
Expand Down Expand Up @@ -331,17 +339,19 @@ fn handle_up(state: &mut State, event: &Event){
let position = state.status.len() - 1;
state.mountains[event.parent_mountain_id].position = Some(position);

let parent_mountain_id = event.parent_mountain_id;
// Add to output if needed
log_to_landscape(
state.mountains[event.parent_mountain_id],
event,
&event,
&mut state.landscapes,
state.k,
None
);
// Check and handle all intersections
let new_event = find_intersection(
&state.status,
event.parent_mountain_id,
parent_mountain_id,
state.mountains,
&Direction::Above,
);
Expand All @@ -357,31 +367,32 @@ fn handle_intersection(state: &mut State, event: Event){
let parent_mountain2_id = event
.parent_mountain2_id
.expect("Intersection event with no second mountain");
let parent_mountain_id = event.parent_mountain_id;

// Add to ouput if needed
log_to_landscape(
state.mountains[event.parent_mountain_id],
&event,
&mut state.landscapes,
state.k,
Some(state.mountains[parent_mountain2_id])
);
log_to_landscape(
state.mountains[parent_mountain2_id],
&event,
&mut state.landscapes,
state.k
);
let (upper_id, lower_id) =
if state.mountains[event.parent_mountain_id].slope_rising {
// let upper_id =
(parent_mountain2_id,
// let lower_id =
event.parent_mountain_id)
// log_to_landscape(
// state.mountains[parent_mountain2_id],
// event,
// &mut state.landscapes,
// state.k
// );
let lower_id = if state.mountains[parent_mountain_id].slope_rising {
parent_mountain_id
} else{
parent_mountain2_id
// )
};
let upper_id = if state.mountains[parent_mountain_id].slope_rising {
parent_mountain2_id
} else{
// let upper_id =
(event.parent_mountain_id,
// let lower_id =
parent_mountain2_id)
parent_mountain_id
};
// Swap
state.status.swap(
Expand Down Expand Up @@ -428,9 +439,10 @@ fn handle_death(state: &mut State, event: &Event){
// Add to ouput if needed
log_to_landscape(
state.mountains[event.parent_mountain_id],
event,
&event,
&mut state.landscapes,
state.k,
None
);
// remove and disable
state.status.pop_back();
Expand All @@ -452,18 +464,20 @@ fn handle_death(state: &mut State, event: &Event){
fn handle_down(state: &mut State, event: &Event){
// Update status structures
state.mountains[event.parent_mountain_id].slope_rising = false;
let parent_mountain_id = event.parent_mountain_id;

// Add to ouput if needed
log_to_landscape(
state.mountains[event.parent_mountain_id],
event,
&event,
&mut state.landscapes,
state.k,
None
);
// Check for intersections
let new_event = find_intersection(
&state.status,
event.parent_mountain_id,
parent_mountain_id,
state.mountains,
&Direction::Below,
);
Expand Down

0 comments on commit 0ad9627

Please sign in to comment.