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からはプロジェクトのプロパティ->プリプロセッサ->前処理済みのファイル生成=>行番号なし、で確認できる。
2009年6月12日金曜日
vtkコンパイルエラー
新しく5.4.2が出たけれども相変わらずコンパイルエラーが出るのでメモ
tif_fax3sm.c: Cannot create output file.と出たら。
chmod +w ./VTK/Utilities/vtktiff/tif_fax3sm.c
http://www.vtk.org/Bug/view.php?id=7813
tif_fax3sm.c: Cannot create output file.と出たら。
chmod +w ./VTK/Utilities/vtktiff/tif_fax3sm.c
http://www.vtk.org/Bug/view.php?id=7813
2009年6月11日木曜日
マクロの設置場所 (pythonでOpenOffieをあやつる。)
pythonで作成したマクロは
$HOME./.openoffice.org/3/user/Scripts/の下にpythonを掘って入れよう。
$HOME./.openoffice.org/3/user/Scripts/の下にpythonを掘って入れよう。
pythonでOpenOffieをあやつる。
spreadsheetをCSVにしようとはじめたが嵌まった。なんぼやってもplane textで保存できなかった。
保存するときの引数を渡すときそれぞれがオブジェクトだということを忘れてました。
結局こう
saveProperty=[]
p=PropertyValue()
p.Name="FilterName"
p.Value="Text - txt - csv (StarCalc)"
saveProperty.append(p)
p=PropertyValue()
p.Name="FilterOptions"
p.Value="44,34,76,1"
saveProperty.append(p)
p=PropertyValue()
p.Name="SelectionOnly"
p.Value=True
saveProperty.append(p)
doc.storeToURL(unohelper.systemPathToFileUrl(fname), tuple(saveProperty))
ちなみにpythonでoooを操るときはそっけなくてあちこち行かなければならないAPIみるよりhttp://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.xhtmlのほうがましかも。
保存するときの引数を渡すときそれぞれがオブジェクトだということを忘れてました。
結局こう
saveProperty=[]
p=PropertyValue()
p.Name="FilterName"
p.Value="Text - txt - csv (StarCalc)"
saveProperty.append(p)
p=PropertyValue()
p.Name="FilterOptions"
p.Value="44,34,76,1"
saveProperty.append(p)
p=PropertyValue()
p.Name="SelectionOnly"
p.Value=True
saveProperty.append(p)
doc.storeToURL(unohelper.systemPathToFileUrl(fname), tuple(saveProperty))
ちなみにpythonでoooを操るときはそっけなくてあちこち行かなければならないAPIみるよりhttp://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.xhtmlのほうがましかも。
2009年6月8日月曜日
reportlabでバーコード
http://two.pairlist.net/pipermail/reportlab-users/2008-November/007685.html
を写経してPDFにバーコードに文字列付けてhumanReadableで出力しようとしたところ。
Traceback (most recent call last):
File "./barcode2.py", line 16, in
barcode.drawOn(pdf,50*mm,250*mm)
File "/usr/lib/python2.6/dist-packages/reportlab/platypus/flowables.py", line 105, in drawOn
self._drawOn(canvas)
File "/usr/lib/python2.6/dist-packages/reportlab/platypus/flowables.py", line 89, in _drawOn
self.draw()#this is the bit you overload
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 219, in draw
self.drawHumanReadable()
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 164, in drawHumanReadable
self.annotate(x+width/2.,-y,s,fontName,fontSize)
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 176, in annotate
getattr(canv,func)(text,x,y)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfgen/canvas.py", line 1287, in drawCentredString
width = self.stringWidth(text, self._fontname, self._fontsize)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfgen/canvas.py", line 1392, in stringWidth
(fontSize,self._fontsize)[fontSize is None])
File "/build/buildd/python-reportlab-2.3/src/rl_addons/rl_accel/_rl_accel.c", line 1104, in stringWidthU
File "/build/buildd/python-reportlab-2.3/src/rl_addons/rl_accel/_rl_accel.c", line 1147, in _instanceStringWidthU
AttributeError: decode
とエラー。
調べてみるとcommon.pyの line 176
175: else: func = 'drawString'
176: getattr(canv,func)(text,x,y)
177: canv.restoreState()
でcanvas.pyのline 1283のdrawCentredStringを呼んでいるけれど、定義はこう
1283: def drawCentredString(self, x, y, text):
ということで
176: getattr(canv,func)(x, y, text)
でしょう。
追記:patchを投げておきました。trunkは変わっています。
を写経してPDFにバーコードに文字列付けてhumanReadableで出力しようとしたところ。
Traceback (most recent call last):
File "./barcode2.py", line 16, in
barcode.drawOn(pdf,50*mm,250*mm)
File "/usr/lib/python2.6/dist-packages/reportlab/platypus/flowables.py", line 105, in drawOn
self._drawOn(canvas)
File "/usr/lib/python2.6/dist-packages/reportlab/platypus/flowables.py", line 89, in _drawOn
self.draw()#this is the bit you overload
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 219, in draw
self.drawHumanReadable()
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 164, in drawHumanReadable
self.annotate(x+width/2.,-y,s,fontName,fontSize)
File "/usr/lib/python2.6/dist-packages/reportlab/graphics/barcode/common.py", line 176, in annotate
getattr(canv,func)(text,x,y)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfgen/canvas.py", line 1287, in drawCentredString
width = self.stringWidth(text, self._fontname, self._fontsize)
File "/usr/lib/python2.6/dist-packages/reportlab/pdfgen/canvas.py", line 1392, in stringWidth
(fontSize,self._fontsize)[fontSize is None])
File "/build/buildd/python-reportlab-2.3/src/rl_addons/rl_accel/_rl_accel.c", line 1104, in stringWidthU
File "/build/buildd/python-reportlab-2.3/src/rl_addons/rl_accel/_rl_accel.c", line 1147, in _instanceStringWidthU
AttributeError: decode
とエラー。
調べてみるとcommon.pyの line 176
175: else: func = 'drawString'
176: getattr(canv,func)(text,x,y)
177: canv.restoreState()
でcanvas.pyのline 1283のdrawCentredStringを呼んでいるけれど、定義はこう
1283: def drawCentredString(self, x, y, text):
ということで
176: getattr(canv,func)(x, y, text)
でしょう。
追記:patchを投げておきました。trunkは変わっています。
2009年5月22日金曜日
printer parallel portで嵌まる。
「嵌まる。」またかよ。
ご老体のubuntuを9.04にアップグレードしたらPrinterがみつからなくなった。[システム]->[システム管理]->[印刷]でプリンターの設定ダイアログで新規プリンタを検索してもパラレルポートが見つからなかった。神様[google]に聞くと
http://ubuntuforums.org/archive/index.php/t-1135964.html
で発見。
sudo modprobe parport_pc
で解決
ご老体のubuntuを9.04にアップグレードしたらPrinterがみつからなくなった。[システム]->[システム管理]->[印刷]でプリンターの設定ダイアログで新規プリンタを検索してもパラレルポートが見つからなかった。神様[google]に聞くと
http://ubuntuforums.org/archive/index.php/t-1135964.html
で発見。
sudo modprobe parport_pc
で解決
2009年5月20日水曜日
wxWidgets文字列変換
wxString -> std::string
std::string str(wstring.mb_str(wxConvUTF));
std::string -> wxString
wxString wstr(str, wxConvUTF);
std::string str(wstring.mb_str(wxConvUTF));
std::string -> wxString
wxString wstr(str, wxConvUTF);
2009年5月19日火曜日
boostインストールで嵌まる。
「嵌まる。」多いな最近。
boost_1_39_0をUnixにinstallしようとコンパイルしたところ、localにprefixを設定したはずなのにインストールしてくれない。
結論、bootstrap.shのbug、252行の
251: if test "x$LIBDIR" = x; then
252: LIBDIR="$EXPREFIX/lib"
253: fi
て、
252: LIBDIR="$EPREFIX/lib"
でしょうが。
boost_1_39_0をUnixにinstallしようとコンパイルしたところ、localにprefixを設定したはずなのにインストールしてくれない。
結論、bootstrap.shのbug、252行の
251: if test "x$LIBDIR" = x; then
252: LIBDIR="$EXPREFIX/lib"
253: fi
て、
252: LIBDIR="$EPREFIX/lib"
でしょうが。
2009年5月16日土曜日
pythonでバーコード
登録:
投稿 (Atom)
