# CartesianHeart Class Reference

[Example scripts (models)]

Example: Cartesian Heart More...

## Public Member Functions | |

CartesianHeart (const Options &opt) | |

Actual model. | |

CartesianHeart (CartesianHeart &p) | |

Constructor for cloning p. | |

virtual Space * | copy (void) |

Copy during cloning. | |

virtual void | constrain (const Space &_b) |

Add constraints to current model to get next solution (not too close). | |

virtual void | print (std::ostream &os) const |

Print solution coordinates. | |

## Protected Attributes | |

FloatVarArray | f |

The numbers. | |

FloatNum | step |

Minimum distance between two solutions. |

## Detailed Description

Example: Cartesian Heart

There are many mathematical curves that produce heart shapes. With a good solving effort, coordinates of a filled heart shape can be computed by solving the cartesian equation:

By setting and , it yields to the equation:

To get reasonable interval starting sizes, and are restricted to .

Definition at line 63 of file cartesian-heart.cpp.

## Constructor & Destructor Documentation

CartesianHeart::CartesianHeart | ( | const Options & | opt |
) | ` [inline]` |

Actual model.

Definition at line 71 of file cartesian-heart.cpp.

CartesianHeart::CartesianHeart | ( | CartesianHeart & | p |
) | ` [inline]` |

Constructor for cloning *p*.

Definition at line 81 of file cartesian-heart.cpp.

## Member Function Documentation

virtual Space* CartesianHeart::copy | ( | void | ) | ` [inline, virtual]` |

Copy during cloning.

Definition at line 86 of file cartesian-heart.cpp.

virtual void CartesianHeart::constrain | ( | const Space & | _b |
) | ` [inline, virtual]` |

Add constraints to current model to get next solution (not too close).

Definition at line 90 of file cartesian-heart.cpp.

virtual void CartesianHeart::print | ( | std::ostream & | os |
) | const` [inline, virtual]` |

Print solution coordinates.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 98 of file cartesian-heart.cpp.

## Member Data Documentation

FloatVarArray CartesianHeart::f` [protected]` |

The numbers.

Definition at line 66 of file cartesian-heart.cpp.

FloatNum CartesianHeart::step` [protected]` |

Minimum distance between two solutions.

Definition at line 68 of file cartesian-heart.cpp.

The documentation for this class was generated from the following file:

- examples/cartesian-heart.cpp