2011-m2s3-city-builder/segment.cpp
Yoann 5092f6271d Ajout d'une fonction permettant de dessiner un objet à huit sommets
addOcto(...) fonctionne de la même manière que addTriangle et addQuad
(précédement ajoutée).

Dessin d'un pavé à la place de la maison, jardin etc lorsqu'il n'y a pas
de split().
2011-12-21 11:18:06 +01:00

26 lines
517 B
C++

#include "all_includes.hh"
Segment::Segment(Vertex u, Vertex v): u(u), v(v) {}
float Segment::length() {
return (u-v).norm();
}
Segment Segment::reduce(float value) {
float reduc = (float)length()/(float)value;
return Segment(u,u+((v - u) / reduc));
}
int Segment::width() {
return std::abs(u.x - v.x);
}
int Segment::height() {
return std::abs(u.y - v.y);
}
Vertex Segment::randomPos(int seed, int n, int a, int b) {
int pos = hashInRange(seed, n, a, b);
return (u * pos + v * (100-pos)) / 100;
}