comparison engine/core/model/structures/map.cpp @ 549:c9113e23b004

*Removed the ExactModellCoordinate object from the camera constructor. Attention: Little API change to the camera/map.
author helios2000@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 11 Jun 2010 21:29:58 +0000
parents 9d94f4676d17
children 2032ec27b851
comparison
equal deleted inserted replaced
548:f45e3e2995e0 549:c9113e23b004
168 } 168 }
169 ++i; 169 ++i;
170 } 170 }
171 } 171 }
172 172
173 Camera* Map::addCamera(const std::string &id, Layer *layer, 173 Camera* Map::addCamera(const std::string &id, Layer *layer, const Rect& viewport) {
174 const Rect& viewport, const ExactModelCoordinate& emc) {
175 if (layer == NULL) { 174 if (layer == NULL) {
176 throw NotSupported("Must have valid layer for camera"); 175 throw NotSupported("Must have valid layer for camera");
177 } 176 }
178 177
179 if (getCamera(id)) { 178 if (getCamera(id)) {
180 std::string errorStr = "Camera: " + id + " already exists"; 179 std::string errorStr = "Camera: " + id + " already exists";
181 throw NameClash(errorStr); 180 throw NameClash(errorStr);
182 } 181 }
183 182
184 // create new camera and add to list of cameras 183 // create new camera and add to list of cameras
185 Camera* camera = new Camera(id, layer, viewport, emc, m_renderbackend, m_imagepool, m_animpool); 184 Camera* camera = new Camera(id, layer, viewport, m_renderbackend, m_imagepool, m_animpool);
186 m_cameras.push_back(camera); 185 m_cameras.push_back(camera);
187 186
188 std::vector<RendererBase*>::iterator iter = m_renderers.begin(); 187 std::vector<RendererBase*>::iterator iter = m_renderers.begin();
189 for ( ; iter != m_renderers.end(); ++iter) { 188 for ( ; iter != m_renderers.end(); ++iter) {
190 camera->addRenderer((*iter)->clone()); 189 camera->addRenderer((*iter)->clone());