Example #1
0
void Layer::draw() {
	Electron* electron;
	for (auto it = electrons.begin(); it != electrons.end(); it++) {
		electron = &(*it);
		drawOrbit(electron->getOrbitAngle());

		electron->draw();
	}
}
Example #2
0
void Layer::moveElectrons() {
	Electron* electron;
	Transform translationMatrix;
	Transform identityMatrix;

	identityMatrix.MakeIdentity(); //usado para nao alterar a matriz do eletron

	for (auto it = electrons.begin(); it != electrons.end(); it++) {
		electron = &(*it);
		translationMatrix = transformer.makeTranslation(identityMatrix, getPositionInOrbit(electron->getRotationAngle(), radius, electron->getOrbitAngle()));
		electron->move(translationMatrix);
	}
}