Generated on Tue Apr 18 10:22:49 2017 for Gecode by doxygen 1.6.3

Geometrical packing constraints
[Using integer variables and constraints]

Functions

void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
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, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.

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,
IntPropLevel  ipl = IPL_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:

void Gecode::nooverlap ( Home  home,
const IntVarArgs &  x,
const IntArgs &  w,
const IntVarArgs &  y,
const IntArgs &  h,
const BoolVarArgs &  o,
IntPropLevel  ipl = IPL_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:

void Gecode::nooverlap ( Home  home,
const IntVarArgs &  x0,
const IntVarArgs &  w,
const IntVarArgs &  x1,
const IntVarArgs &  y0,
const IntVarArgs &  h,
const IntVarArgs &  y1,
IntPropLevel  ipl = IPL_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:

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,
IntPropLevel  ipl = IPL_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: