Browse Source

param.Region: Support splitting without a provided constraint

Currently, constraint is not used anyways
master
Joachim Klein 8 years ago
committed by Dave Parker
parent
commit
4fe35ae937
  1. 8
      prism/src/param/BoxRegion.java
  2. 12
      prism/src/param/Region.java

8
prism/src/param/BoxRegion.java

@ -470,11 +470,17 @@ final class BoxRegion extends Region {
} }
return result; return result;
} }
@Override @Override
ArrayList<Region> split(Function constraint) ArrayList<Region> split(Function constraint)
{ {
// TODO could implement more clever splitting using constraints // TODO could implement more clever splitting using constraints
return split();
}
@Override
ArrayList<Region> split()
{
if (((BoxRegionFactory) factory).getSplitMethod() == SPLIT_LONGEST) { if (((BoxRegionFactory) factory).getSplitMethod() == SPLIT_LONGEST) {
return splitLongest(); return splitLongest();
} else if (((BoxRegionFactory) factory).getSplitMethod() == SPLIT_ALL) { } else if (((BoxRegionFactory) factory).getSplitMethod() == SPLIT_ALL) {

12
prism/src/param/Region.java

@ -97,13 +97,19 @@ abstract class Region {
/** /**
* Splits this region into several parts. * Splits this region into several parts.
* How this is done exactly depends on the implementation in derived * How this is done exactly depends on the implementation in derived
* classes.
* classes. Can take constraint into account.
* *
* @param constraint * @param constraint
* @return
*/ */
abstract ArrayList<Region> split(Function constraint); abstract ArrayList<Region> split(Function constraint);
/**
* Splits this region into several parts.
* How this is done exactly depends on the implementation in derived
* classes.
*/
abstract ArrayList<Region> split();
abstract ArrayList<Point> specialPoints(); abstract ArrayList<Point> specialPoints();
abstract Point randomPoint(); abstract Point randomPoint();

Loading…
Cancel
Save