vtkImagePlaneWidgetsでvtkCellPickerで取得した値がwindowの下に隠れて見えない。
しかたがないのでソースを読むが分からんかった。
対症療法だが、GenerateText()メソッドの中の
coord->SetValue(.01, .01);
を
coord->SetValue(0.01, 0.05);
に変えて見えるようになった。
と思ったら、別のパネルに貼り付ける奴では普通に見えた???
このクラスの問題ではないか???
2009年7月29日水曜日
2009年7月14日火曜日
BOOST_PP_SEQ_ELEM_III error
これもしばらく苦しんだのでメモ
"BOOST_PP_SEQ_ELEM_III" requires 2 arguments, but only 1 given とでたら、
BOOST_PP_SEQ_ELEMを遅延評価に。
BOOST Archives参照
"BOOST_PP_SEQ_ELEM_III" requires 2 arguments, but only 1 given とでたら、
BOOST_PP_SEQ_ELEMを遅延評価に。
BOOST Archives参照
2009年7月13日月曜日
2009年7月11日土曜日
boost::preprocessor nested seq
しばらく苦しんだのでメモ。
boost::preprocessorで入れ子のコンテナ例えばシーケンスのシーケンスを処理するとき同じマクロを2度使えない。
#define SEQ ((Red)(Blue))((Blue)(Red))((Black)(White))((While)(Black))
を処理しようとすると、
○
#define INNER_MACRO(r, data, i, elem) BOOST_PP_CAT(elem, data)
#define OUTER_SEQ(r, data, elem) \
BOOST_PP_SEQ_FOR_EACH_I(INNER_MACRO, _, elem)
BOOST_PP_SEQ_FOR_EACH(OUTER_SEQ, _, SEQ)
×
#define INNER_MACRO(r, data, elem) BOOST_PP_CAT(elem, data)
#define OUTER_SEQ(r, data, elem) \
BOOST_PP_SEQ_FOR_EACH(INNER_MACRO, _, elem)
BOOST_PP_SEQ_FOR_EACH(OUTER_SEQ, _, SEQ)
VC++で確認するには
cl /EP/ /I c:\Boost\include\boost-1_39 .\test.h
おまじない
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
も忘れないように。
追記:IDEからはプロジェクトのプロパティ->プリプロセッサ->前処理済みのファイル生成=>行番号なし、で確認できる。
boost::preprocessorで入れ子のコンテナ例えばシーケンスのシーケンスを処理するとき同じマクロを2度使えない。
#define SEQ ((Red)(Blue))((Blue)(Red))((Black)(White))((While)(Black))
を処理しようとすると、
○
#define INNER_MACRO(r, data, i, elem) BOOST_PP_CAT(elem, data)
#define OUTER_SEQ(r, data, elem) \
BOOST_PP_SEQ_FOR_EACH_I(INNER_MACRO, _, elem)
BOOST_PP_SEQ_FOR_EACH(OUTER_SEQ, _, SEQ)
×
#define INNER_MACRO(r, data, elem) BOOST_PP_CAT(elem, data)
#define OUTER_SEQ(r, data, elem) \
BOOST_PP_SEQ_FOR_EACH(INNER_MACRO, _, elem)
BOOST_PP_SEQ_FOR_EACH(OUTER_SEQ, _, SEQ)
VC++で確認するには
cl /EP/ /I c:\Boost\include\boost-1_39 .\test.h
おまじない
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
も忘れないように。
追記:IDEからはプロジェクトのプロパティ->プリプロセッサ->前処理済みのファイル生成=>行番号なし、で確認できる。
登録:
投稿 (Atom)