所以我有一个 Node 类,它包含一个 Vec2float* 的成员变量“center”。这样做的原因是因为我想使用drawSolidCircle函数,并且我需要一个Vec2float变量来表示中心。我的一个问题是, Vec2float 是一个向量,还是空间中的一个点?许多成员函数使它听起来像某种矢量类,但 set() 函数只接受两个参数,这使它看起来像空间中的一个点,为了画一个圆,你需要一个点和半径,而不是矢量。我遇到的另一个问题是,如果有人给了我 2 个双打,我该如何正确地将它们转换为 Vec2float 并设置中心的 x 和 y(如果它甚至有 x 和 y)。因此,例如在下面的函数中,我得到了一个条目数组和它的长度,'n'。一个条目有两个成员变量“x”和“y”,它们都是双精度数。我想创建一个节点数组并复制该数据以使用它来绘制圆圈。
cinder::Vec2<float>* center;//in my Node class
void function::build(Entry* c, int n) {
Node* nd = new Node[n];
for(int i = 0;i<n;i++) {
nd[i].center = //what goes here if c[i].x and c[i].y are doubles?
}
参考: Vec2 类:http ://libcinder.org/docs/v0.8.4/classcinder_1_1_vec2.html 绘制形状的函数列表,我使用 drawSolidCircle:http ://libcinder.org/docs/v0.8.4/namespacecinder_1_1gl.html
有什么建议么?