nariakiiwataniKinectとかのハードウェアからとってきた値を使うような処理をしていると、値の細かなブレが歓迎されない状況が多いので、ブレを吸収するためのテンプレートクラスを作ってみました。gist組み上げたアプリへの導入が簡単になるよう、=で代入して右辺値で取り出すっていうシンプルな使い方にしていますので、目的の値の宣言をLazy<>で囲むだけで導入できます。実際、すでに作った処理に対して組み込む作業を自分でもやってますが、かなり楽ちんです。floatならLazy<float>、oFでofPointならLazy<ofPoint>にすればOK。コンストラクタの第一引数か、もしくはsetSize関数でバッファの大きさを指定してやれば、それだけでブレ補正してくれるはずです。この値が大きいほど補正が強くなります。左辺値としては=演算子しか実装してないので、それ以外の使い方をしてるところがあればコンパイルエラーがでます。適切に処理してあげてください。T&)という関数がもともと定義してある場合、おそらく意味が変わっている上にコンパイル時にエラーとならないので、適切に処理してください。※Tは<>内で指定した型コンストラクタの意味が変わっているので、そこはチェックしてください。テンプレートなのでどんなクラスでも使えますが、=演算子、+演算子、/(float)演算子が(適切に)実装されていることが必要です。ちなみに、細かい設定はできませんがアニメーションにも使用できます。以下のコードは0から1までの値を10分割補間して出力します。※whlieの条件が環境によってはヤバそうですが、サンプルってことでご容赦を。20121224)アップデートによってGithubのバージョンとこの記事の内容とに差異があります。ofxGuiという、超便利なaddonがあります。この動画の画面左のやつです。してしか使えない(charとかucharとか使いたいことあるじゃん)利用する変数の型が気持ち悪い(intが使いたいだけなのにofxIntSliderを持っとかなきゃいけないなんて!)そのせいで利用時に処理が深い(ポインタ参照やら関数呼び出しが3回くらい?)アプリの規模がでかくなった時にまとめて管理しづらい(お手軽に使える故なんですが。)あたりがもうちょっと解消されればなあと思って作りました。→ofxParamEditを複数作れることに利点もあるのでまあ一長一短ってことで。アプリ側でシングルトンにする運用も可だと思います。あと、プログラムのコメントにも書いてますが、ofEventのremoveの動作が怪しい(たぶん)ので、ofxGuiの一部ソースをコメントアウトして利用してください。ofxSlider.cppとofxButton.cppとofxToggle.cppのofRegisterMouseEventsの行です。Request歓迎なんでプログラマの方よろしくお願いしまーす!これ、ofxGuiの本家に組み込んでもらいたいなー。グループ化の処理は置いといたとしても、Guiの機能を持ったクラスを利用側が保持しとく必要があるのはあんまり良くないと思うんだ。フォーラムのどこで提案すればいいんだろう。requestできるところまで作るには規模のでかい変更になるのでまずはお伺いをたてたいのだが。nariakiiwataniofxBox2dを使っていたプログラムでofxOpenCvを使用しようとしたらいきなり身に覚えがないところで見に覚えのないコンパイルエラーが発生してしばらくはまっていたのでメモ。コンパイル時に出るエラーログは下記で始まるやつでした。定義されていない識別子です。(旧形式の仮引数リスト?)で、問題(っぽい)xcomplexの441行目付近は下記。imag(_Left));}‘const’の前に’)'がないって言われてるってことは’norm(‘がおかしいんだろうなーと思ったんだけど、ちゃんと関数宣言してるからおかしいところないし・・・と思って次のエラーを見てみると‘dot’ってなんやねん。dot’的なやつを探してみると、ありました。differenceで、ここからはもう別に調べる必要ないんですけど一応。_Left))こんな風に展開されてて、コンパイラさんに「引数あるなら書いて欲しいんですけど’dot(‘とか知らんしwwwww’const’とか書く前に括弧閉じろしwwwwwww」って言われてたわけですね。!でも腹立たしい!で、とりあえずの解決策としてはofxBox2dPolygonUtils.hよりも前にxcomplexを#includeしてほしいのでofxOpenCv.hをofxBox2d.hの前に#includeしてやれば通るようになりました。<complex>はopencv2/core/core.hppにあります)とりあえずはこれでいいけど、根本的にはofxBox2dでこんなに一般的な名前を#defineしてるほうが腹立たしくてしょうがないんですけどね!!!せめて#undefしろ!(追記)ofxBox2dPolygonUtils.hの#defineあたりのコードはどうやらofPolyline.cppを元にしているようでした。