...そして読んでくれてありがとう...
私はまだロープを学んでいるので、許してください... ;-)
空間で固体をメッシュする関数を書いています。メッシュは「Node」クラスのオブジェクトを使用して実行され、各ノードは次のように表されます。
int id
double p
double r
当初、私はマップが進むべき道だと思っていました。マップを使用すると、「id」キーと2番目のキー(ノードオブジェクトへのポインター)を関連付けることができます。
このようなもの:
int nodeId;
Node *node;
std::map<int, Node *> NodeMap;
次に、ノードを作成するときに、「new」演算子を呼び出します。たとえば、forループでは、次のようなことを行います。
node = new Node(i); // the node constructor sets the id to the value of i.
そして、新しいノードをマップに追加します。
NodeMap[i] = node;
しかし....私は、最初のキー(id)ではなく、pおよびrパラメーター(ノードの座標)によってマップをルックアップする必要があることに気付きました。
言い換えると、pとrの値を指定してノードIDを返すものが必要になります。整数の最初のキー(id)を使用してルックアップが行われる場合、マップは完全なコンテナーです。この特定の問題を解決する方法について誰かが提案を持っていますか?
どうもありがとう!AsvP。