Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

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

◆ nooverlap() [1/4]

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:

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

◆ nooverlap() [2/4]

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:

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

◆ nooverlap() [3/4]

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:

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

◆ nooverlap() [4/4]

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:

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