const TF::hit_set_t & BiFaTestData::get_factors_for( BiFaAlgorithm::ptr_t algorithm ) { factor_map_t::iterator f = factor_hits.find( algorithm ); if( factor_hits.end() == f ) { f = factor_hits.insert( factor_map_t::value_type( algorithm, TF::hit_set_ptr_t( new TF::hit_set_t ) ) ).first; model_hits_2_factor_hits( get_output_for( algorithm ).hits, *( f->second ) ); } return *( f->second ); }
void msh::GraphicsDisplayLayout::clip_to_output(geometry::Rectangle& rect) { auto output = get_output_for(rect); if (output.size.width > geom::Width{0} && output.size.height > geom::Height{0} && rect.size.width > geom::Width{0} && rect.size.height > geom::Height{0}) { auto tl_closed = rect.top_left; auto br_closed = rect.bottom_right() - geom::Displacement{1,1}; geom::Rectangles rectangles; rectangles.add(output); rectangles.confine(tl_closed); rectangles.confine(br_closed); rect.top_left = tl_closed; rect.size = as_size(br_closed - tl_closed + geom::Displacement{1, 1}); } else { rect.size = geom::Size{0,0}; } }
void msh::GraphicsDisplayLayout::size_to_output(geometry::Rectangle& rect) { auto output = get_output_for(rect); rect = output; }