【发布时间】:2014-05-01 17:19:59
【问题描述】:
我正在尝试编写一段代码,该代码获取一个对象并将其推送到向量的背面,但对象没有被正确推送。
我正在编写一个 OpenGL 应用程序,我想在其中画很多线。为了存储这些行,我首先在C2DPointSet 中创建每一行,当我停止绘制时,我想将当前行推入我的行向量中。通过调试代码,我看到推线后向量的长度为0,向量中的同一行有0个点(应该不是这样)。代码如下:
vector <C2DPointSet> lines; //global variables
C2DPointSet line;
//function that runs if a button is pressed and i click in my glwindow
void lineButtonFunction(int x,int y){
C2DPoint currentPoint;
currentPoint=workspacePoint(x,y);//returns point;s cordinates acording to cursorx,y-it works
line.AddCopy(currentPoint);//adds a copy of the given point to obj line
}
//code that runs when i am done drawing
if(buttons[i].getButtonText()=='L'){
lines.push_back(line);
line.DeleteAll();//empties the obj
}
我不知道问题是什么。使用不同的对象,代码将运行。我不确定,但我认为问题源于推送C2DPointSet,因为它存储了我喜欢的点数。另外,我观察到,无论我在行中存储多少点,我的大小都是 12。
C2DPoints 和 C2DPointSet 来自 geolib;信息可以在here找到。
【问题讨论】: