Metasequoia BBS

| 新規投稿 | 通常表示 | ツリー表示 |
状態
タグ
キーワード
[1963] 「辺」に属する頂点を導き出したい / GOKU
[SDK] 返信
お世話になっております。要望があります。

「面」に属する頂点は簡単に引っ張り出せるのですが、
「辺」に属する頂点を出したいのです。
これもインデックスで引っ張り出せるようになりませんか?
選択の確認は MQDocumentクラスの「IsSelectLine」で簡単にできるのですが。

やり方があるのに、私が理解していないだけかもしれません。
その場合は、やり方を教えていただきたいのです。

お願いします。
2010-12-09 20:41
[1964] Re: 「辺」に属する頂点を導き出したい / sss
MQSelectLineにobject\x2cface\x2clineの項目があるんだから
lineの両端にある頂点を自分でリストアップしていけばいいだけでしょ
2010-12-10 15:00
[1965] Re: 「辺」に属する頂点を導き出したい / GOKU
で、LineIndex と頂点との関連性はどこに?

それと文語体に対しては、口語体で答えないでください。非常に失礼だ。
2010-12-10 17:18
[1966] Re: Re: 「辺」に属する頂点を導き出したい / sss
人の文体注意する前にまずプログラマとして最低限のことをしたらどうですか?
とりあえずSDKのマニュアルは読みましたか?
一通り読んでいれば構造体見れば普通に一発でわかるものだと思いますよ。
それでもlineの意味がわからなければちょっとしたテストルーチン書くだけですぐ調べられますよね?
何故その程度の労力を割かないのですか?

説明をするとすれば、lineは面の中の頂点のインデックスを示すもので、
lineとline+1が両端の頂点にあたるものです。
以下が実際にvertexsに選択頂点をリストアップするルーチンです。

vector<MQSelectVertex> vertexs;
for(int i=0;i<doc->GetObjectCount();i++){
    MQObject obj=doc->GetObject(i);
    if(!obj)continue;
    for(int j=0;j<obj->GetFaceCount();j++){
        int point_count=obj->GetFacePointCount(j);
        int point[4];
        obj->GetFacePointArray(j\x2cpoint);
        for(int k=0;k<point_count;k++){
            if(doc->IsSelectLine(i\x2cj\x2ck)){

続きを表示...
2010-12-10 19:08
[1967] Re: 「辺」に属する頂点を導き出したい / GOKU
>lineは面の中の頂点のインデックスを示すもので、
>lineとline+1が両端の頂点にあたるものです。

そうでした。以前、疑問に自分で思い調べた覚えがあります。
一度も使わなかったので、完全に忘れてました。

あえてワザと口語で返しましたが、頭にきませんでしたか?

こちらの非礼に関しては、謝罪致します。
それと、返信ありがとうございました。

ミスなのかワザとなのか、分かりませんが、
上のルーチンは、ループの条件部分が抜けているので、
見た方は注意して下さい。
2010-12-13 17:23