00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "ModelList.h"
00010
00011 #include "View.h"
00012 #include "Landslip.h"
00013
00014
00015
00016
00017
00018
00019 ModelList::ModelList(const Cube::t_models *models)
00020 {
00021 m_models = models;
00022 }
00023
00024 void
00025 ModelList::drawOn(View *view) const
00026 {
00027 Cube::t_models::const_iterator end = m_models->end();
00028 for (Cube::t_models::const_iterator i = m_models->begin(); i != end; ++i) {
00029 view->drawModel(*i);
00030 }
00031 }
00032
00033
00034
00035
00036
00037 bool
00038 ModelList::stoneOn(Landslip *slip) const
00039 {
00040 bool change = false;
00041 Cube::t_models::const_iterator end = m_models->end();
00042 for (Cube::t_models::const_iterator i = m_models->begin(); i != end; ++i) {
00043 if (slip->stoneModel(*i)) {
00044 change = true;
00045 }
00046 }
00047 return change;
00048 }
00049
00050
00051
00052
00053
00054 bool
00055 ModelList::fallOn(Landslip *slip) const
00056 {
00057 bool falling = false;
00058 Cube::t_models::const_iterator end = m_models->end();
00059 for (Cube::t_models::const_iterator i = m_models->begin(); i != end; ++i) {
00060 falling |= slip->fallModel(*i);
00061 }
00062 return falling;
00063 }
00064