したがって、Vec2float* であるメンバー変数「center」を含む Node クラスがあります。この理由は、drawSolidCircle 関数を使用したいためで、中心を表すために Vec2float 変数が必要です。私が持っている質問の 1 つは、Vec2float はベクトルですか、それとも空間内のポイントですか? 多くのメンバー関数はある種のベクトル クラスのように聞こえますが、set() 関数は 2 つの引数しかとらないため、空間内の点のように見えます。円を描くには、点が必要です。ベクトルではなく、半径です。また、私が抱えている別の問題は、誰かが私に 2 つの double を与えた場合、どうすればそれらを Vec2float に適切に変換し、中心の x と y を設定できるかということです (x と y がある場合)。たとえば、以下の関数では、エントリの配列とその長さ 'n' が与えられます。エントリには、両方とも double である 2 つのメンバ変数 '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 形状を描画する関数のリスト、im drawSolidCircle を使用: http://libcinder.org/docs/v0.8.4/namespacecinder_1_1gl.html
助言がありますか?