Esempio n. 1
0
list<tiPoint > ClsTopologyRect::getPointsForSubPopulation(ClsBaseSubPopulation *clsBaseSubPopulation){
    list<tiPoint > lstPointsReturn;

	int iWidth = pclsWidth->getValue();
	int iHeight = pclsHeight->getValue();

    if(dynamic_cast<ClsAll*>(clsBaseSubPopulation)){
	lstPointsReturn = getAllPoints(iWidth, iHeight);
    }
    else if(dynamic_cast<ClsList*>(clsBaseSubPopulation)){
	list<tiPoint > lstPairsSubPopulation = (dynamic_cast<ClsList*>(clsBaseSubPopulation))->getData();
	list<tiPoint > lstPoints;
	lstPoints = getAllPoints(iWidth, iHeight);
	lstPointsReturn = AndLists(lstPoints, lstPairsSubPopulation);
    }
    else if(dynamic_cast<ClsRegion*>(clsBaseSubPopulation)){
	ClsRegion* clsRegion = dynamic_cast<ClsRegion*>(clsBaseSubPopulation);
	int iRegionXStart = clsRegion->getXStart();
	int iRegionYStart = clsRegion->getYStart();
	int iRegionWidth = clsRegion->getWidth();
	int iRegionHeight = clsRegion->getHeight();
	lstPointsReturn = getPoints4Rect( iRegionXStart, iRegionYStart, iRegionWidth, iRegionHeight);
    }

    return lstPointsReturn;

}
Esempio n. 2
0
std::vector<Point> WorldGenerator::getFreeSpaces(World* world)
{
    std::vector<Point> v = getAllPoints(world);
    for(const auto& t : getTakenSpaces(world))
        v.erase(std::remove(v.begin(), v.end(), t), v.end());
    return v;
}
Esempio n. 3
0
Curve Curve::mirror(int x) {
	vector<Point> points = getAllPoints();
	vector<Point> newpoints;

	for (int i=0;i<points.size();i++) {
		Point P = points[i].mirror(x);
		newpoints.push_back(P);
	}

	return Curve(newpoints);
}
Esempio n. 4
0
void Curve::draw(Screen screen, Color C) {
	vector<Point> points = getAllPoints();
	Point temp;
	Line L;
	for (int i=0;i<points.size();i++) {
		Point P(points[i].getAbsis(),points[i].getOrdinat());
		if (i>0) {
      		L.setLine(temp, P);
      		L.draw(screen, C);
    	}
    	temp = P;
	}
}