Friday, November 19, 2010

Polyhedron_incremental_builder_3でのインプットエラー

Polyhedron_incremental_builder_3でのインプットに関して,エラーが出たのでメモ.
facetを指定するとき,すべて同じ方向でインデックスを用意する必要があるようです.
たとえば下の例では,7654をコメントにして,//でコメントされた4567でfacetを指定すると,3267と反対になるため,エラーがでます.

B.begin_facet();
B.add_vertex_to_facet(3);
B.add_vertex_to_facet(2);
B.add_vertex_to_facet(6);
B.add_vertex_to_facet(7);
B.end_facet();
B.begin_facet();
B.add_vertex_to_facet(7);
B.add_vertex_to_facet(6);
B.add_vertex_to_facet(5);
B.add_vertex_to_facet(4);
//B.add_vertex_to_facet(4);
//B.add_vertex_to_facet(5);
//B.add_vertex_to_facet(6);
//B.add_vertex_to_facet(7);
B.end_facet();


ちなみにエラーはpolyhedron_incremental_builder_3.hの440行目でm_errorがtrueになることで発生します.
同じ方向の面を検出するチェッカーがこの行の前に入っていて,m_errorがtrueになることで次からの入力を拒絶しています.

No comments: