|
@@ -169,7 +169,7 @@ void Welt3D::doMausEreignis(MausEreignis3D& me)
|
|
|
bool Welt3D::tick(double tickval)
|
|
|
{
|
|
|
cs.lock();
|
|
|
- forAll([this, &tickval](Model3D* m) { rend |= m->tick(tickval); });
|
|
|
+ tick([this, &tickval](Model3D* m) { rend |= m->tick(tickval); });
|
|
|
cs.unlock();
|
|
|
bool tmp = rend;
|
|
|
rend = 0;
|
|
@@ -207,6 +207,24 @@ void Framework::Welt3D::forAll(std::function<void(Model3D*)> f)
|
|
|
c->forAll(f);
|
|
|
}
|
|
|
|
|
|
+//! führt eine tick funktion auf jedem Model aus
|
|
|
+void Welt3D::tick(std::function<void(Model3D*)> f)
|
|
|
+{
|
|
|
+ for (auto m : *members)
|
|
|
+ f(m);
|
|
|
+ for (auto c : modelCollections)
|
|
|
+ c->tick(f);
|
|
|
+}
|
|
|
+
|
|
|
+//! führt eine render funktion auf jedem Model aus
|
|
|
+void Welt3D::render(std::function<void(Model3D*)> f)
|
|
|
+{
|
|
|
+ for (auto m : *members)
|
|
|
+ f(m);
|
|
|
+ for (auto c : modelCollections)
|
|
|
+ c->render(f);
|
|
|
+}
|
|
|
+
|
|
|
int Framework::Welt3D::getPointLightCount() const
|
|
|
{
|
|
|
return pointLightCount;
|