Generated on Sat Feb 7 2015 02:01:36 for Gecode by doxygen 1.8.9.1

Functions

void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, const BoolVarArgs &o, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 

Detailed Description

Constraints for modeling geometrical packing problems.

Function Documentation

void Gecode::nooverlap ( Home  home,
const IntVarArgs x,
const IntArgs w,
const IntVarArgs y,
const IntArgs h,
IntConLevel  icl = ICL_DEF 
)

Post propagator for rectangle packing.

Propagate that no two rectangles as described by the coordinates x, and y, widths w, and heights h overlap.

Throws the following exceptions:

Definition at line 55 of file no-overlap.cpp.

void Gecode::nooverlap ( Home  home,
const IntVarArgs x,
const IntArgs w,
const IntVarArgs y,
const IntArgs h,
const BoolVarArgs o,
IntConLevel  icl = ICL_DEF 
)

Post propagator for rectangle packing.

Propagate that no two rectangles as described by the coordinates x, and y, widths w, and heights h overlap. The rectangles can be optional, as described by the Boolean variables o.

Throws the following exceptions:

Definition at line 86 of file no-overlap.cpp.

void Gecode::nooverlap ( Home  home,
const IntVarArgs x0,
const IntVarArgs w,
const IntVarArgs x1,
const IntVarArgs y0,
const IntVarArgs h,
const IntVarArgs y1,
IntConLevel  icl = ICL_DEF 
)

Post propagator for rectangle packing.

Propagate that no two rectangles as described by the start coordinates x0 and y0, widths w and heights h, and end coordinates x1 and y1 overlap.

Note that the relations $x0_i+w_i=x1_i$ and $y0_i+h_i=y1_i$ are not propagated (for $0\leq i<|x0|$). That is, additional constraints must be posted to enforce that relation.

Throws the following exceptions:

Definition at line 131 of file no-overlap.cpp.

void Gecode::nooverlap ( Home  home,
const IntVarArgs x0,
const IntVarArgs w,
const IntVarArgs x1,
const IntVarArgs y0,
const IntVarArgs h,
const IntVarArgs y1,
const BoolVarArgs o,
IntConLevel  icl = ICL_DEF 
)

Post propagator for rectangle packing.

Propagate that no two rectangles as described by the start coordinates x0 and y0, widths w and heights h, and end coordinates x1 and y1 overlap. The rectangles can be optional, as described by the Boolean variables o.

Note that the relations $x0_i+w_i=x1_i$ and $y0_i+h_i=y1_i$ are not propagated (for $0\leq i<|x0|$). That is, additional constraints must be posted to enforce that relation.

Throws the following exceptions:

Definition at line 168 of file no-overlap.cpp.