Skip to content

Commit f16ef86

Browse files
authored
Merge pull request #1181 from Geode-solutions/fix/rasterize_triangle_at_epsilon_cell_size
fix(TriangleRasterization): Fixed cases of triangle rasterization whe…
2 parents 1cac6ab + 684b829 commit f16ef86

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/geode/mesh/helpers/rasterize.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,8 +318,15 @@ namespace
318318
};
319319
const auto triangle_edges = get_triangle_edges( triangle );
320320
const auto normal_in_grid = triangle_in_grid.normal();
321+
const auto triangle_edges_in_grid =
322+
get_triangle_edges( triangle_in_grid );
321323
if( !normal_in_grid
322324
|| absl::c_count_if( triangle_edges,
325+
[]( const auto& segment ) {
326+
return segment.length() <= geode::GLOBAL_EPSILON;
327+
} )
328+
> 0
329+
|| absl::c_count_if( triangle_edges_in_grid,
323330
[]( const geode::Segment3D& segment ) {
324331
return segment.length() <= geode::GLOBAL_EPSILON;
325332
} )
@@ -332,8 +339,6 @@ namespace
332339
}
333340
return cells;
334341
}
335-
const auto triangle_edges_in_grid =
336-
get_triangle_edges( triangle_in_grid );
337342
const auto critical_point =
338343
compute_critical_point( normal_in_grid.value() );
339344
const auto xy_params =

0 commit comments

Comments
 (0)