約 3,717,559 件
https://w.atwiki.jp/hwiki/pages/24.html
CMakeとは 使い方基本 環境変数を使う サンプル CMakeとは 設定ファイルに従ってMakefileを生成してくれるツール. その他にもCodeBlocksとかVisualStudioとかEclipseのプロジェクトファイルの生成もできる. 便利ですねー. 使い方 基本 基本的にはCMakeLists.txtというファイルに1行ごとに設定を書いて, cmakeコマンドを実行するとMakefileが生成される. cmake . よく使う設定コマンドは以下のようなものがある. cmake_minimum_required(VERSION 2.6) 要求するCMakeのバージョン(これ以前のバージョンのCMakeではMakefileの生成ができない) project([プロジェクト名]) プロジェクト名 include_directories([パス1] [パス2] ... [パスn]) インクルードパスの追加 link_directories([パス1] [パス2] ... [パスn]) ライブラリパスの追加 add_executable([実行ファイル名] [ソース1] [ソース2] ... [ソースn]) ソースファイル群とそれらから生成される実行ファイル add_definitions(-D[マクロ1] -D[マクロ2] ...) マクロ設定 target_link_libraries([実行ファイル名] [ライブラリ1] [ライブラリ2] ... [ライブラリn]) 実行ファイルにリンクするライブラリ(lib接頭語を除いた名前) set([CMake環境変数] [値]) CMake環境変数に値をセット cmakeコマンドを実行する時に-D[CMake環境変数]=[値]としてもCMake環境変数を設定可能. 定義済みのCMake環境変数は以下のようなものがある. CMake環境変数の値を変更することでもCMakeの動作を変更できる. CMAKE_BUILD_TYPE ビルドの形式(DebugとかReleaseとか) CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG Debug時にC/C++ソースに適用されるコンパイルオプション CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE Release時にC/C++ソースに適用されるコンパイルオプション CMAKE_INSTALL_PREFIX インストール先ディレクトリ指定 環境変数を使う 環境変数を参照する場合は$ENV{}を使う. $ENV{[環境変数]} 例えばPATHを参照したかったら $ENV{PATH} サンプル 例えばこんなCMakeLists.txtを作って, ソースが格納されているディレクトリに入れとく. 趣味で使う程度なら以下のコマンドを設定しとけばおk. ただ, これだとReleaseビルドとDebugビルドでいちいちCMAKE_BUILD_TYPEを変更してcmakeコマンドでMakefileを再構成する必要があって面倒. もっと, いい方法ないかな. -Dオプションで指定してもいいけど・・・さ cmake_minimum_required(VERSION 2.6) # build type set(CMAKE_BUILD_TYPE Release) # compile option (Debug) set(CMAKE_CXX_FLAGS_DEBUG "-g") set(CMAKE_C_FLAGS_DEBUG "-g") # compile option (Release) set(CMAKE_CXX_FLAGS_RELEASE "-W -Wall -O3") set(CMAKE_C_FLAGS_RELEASE "-W -Wall -O3") project(hoge) include_directories(/usr/include /usr/local/include/opencv) link_directories(/usr/lib/GL /usr/local/lib) add_executable(hoge main.cpp a.cpp b.cpp c.cpp) target_link_libraries(hoge m GL GLU glut cv highgui) http //www.cmake.org/Wiki/CMake_Useful_Variables http //www.cmake.org/cmake/help/cmake-2-8-docs.html カウンタ -
https://w.atwiki.jp/bukkitwiki_jp/pages/15.html
Bukkitコマンド一覧表 誤字があればこのページの下にコメント欄を置いておくのでそちらで報告してくださいませ。 コマンド 説明 Permission version バージョンの確認 bukkit.command.version plugins 導入しているプラグインの一覧 bukkit.command.plugins reload サーバのリロード(再起動) bukkit.command.reload tell player message 1対1のチャット bukkit.command.tell kill 自殺する bukkit.command.kill me tellと同じ? bukkit.command.me help or ? ヘルプを表示 bukkit.command.help kick player player をkick bukkit.command.kick ban player player をBAN bukkit.command.ban.player banlist BANされた人を見る bukkit.command.ban.list pardon player player BANを解除 bukkit.command.unban.player ban-ip ip ip をBAN bukkit.command.ban.ip pardon-ip ip ip のBANを解除 bukkit.command.unban.ip OP player player にOP(オペレーター)権限を与える bukkit.command.op.give deop player player からOP(オペレーター)権限を剥奪する bukkit.command.op.take tp player1 player2 tp player1 x y z player1 が player2 に移動 player1 を x y z に移動 bukkit.command.teleport give player date-value [amount[damage]] player にアイテムを与える bukkit.command.give stop サーバストップ bukkit.command.stop save-all サーバのワールド情報をセーブ bukkit.command.save.perform save-off 自動セーブをoff bukkit.command.save.disable save-on 自動セーブをon bukkit.command.save.enable list サーバにいるプレイヤーを表示 bukkit.command.list say message message をサーバ全体に表示 bukkit.command.say whitelist on/off ホワイトリストをon/offにする bukkit.command.whitelist.enable(on)bukkit.command.whitelist.disable(off) whitelist add/remove player add 追加 remove 削除 ホワイトリストから追加/削除する bukkit.command.whitelist.add(追加)bukkit.command.whitelist.remove(削除) whitelist list ホワイトリストに追加されているプレイヤーを表示 bukkit.command.whitelist.list whitelist reload whitelist.txtかwhitelist.jsonのリロード bukkit.command.whitelist.reload time add/set amount add 日が進む set 時間が進む bukkit.command.time.add(add)bukkit.command.time.set(set) gamemode 0/1/2 player ゲームモードを変更する bukkit.command.gamemode xp player amount 経験値を与える bukkit.command.xp toggledownfall 雨天時等の降るor降らないの変更 bukkit.command.toggledownfall defaultgamemode 0/1/2/3 デフォルトのゲームモードを変更する bukkit.command.defaultgamemode seed ワールドのシード値を見る bukkit.command.seed enchant user enchant number or ID level force user の持っているアイテムにエンチャントをする bukkit.command.enchant weather weather 天気を変更する bukkit.command.weather clear user アイテムをクリア(削除)する bukkit.command.clear difficulty diff level サーバの難易度を変更する bukkit.command.difficulty spawnpoint User x y z user のリスポーンポイントを変更する bukkit.command.spawnpoint gamerule ゲームルールを変更 bukkit.command.gamerule effect player effectID [seconds][amplifier] エフェクトをかける bukkit.command.effect setidletimeout Minutes until kick タイムアウトの時間変更? bukkit.command.setidletimeout setworldspawn x y z 初期巣ポーンポイントを変更する bukkit.command.setworldspawn achievement give stat_name [player] 実績を与える bukkit.command.achievement ※ リスポーンポイント/初期スポーンポイント変更は座標指定がなくても実行可能 ※ 参考 CraftBukkit Commands(bukkitwiki) 名前 コメント
https://w.atwiki.jp/yatsuhashi/pages/16.html
CMake ZERO_CHECKというプロジェクトが作成される set(CMAKE_SUPPRESS_REGENERATION true)で抑制できる
https://w.atwiki.jp/natsutan/pages/51.html
概要 名前空間にあるそれぞれのコマンドの構造体。 /* * Flag bits for commands. * * CMD_IS_DELETED -Means that the command is in the process of *being deleted (its deleteProc is currently *executing). Other attempts to delete the *command should be ignored. * CMD_TRACE_ACTIVE -1 means that trace processing is currently *underway for a rename/delete change. See the *two flags below for which is currently being *processed. * CMD_HAS_EXEC_TRACES -1 means that this command has at least one *execution trace (as opposed to simple *delete/rename traces) in its tracePtr list. * TCL_TRACE_RENAME -A rename trace is in progress. Further *recursive renames will not be traced. * TCL_TRACE_DELETE -A delete trace is in progress. Further *recursive deletes will not be traced. * (these last two flags are defined in tcl.h) */ #define CMD_IS_DELETED 0x1 #define CMD_TRACE_ACTIVE 0x2 #define CMD_HAS_EXEC_TRACES 0x4 typedef Tcl_CmdProc *TclCmdProcType; typedef Tcl_ObjCmdProc *TclObjCmdProcType; typedef void (Tcl_CmdDeleteProc) _ANSI_ARGS_(*1); tcl/generic/tclInt.h メンバー Tcl_HashEntry *hPtr; このコマンドを参照しているハッシュテーブルへのポインタ。名前空間のコマンドテーブルか、hidden command のコマンドテーブルのどちらか。NULLは、ハッシュテーブルのエントリーが削除済みであることを示す。 Namespace *nsPtr;コマンドを含む名前空間へのポインタ int refCount; リファレンスカウント int cmdEpoch; リファレンスが無効になるとインクリメントする CompileProc *compileProc;コンパイルコマンドを呼び出す手続き。コンパイル手続きが無い場合NULL。 Tcl_ObjCmdProc *objProc;オブジェクト形式の手続き ClientData objClientData; Arbitrary value passed to object proc. Tcl_CmdProc *proc;文字列ベースの手続き ClientData clientData;/* Arbitrary value passed to string proc. */ Tcl_CmdDeleteProc *deleteProc; コマンドが削除されるときに呼び出す関数。 ClientData deleteData;/* Arbitrary value passed to deleteProc. */ int flags;コマンドのフラグ ImportRef *importRefPtr;このコマンドがimportされたとき、別の名前空間で作られたコマンドのList CommandTrace *tracePtr;トレース用リストの先頭を指すポインタ ソース typedef struct Command { Tcl_HashEntry *hPtr;/* Pointer to the hash table entry that refers * to this command. The hash table is either a * namespace s command table or an * interpreter s hidden command table. This * pointer is used to get a command s name * from its Tcl_Command handle. NULL means * that the hash table entry has been removed * already (this can happen if deleteProc * causes the command to be deleted or * recreated). */ Namespace *nsPtr;/* Points to the namespace containing this * command. */ int refCount;/* 1 if in command hashtable plus 1 for each * reference from a CmdName Tcl object * representing a command s name in a ByteCode * instruction sequence. This structure can be * freed when refCount becomes zero. */ int cmdEpoch;/* Incremented to invalidate any references * that point to this command when it is * renamed, deleted, hidden, or exposed. */ CompileProc *compileProc;/* Procedure called to compile command. NULL * if no compile proc exists for command. */ Tcl_ObjCmdProc *objProc;/* Object-based command procedure. */ ClientData objClientData;/* Arbitrary value passed to object proc. */ Tcl_CmdProc *proc;/* String-based command procedure. */ ClientData clientData;/* Arbitrary value passed to string proc. */ Tcl_CmdDeleteProc *deleteProc; /* Procedure invoked when deleting command to, * e.g., free all client data. */ ClientData deleteData;/* Arbitrary value passed to deleteProc. */ int flags;/* Miscellaneous bits of information about * command. See below for definitions. */ ImportRef *importRefPtr;/* List of each imported Command created in * another namespace when this command is * imported. These imported commands redirect * invocations back to this command. The list * is used to remove all those imported * commands when deleting this "real" * command. */ CommandTrace *tracePtr;/* First in list of all traces set for this * command. */ } Command; /* * Flag bits for commands. * * CMD_IS_DELETED -Means that the command is in the process of *being deleted (its deleteProc is currently *executing). Other attempts to delete the *command should be ignored. * CMD_TRACE_ACTIVE -1 means that trace processing is currently *underway for a rename/delete change. See the *two flags below for which is currently being *processed. * CMD_HAS_EXEC_TRACES -1 means that this command has at least one *execution trace (as opposed to simple *delete/rename traces) in its tracePtr list. * TCL_TRACE_RENAME -A rename trace is in progress. Further *recursive renames will not be traced. * TCL_TRACE_DELETE -A delete trace is in progress. Further *recursive deletes will not be traced. * (these last two flags are defined in tcl.h) */ #define CMD_IS_DELETED 0x1 #define CMD_TRACE_ACTIVE 0x2 #define CMD_HAS_EXEC_TRACES 0x4
https://w.atwiki.jp/wnt0/pages/42.html
Undo、Redo を実装できる 何かを行うタイミングだけがわかっていて、具体的な処理内容がわからない場合(GUIメニューからのコマンドとか?)に使う クライアントからのコマンド要求をキューに貯めて、順番に実行することもできる #include iostream #include list using namespace std; // "Receiver" class// デバイスとか、出力するオブジェクトな感じclass Display {public void Action(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; } void UndoAction(double result) { cout "[undo] " result endl; } void RedoAction(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout "[redo] " result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; }}; // "Command" abstract classclass Command {public Command(Display *disp, double operand) { m_disp = disp; m_operand = operand; } virtual double Execute(double cur_val) = 0; virtual double Undo() = 0; virtual double Redo() = 0;protected Display *m_disp; double m_org_val, m_operand, m_result;}; // "ConcreteCommand" classclass PlusCommand public Command {public PlusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val + m_operand; m_disp- Action(m_result, m_org_val, m_operand, "+"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "+"); return m_result; }}; // "ConcreteCommand" classclass MinusCommand public Command {public MinusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val - m_operand; m_disp- Action(m_result, m_org_val, m_operand, "-"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "-"); return m_result; }}; // "ConcreteCommand" classclass MultiplicationCommand public Command {public MultiplicationCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val * m_operand; m_disp- Action(m_result, m_org_val, m_operand, "*"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "*"); return m_result; }}; // "ConcreteCommand" classclass DivisionCommand public Command {public DivisionCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { if (m_operand == 0) { cout "division error." endl; return cur_val; } else { m_org_val = cur_val; m_result = m_org_val / m_operand; m_disp- Action(m_result, m_org_val, m_operand, "/"); return m_result; } } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "/"); return m_result; }}; // "Invoker" classclass Calculator {public Calculator(double init_val) { m_cur_val = init_val; cout "initial value " m_cur_val endl; m_cur_cmd_it = m_history.begin(); } ~Calculator() { list Command* iterator it = m_history.begin(); while (it != m_history.end()) { delete *it; ++it; } } void Exec(Command *cmd) { if (m_cur_cmd_it != m_history.begin()) { // 戻した分を削除 m_history.erase(m_history.begin(), m_cur_cmd_it); } m_history.push_front(cmd); // 先頭に追加 m_cur_cmd_it = m_history.begin(); m_cur_val = cmd- Execute(m_cur_val); } void Undo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.end()) { cout "could not undo." endl; break; } m_cur_val = (*m_cur_cmd_it)- Undo(); ++m_cur_cmd_it; } } void Redo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.begin()) { cout "could not redo." endl; return; } --m_cur_cmd_it; m_cur_val = (*m_cur_cmd_it)- Redo(); } }private double m_cur_val; list Command* m_history; list Command* iterator m_cur_cmd_it;}; // clientint main() { // invoker Calculator *calc = new Calculator(0); // receiver Display *disp = new Display(); calc- Exec(new PlusCommand(disp, 10)); // 10 calc- Exec(new PlusCommand(disp, 10)); // 20 calc- Exec(new MinusCommand(disp, 5)); // 15 calc- Exec(new MultiplicationCommand(disp, 3)); // 45 calc- Exec(new DivisionCommand(disp, 10)); // 4.5 calc- Undo(3); // 45 = 15 = 20 calc- Redo(2); // 15 = 45 calc- Exec(new PlusCommand(disp, 12)); // 57 calc- Exec(new MinusCommand(disp, 2)); // 55 calc- Exec(new DivisionCommand(disp, 10)); // 5.5 calc- Undo(); // 55 calc- Redo(2); delete disp; delete calc; return 0;} 出力 initial value 0 10 (0 + 10) 20 (10 + 10) 15 (20 - 5) 45 (15 * 3) 4.5 (45 / 10) [undo] 45 [undo] 15 [undo] 20 [redo] 15 (20 - 5) [redo] 45 (15 * 3) 57 (45 + 12) 55 (57 - 2) 5.5 (55 / 10) [undo] 55 [redo] 5.5 (55 / 10) could not redo. 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Command http //japan.internet.com/developer/20081003/26.html
https://w.atwiki.jp/gomigomi/pages/48.html
command 名前 内容 備考 TelnetCommand.java TelnetCommandExecutor.java TelnetCommandList.java TelnetCommandResult.java
https://w.atwiki.jp/bambooflow/pages/291.html
更新日 2011-01-28 cmake cmakeLinux編単純なC言語のコンパイル cmakeの設定リスト cmakeのヘルプ Linux編 単純なC言語のコンパイル コンパイルしたいソースコードを用意します。 test.c #include stdio.h int main(int argc, char* argv[]) { ptinrf("Hello World!!!\n"); return 0; } CMakeLists.txtを以下のように準備します。 CMakeLists.txt ADD_EXECUTABLE(runx test.c) % ls CMakeLists.txt test.c ビルド そうしたら、ビルド用のディレクトリ(build)を用意してそこに移動します。 % mkdir build % cd build Makefileを実行します。 % cmake ../ このとき../はCMakeLists.txtの場所を指します。 これで次のファイルとMakefileが生成されます。 CMakeCache.txt CMakeFiles Makefile cmake_install.cmake あとは、コンパイルして実行するだけです。 % make % ./runx cmakeの設定リスト cmake_minimum_required(バージョン) 要求するcmakeの最低バージョンを設定。cmake_minimum_required(2.6)だと2.6以上のバージョンを要求。 project(プロジェクト名) プロジェクト名の指定。 include_directories(インクルードパスリスト) インクルードパスの指定。例) include_directories(/usr/include /usr/local/include ./)「-I/usr/include -I/usr/local/include」を指定したことと同じ add_executable(実行ファイル ソースコードリスト) 実行ファイルを生成する設定。指定した実行ファイルに必要なソースコードリストを指定します。例) add_executable(runx test.c fun.c) link_directories(ライブラリパスリスト) ライブラリパスを指定。例) link_directories(/usr/lib /usr/local/lib)「-L/usr/lib -L/usr/local/lib」を指定したことと同じ target_link_libraries(ターゲット ライブラリリスト) ターゲット生成に必要なライブラリを指定。例) target_link_libraries(runx GL GLU GLUT)「-lGL -lGLU -lGLUT」を指定したことと同じ。 cmakeのヘルプ 変数の一覧を表示する % cmake --help-variable-list コマンドの一覧を表示する % cmake --help-command-list プロパティの一覧を表示する % cmake --help-property-list
https://w.atwiki.jp/sm_theme/pages/14.html
Command レイヤーの動作設定 基本的な書き方は Command=コマンド1,パラメータ;コマンド2,パラメータ;...;コマンドX,パラメータ; という感じ 例 Command=blend,add;x,100;y,200; ファイルの表示位置関連 horizalign,XXXXXX=基準位置 表示X位置の基準点を指定 left 左寄せ center 中央寄せ right 右寄せ 例 horizalign,right vertalign,XXXXXX=基準位置 表示Y位置の基準点を指定 top 上寄せ middle 中央寄せ bottom 下寄せ 例 vertalign,bottom x,XXXXXX=X座標 ファイルの表示X位置を設定 例 x,320 y,XXXXXX=Y座標 ファイルの表示Y位置を設定 例 y,240 z,XXXXXX=Z座標 ファイルの表示Z位置を設定 例 z,0 addx,XXXXXX=横にスクロールする値 指定した値だけ右にずらす マイナス値の場合は左にずらす 通常、linearなどと合わせて使う 例 addx,100;linear,1.0;addx,-100 addy,XXXXXX=縦にスクロールする値 指定した値だけ下にずらす マイナス値の場合は上にずらす 通常、linearなどと合わせて使う 例 addy,100;linear,1.0;addy,-100 addz,XXXXXX=奥にスクロールする値 指定した値だけ奥にずらす マイナス値の場合は手前にずらす 通常、linearなどと合わせて使う 例 addz,10;linear,1.0;addz,-10 ファイルの表示サイズ関連 zoom,XXXXXX=表示倍率 ファイルの表示倍率を設定 例 zoom,1.5 zoomx,XXXXXX=表示倍率 ファイル横幅の表示倍率を設定 例 zoomx,1.2 zoomy,XXXXXX=表示倍率 ファイル縦幅の表示倍率を設定 例 zoomy,1.2 zoomz,XXXXXX=表示倍率 ファイル奥行きの表示倍率を設定 例 zoomz,1.2 zoomtowidth,XXXXXX=表示サイズ ファイル横幅の表示サイズをピクセルで設定 例 zoomtowidth,640 zoomtoheight,XXXXXX=表示サイズ ファイル縦幅の表示サイズをピクセルで設定 例 zoomtoheight,480 maxwidth,XXXXXX=最大サイズ 表示対象が曲名など、一定のサイズではない場合の 最大横幅を設定する 例 maxwidth,600 ファイルの合成エフェクト関連 blend,XXXXXX=定義されている文字 ブレンド方法を設定 定義 ブレンド方法 normal 通常合成 add 加算合成 noeffect 描画されない 例 blend,add diffusealpha,XXXXXX=不透明度 不透明度を設定 1.0で完全不透明 例 diffusealpha,0.5 diffuse,R,G,B,AR=赤の強さG=緑の強さB=青の強さA=不透明度 カラーバランスを調整して合成 すべて1.0で、記述しない状態と同じ 白い画像の場合、このコマンドで色を付けることができる 例 diffuse,1.0,0.0,0.0,1.0 shadowlength,XXXXXX=影のズレ 影を表示させる glowshift 滑らかに色を変える 色を指定していない場合は透明⇔白のループ glowblink 色を点滅させる 色を指定していない場合は透明⇔白のループ diffuseshift 滑らかに色を変える 色を指定していない場合は透明⇔黒のループ diffuseblink 色を点滅させる 色を指定していない場合は透明⇔黒のループ rainbow 滑らかに色を変える 赤→橙→黄→緑→青→紫→赤…のループ effectperiod,XXXXXX=秒 エフェクトの1ループ時間を設定 glowshiftなどと一緒に使う 例 glowshift;effectperiod,1.5 effectclock,XXXXXX=定義されている文字 エフェクトの1ループ時間を設定 数字で指定できない値の設定が可能 定義 効果 timer 1秒で1ループ bgm 1拍で1ループ(主に選曲・ゲーム中に有効) effectcolor1,R,G,B,A effectcolor2,R,G,B,AR=赤の強さG=緑の強さB=青の強さA=不透明度 glowshiftなどで変化する色 例 赤から青に変化glowshift;effectperiod,1.5;effectcolor1,1.0,0.0,0.0,1.0;effectcolor2,0.0,0.0,1.0,1.0 vibrate 不規則に揺らす wag 一定方向に揺らす spin 一定方向に回転する bob 一定方向を行き来する bounce 一定方向を跳ねるように行き来する pulse effectmagnitude(後述)のXXX⇔YYYの倍率で伸縮する effectmagnitude,XXX,YYY,ZZZXXX=X方向の強さYYY=Y方向の強さZZZ=Z方向の強さ vibrateなどの動きの大きさを設定 例 vibrate;effectmagnitude,4,8,8 hidden,XXXXXX=非表示フラグ フラグを1にすると描画されなくなる アニメーション関連 sleep,XXXXXX=停止する秒 一定時間アニメーションを停止する linear,XXXXXX=実行する秒 指定した時間の長さでアニメーションを実行する
https://w.atwiki.jp/wicky/pages/18.html
command
https://w.atwiki.jp/bambooflow/pages/285.html
ODE:cmakeでコンパイル ODE:cmakeでコンパイルLinux(Ubuntu10.10)でcmakeインストール CMakeList.txtの準備 サンプル実行 その他のCMakeオプション cmakeはMakefileより便利です。 Makefileをごりごり作るよりもcamkeをインストールして、ちょっと使い方を覚えた方が手間が省けます。 ということで、ODEでのcmakeの導入についてメモします。 Linux(Ubuntu10.10)でcmake インストール 次のコマンドを実行。 % sudo apt-get install cmake 最近のLinuxのディストリビューションならばapt-getとかyumとかでインストールできると思われます。 CMakeList.txtの準備 odeは、makeまで実行した状態でOK。(make installはしなくてよい) set(PROJ_NAME hello) set(TARGET ${PROJ_NAME}) # プロジェクト名 project(${PROJ_NAME}) set(ODE_PATH ../ode-0.11.1) set(ODE_INC_PATH ${ODE_PATH}/include) set(ODE_LIB_PATH ${ODE_PATH}/ode/src/.libs) set(DS_INC_PATH ${ODE_PATH}/include) set(DS_LIB_PATH ${ODE_PATH}/drawstuff/src/.libs) # インクルードパスの追加 include_directories(${ODE_INC_PATH} ${DS_INC_PATH}) # ライブラリパスの追加 link_directories(${ODE_LIB_PATH} ${DS_LIB_PATH}) # マクロ設定 [-D] add_definitions(-DdDOUBLE) # 実行ファイルとソースファイル群 add_executable(${TARGET} ${PROJ_NAME}.cpp) # ライブラリ target_link_libraries(${TARGET} m ode drawstuff GLU GL) サンプル実行 とりあえず適当にファイルを準備。 hello.cpp #include ode/ode.h #include stdio.h int main(int argc, char* argv[]) { printf("Cmake de Hello ODE!!!\n"); return 0; } hello.cppとCMakeList.txtが同じディレクトリにある状態で次のコマンドを実行。 % cmake . すると、Makefileが生成される。 あとは、コンパイル、そして実行。 % make % ./hello Cmake de Hello ODE!!! 無事に実行できれば、OKです。 その他のCMakeオプション メモ。 # 要求するCMakeのバージョン cmake_minimum_required(VERSION 2.6) # build type set(CMAKE_BUILD_TYPE Debug) # compile option (DEBUG) set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall") set(CMAKE_C_FLAGS_DEBUG "-g -Wall") # compile option (Release) set(CMAKE_CXX_FLAGS_RELEASE "-Wall -O3") set(CMAKE_C_FLAGS_RELEASE "-Wall -O3") 以上