/** * Function used to draw all objects in a vector of object pointers that are related to renderobjects * @param _objects is a vector of Object pointers that contains a list of all objects to draw * @param _renderobjects is a vector of RenderObject that contain the direction of how to draw each object */ void RenderEngine::drawobjects(vector<Object*>* _objects, vector<RenderObject> _renderobjects) { vector<RenderObject>::iterator renderobjectsiter; vector<RenderObject>::iterator renderobjectsend; list<Point>::iterator piter; int objectID; Point3D point1; Point3D point2; Pose position; for(int i = 0;i < _objects->size(); i++) { objectID = (*_objects)[i]->getObjectID(); position = (*_objects)[i]->getPose(); renderobjectsiter = _renderobjects.begin(); renderobjectsend = _renderobjects.end(); while(renderobjectsiter != renderobjectsend) { if(renderobjectsiter->getObjectID() == objectID) { piter = renderobjectsiter->getPointsBegin(); while(piter != renderobjectsiter->getPointsEnd()) { point1.setXYZ(piter->getX() + position.getX(), piter->getY() - position.getY(), piter->getZ() - position.getZ()); piter++; point2.setXYZ(piter->getX() + position.getX(), piter->getY() - position.getY(), piter->getZ() - position.getZ()); window->DrawLineInSpace(point1,point2); piter++; } } renderobjectsiter++; window->DrawLineOnScreen(Point2D(-1,0),Point2D(1,0)); window->DrawLineOnScreen(Point2D(-.001,0),Point2D(.001,0)); window->DrawLineOnScreen(Point2D(0.00,-.001),Point2D(0.00,.001)); } } }