Skip to content

Commit 07d7644

Browse files
committed
Rename leftover corner to anchor corner
1 parent 9197a6f commit 07d7644

File tree

8 files changed

+20
-19
lines changed

8 files changed

+20
-19
lines changed

include/packingsolver/irregular/instance.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ struct Parameters
4545
LengthDbl item_item_minimum_spacing = 0.0;
4646

4747
/** Reference corner to compute the leftover value. */
48-
Corner leftover_corner = Corner::BottomLeft;
48+
Corner anchor_corner = Corner::BottomLeft;
4949

5050
/** Scale value. */
5151
LengthDbl scale_value = std::numeric_limits<LengthDbl>::infinity();

include/packingsolver/irregular/instance_builder.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class InstanceBuilder
4242
/** Set the aspect ratio for the open dimension xy objective. */
4343
void set_open_dimension_xy_aspect_ratio(LengthDbl open_dimension_xy_aspect_ratio) { instance_.parameters_.open_dimension_xy_aspect_ratio = open_dimension_xy_aspect_ratio; }
4444

45-
/** Set reference corner for leftover value. */
46-
void set_leftover_corner(Corner leftover_corner) { instance_.parameters_.leftover_corner = leftover_corner; }
45+
/** Set the anchor corner. */
46+
void set_anchor_corner(Corner anchor_corner) { instance_.parameters_.anchor_corner = anchor_corner; }
4747

4848
/*
4949
* Set bin types

src/irregular/branching_scheme.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ BranchingScheme::Direction default_direction(
7474
{
7575
const BinType& bin_type = instance.bin_type(bin_type_id);
7676
bool lengthwise = (bin_type.x_max - bin_type.x_min) >= (bin_type.y_max - bin_type.y_min);
77-
switch (instance.parameters().leftover_corner) {
77+
switch (instance.parameters().anchor_corner) {
7878
case Corner::BottomLeft: {
7979
return (lengthwise)?
8080
BranchingScheme::Direction::LeftToRightThenBottomToTop:
@@ -93,6 +93,7 @@ BranchingScheme::Direction default_direction(
9393
BranchingScheme::Direction::TopToBottomThenRightToLeft;
9494
}
9595
}
96+
return BranchingScheme::Direction::LeftToRightThenBottomToTop;
9697
}
9798

9899
}
@@ -1226,7 +1227,7 @@ BranchingScheme::Node BranchingScheme::child_tmp(
12261227
node.y_max = xy.y + mm.second.y;
12271228
}
12281229

1229-
switch (instance().parameters().leftover_corner) {
1230+
switch (instance().parameters().anchor_corner) {
12301231
case Corner::BottomLeft: {
12311232
node.leftover_value = (bin_type.x_max - bin_type.x_min) * (bin_type.y_max - bin_type.y_min)
12321233
- (node.x_max - bin_type.x_min) * (node.y_max - bin_type.y_min);
@@ -2135,14 +2136,14 @@ Solution BranchingScheme::to_solution(
21352136
solution.write("solution_irregular.json");
21362137
throw std::runtime_error(
21372138
FUNC_SIGNATURE + "; "
2138-
"node->xe_max: " + std::to_string(node->xe_max) + "; "
2139+
"node->xe_max: " + std::to_string(node->x_max) + "; "
21392140
"solution.x_max(): " + std::to_string(solution.x_max()) + "; "
21402141
"d: " + std::to_string((int)node->last_bin_direction) + ".");
21412142
}
21422143
if (!equal(node->y_min, solution.y_min())) {
21432144
throw std::runtime_error(
21442145
FUNC_SIGNATURE + "; "
2145-
"node->ye_max: " + std::to_string(node->ye_max) + "; "
2146+
"node->ye_max: " + std::to_string(node->y_max) + "; "
21462147
"solution.y_max(): " + std::to_string(solution.y_max()) + "; "
21472148
"d: " + std::to_string((int)node->last_bin_direction) + ".");
21482149
}

src/irregular/instance.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,8 @@ std::ostream& Instance::format(
338338
<< "Number of rectangular items: " << number_of_rectangular_items_ << std::endl
339339
<< "Number of circular items: " << number_of_circular_items_ << std::endl
340340
<< "Item-item minimum spacing: " << parameters().item_item_minimum_spacing << std::endl
341+
<< "Anchor corner: " << parameters().anchor_corner << std::endl
341342
<< "Open dim. XY aspect ratio: " << parameters().open_dimension_xy_aspect_ratio << std::endl
342-
<< "Leftover corner: " << parameters().leftover_corner << std::endl
343343
<< "Total item area: " << item_area() << std::endl
344344
<< "Smallest item area: " << smallest_item_area() << std::endl
345345
<< "Largest item area: " << largest_item_area() << std::endl
@@ -700,7 +700,7 @@ void Instance::write(
700700
// Export parameters.
701701
json["parameters"]["item_item_minimum_spacing"] = parameters().item_item_minimum_spacing;
702702
json["parameters"]["open_dimension_xy_aspect_ratio"] = parameters().open_dimension_xy_aspect_ratio;
703-
json["parameters"]["leftover_corner"] = parameters().leftover_corner;
703+
json["parameters"]["anchor_corner"] = parameters().anchor_corner;
704704

705705
file << std::setw(4) << json << std::endl;
706706
}

src/irregular/instance_builder.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,12 +293,12 @@ void InstanceBuilder::read(
293293
auto json_parameters = j["parameters"];
294294
if (json_parameters.contains("item_item_minimum_spacing"))
295295
set_item_item_minimum_spacing(json_parameters["item_item_minimum_spacing"]);
296-
if (json_parameters.contains("leftover_corner")) {
297-
std::stringstream leftover_corner_ss;
298-
leftover_corner_ss << std::string(json_parameters["leftover_corner"]);
299-
Corner leftover_corner;
300-
leftover_corner_ss >> leftover_corner;
301-
set_leftover_corner(leftover_corner);
296+
if (json_parameters.contains("anchor_corner")) {
297+
std::stringstream anchor_corner_ss;
298+
anchor_corner_ss << std::string(json_parameters["anchor_corner"]);
299+
Corner anchor_corner;
300+
anchor_corner_ss >> anchor_corner;
301+
set_anchor_corner(anchor_corner);
302302
}
303303
}
304304

src/irregular/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ int main(int argc, char *argv[])
111111
instance_builder.set_objective(vm["objective"].as<Objective>());
112112
if (vm.count("item-item-minimum-spacing"))
113113
instance_builder.set_item_item_minimum_spacing(vm["item-item-minimum-spacing"].as<LengthDbl>());
114-
if (vm.count("leftover-corner"))
115-
instance_builder.set_leftover_corner(vm["leftover-corner"].as<Corner>());
114+
if (vm.count("anchor-corner"))
115+
instance_builder.set_anchor_corner(vm["leftover-corner"].as<Corner>());
116116
if (vm.count("unweighted"))
117117
instance_builder.set_item_types_unweighted();
118118
if (vm.count("bin-unweighted"))

src/irregular/optimize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ void optimize_tree_search(
165165
};
166166
} else if (instance.number_of_bin_types() == 1) {
167167
if (instance.objective() == Objective::BinPackingWithLeftovers) {
168-
switch (instance.parameters().leftover_corner) {
168+
switch (instance.parameters().anchor_corner) {
169169
case Corner::BottomLeft: {
170170
directions = {
171171
BranchingScheme::Direction::LeftToRightThenBottomToTop,

src/irregular/solution.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void Solution::add_item(
104104
y_min_ = std::min(y_min_, bl_corner.y + mm.first.y);
105105
x_max_ = std::max(x_max_, bl_corner.x + mm.second.x);
106106
y_max_ = std::max(y_max_, bl_corner.y + mm.second.y);
107-
switch (instance().parameters().leftover_corner) {
107+
switch (instance().parameters().anchor_corner) {
108108
case Corner::BottomLeft: {
109109
leftover_value_ = (bin_type.x_max - bin_type.x_min) * (bin_type.y_max - bin_type.y_min)
110110
- (x_max_ - bin_type.x_min) * (y_max_ - bin_type.y_min);

0 commit comments

Comments
 (0)