//################################################################
//ライブラリヘルプ
//################################################################
function DispHelp(id) {
elm = document.getElementById('help');
var html = ' ';
switch(id) {
//######## N6LTimerMan ########
case 300: html =
'N6LTimerMan:構築
' +
'メンバ:
' +
'N6LTimerMan.interval:タイマーチェック間隔
' +
'N6LTimerMan.enable:使うかどうか
' +
'N6LTimerMan.timer[]:個別タイマー
' +
'メンバ(N6LTimerMan.timer[id]):
' +
'N6LTimerMan.timer[id].ID:ID番号
' +
'N6LTimerMan.timer[id].enable:使うかどうか
' +
'N6LTimerMan.timer[id].starttime:開始時間
' +
'N6LTimerMan.timer[id].alerm:何ミリ秒後のアラームかの設定値
' +
'N6LTimerMan.timer[id].alermfunc:アラーム呼び出しメソッド
' +
'書式:
' +
'var tman = new N6LTimerMan();
' +
'注釈:タイマーをいくつ作っても、setTimeout()はN6LTimerManに1個の一元管理です
';
break;
case 301: html =
'N6LTimerMan.add()
' +
'説明:タイマー追加
' +
'引数:---
' +
'戻値:---
';
break;
case 302: html =
'N6LTimerMan.changeinterval(int)
' +
'説明:タイマーチェック間隔変更
' +
'引数:int:変更値:ミリ秒
' +
'戻値:---
';
break;
case 303: html =
'N6LTimerMan.start()
' +
'説明:開始
' +
'引数:---
' +
'戻値:---
';
break;
case 304: html =
'N6LTimerMan.stop()
' +
'説明:停止
' +
'引数:---
' +
'戻値:---
';
break;
//######## N6LTimerMan.timer[id] ########
case 351: html =
'N6LTimerMan.timer[id].start()
' +
'説明:開始
' +
'引数:---
' +
'戻値:---
';
break;
case 352: html =
'N6LTimerMan.timer[id].stop()
' +
'説明:停止
' +
'引数:---
' +
'戻値:---
';
break;
case 353: html =
'N6LTimerMan.timer[id].reset()
' +
'説明:リセット(開始時間更新)
' +
'引数:---
' +
'戻値:---
';
break;
case 354: html =
'N6LTimerMan.timer[id].copy(src)
' +
'説明:コピー
' +
'引数:src:元データ
' +
'戻値:---
';
break;
case 355: html =
'N6LTimerMan.timer[id].now()
' +
'説明:経過時間
' +
'引数:---
' +
'戻値:---
';
break;
case 356: html =
'N6LTimerMan.timer[id].setalerm(func(id),alm)
' +
'説明:アラームセット
' +
'引数:func(id):時間になった時に呼び出されるメソッド
' +
'alm:アラーム時間:ミリ秒
' +
'戻値:---
' +
'詳細:
' +
'func(id)にid以外のデータを渡したいときは
' +
'サンプルのfunc周りを変更して、引数を渡すようにする
' +
'あるいは、グローバル変数で渡す
' +
'
' +
'使用例:
' +
'
' +
'//グローバルポジション
' +
'var TMan = new N6LTimerMan(); //構築
' +
'
' +
'//タイマーが必要なメソッド内
' +
'...{
' +
' ...
' +
' TMan.add(); //タイマー追加
' +
' TMan.timer[0].setalerm(function() { SignalFunc(0); }, 1000); //1秒後アラームセット
' +
' ...
' +
'}
' +
'
' +
'//呼び出しメソッド
' +
'function SignalFunc(id) {
' +
' ...
' +
' TMan.timer[id].setalerm(function() { SignalFunc(id); }, 1000); //連続セット
' +
' //再帰関数的ではあるが、一連の処理の中に、setTimeout()が含まれているので
' +
' //コールスタックを戻しているから、連続ループでもスタックオーバーフローにならない
' +
' ...
' +
'}
' +
'
' +
'呼び出し時間は、N6LTimerMan.interval=25(デフォルト値)以上が好ましいです
';
break;
//######## N6LVector ########
case 0: html =
'N6LVector:構築
' +
'メンバ:
' +
'N6LVector.x[]:実数
' +
'N6LVector.x[0]:w N6LVector.x[1]:x N6LVector.x[2]:y N6LVector.x[3]:z etc...
' +
'N6LVector.bHomo:同次座標かどうか
' +
'var N6LVector = function(rh, bh) { }
' +
'書式:
' +
'4次ベクトル
' +
'var veca = new N6LVector(4);
' +
'同次4次ベクトル
' +
'var veca = new N6LVector(4, true);
' +
'3次ベクトル
' +
'var veca = new N6LVector(new Array(1, 2, 3));
' +
'x軸単位同次4次ベクトル
' +
'var veca = new N6LVector(new Array(1, 1, 0, 0), true);
' +
'var veca = new N6LVector([1, 1, 0, 0], true);
' +
'var vecb = new N6LVector(veca); //deep copy
';
break;
case 1: html =
'N6LVector.Equal(rh)
' +
'説明:等価か調べる
' +
'引数:rh:N6LVector型:thisと比較する
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 37: html =
'N6LVector.EpsEqual(rh, eps)
' +
'説明:等価か調べる
' +
'引数:rh:N6LVector型:thisと比較する:eps:誤差:実数
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 39: html =
'N6LVector.Str()
' +
'説明:文字列に変換
' +
'引数:---
' +
'戻値:文字列に変換:string
';
break;
case 40: html =
'N6LVector.Parse(str)
' +
'説明:文字列から変換
' +
'引数:str:string
' +
'戻値:文字列から変換:N6LVector
';
break;
case 41: html =
'N6LVector.ToX3DOM(b)
' +
'説明:x3dom.fields.SFVec[2/3/4]fに変換
' +
'引数:b:4→3の時、true:bool
' +
'戻値:x3dom.fields.SFVec[2/3/4]fに変換:x3dom.fields.SFVec[2/3/4]f
';
break;
case 42: html =
'N6LVector.FromX3DOM(sf)
' +
'説明:x3dom.fields.SFVec[2/3/4]fから変換
' +
'引数:sf:x3dom.fields.SFVec[2/3/4]f
' +
'戻値:x3dom.fields.SFVec[2/3/4]fから変換:N6LVector
';
break;
case 50: html =
'N6LVector.To3JS(b)
' +
'説明:THREE.Vector[2/3/4]に変換
' +
'引数:b:4→3の時、true:bool
' +
'戻値:THREE.Vector[2/3/4]に変換:THREE.Vector[2/3/4]
';
break;
case 51: html =
'N6LVector.From3JS(ary)
' +
'説明:Arrayから変換
' +
'引数:ary:Array()
' +
'戻値:Arrayから変換:N6LVector
';
break;
case 2: html =
'N6LVector.Add(rh)
' +
'説明:和算
' +
'引数:rh:N6LVector型、実数
' +
'戻値:和算:N6LVector
';
break;
case 3: html =
'N6LVector.Sub(rh)
' +
'説明:減算
' +
'引数:rh:N6LVector型、実数
' +
'戻値:減算:N6LVector
';
break;
case 4: html =
'N6LVector.Mul(rh)
' +
'説明:乗算
' +
'引数:rh:N6LVector型、N6LMatrix型、実数
' +
'戻値:乗算:N6LVector,実数
';
break;
case 5: html =
'N6LVector.Div(rh)
' +
'説明:除算
' +
'引数:rh:N6LVector型、N6LMatrix型、実数
' +
'戻値:除算:N6LVector,実数
';
break;
case 34: html =
'N6LVector.SetHomo(rh)
' +
'説明:同次座標フラグのセット
' +
'引数:rh:bool,設定値
' +
'戻値:同次座標フラグのセット:N6LVector
';
break;
case 38: html =
'N6LVector.Repair(eps)
' +
'説明:修復、0.0or1.0or-1.0のeps付近の値をそれらに修正する
' +
'引数:eps:誤差,実数
' +
'戻値:更新されたthis
';
break;
case 6: html =
'N6LVector.Dot(rh)
' +
'説明:内積
' +
'引数:rh:N6LVector型
' +
'戻値:内積:実数
';
break;
case 7: html =
'N6LVector.Cross(rh)
' +
'説明:外積
' +
'引数:rh:N6LVector型
' +
'戻値:外積:N6LVector,実数
';
break;
case 35: html =
'N6LVector.isParallel(rh)
' +
'説明:平行かどうか
' +
'引数:rh:N6LVector
' +
'戻値:true:平行:false:平行でない
';
break;
case 36: html =
'N6LVector.Max()
' +
'説明:要素の最大絶対値の値(符号はそのまま)
' +
'引数:---
' +
'戻値:要素の最大絶対値の値(符号はそのまま):実数
';
break;
case 43: html =
'N6LVector.DivMax()
' +
'説明:要素の最大絶対値の値で除算
' +
'引数:---
' +
'戻値:要素の最大絶対値の値で除算:N6LVector
' +
'注釈:誤差蓄積などで各要素の値が±1.0を「僅かに」超えるとき
' +
' :各要素の値を±1.0以下にすることでそれが致命的エラーになることを防ぎます
';
break;
case 44: html =
'N6LVector.LookAtMat2(rh)
' +
'説明:注視
' +
'引数:this:N6LVector型:視点, rh:N6LVector,N6LMatrix型:注視対象
' +
'戻値:注視回転行列:N6LMatrix
';
break;
case 45: html =
'N6LVector.RotArcQuat(rh)
' +
'説明:球面回転(アークボール)
' +
'引数:this:N6LVector型:vec1,rh:N6LVector型:vec2
' +
'戻値:球面回転(アークボール):N6LQuaternion
';
break;
case 8: html =
'N6LVector.ZeroVec()
' +
'説明:ゼロ
' +
'引数:---
' +
'戻値:ゼロ:N6LVector
';
break;
case 9: html =
'N6LVector.UnitVec(a)
' +
'説明:単位ベクトル
' +
'引数:a:a軸指定
' +
'戻値:単位ベクトル:N6LVector
';
break;
case 10: html =
'N6LVector.NormalVec(a)
' +
'説明:ノーマライズ
' +
'引数:a:a.Sub(this);(this→aベクトル)をノーマライズ、省略可能
' +
'戻値:ノーマライズ:N6LVector
';
break;
case 11: html =
'N6LVector.SquareAbs()
' +
'説明:絶対値2乗
' +
'引数:---
' +
'戻値:絶対値2乗:実数
';
break;
case 12: html =
'N6LVector.Abs()
' +
'説明:絶対値
' +
'引数:---
' +
'戻値:絶対値:実数
';
break;
case 13: html =
'N6LVector.DirectionCosine()
' +
'説明:方向余弦
' +
'引数:---
' +
'戻値:方向余弦:N6LVector
';
break;
case 14: html =
'N6LVector.Theta(rh)
' +
'説明:なす角
' +
'引数:rh:N6LVector型
' +
'戻値:なす角:rad
';
break;
case 15: html =
'N6LVector.ThetaN(rh)
' +
'説明:なす角
' +
'引数:rh:N6LVector型
' +
'戻値:true:-π/2<θ≦π/2:false:±πまでのそれ以外
';
break;
case 16: html =
'N6LVector.Rot2D(theta)
' +
'説明:2D回転
' +
'引数:theta:ラジアン
' +
'戻値:回転結果:N6LVector
';
break;
case 17: html =
'N6LVector.RotAxis(axis, theta)
' +
'説明:回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:回転結果:N6LVector
' +
'注釈:同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 18: html =
'N6LVector.RotAxisQuat(axis, theta)
' +
'説明:(計算にクォータニオンを用いた)回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:回転結果:N6LVector
' +
'注釈:同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 33: html =
'N6LVector.RotAxisVec(rotvec)
' +
'説明:(計算にクォータニオンを用いた)回転
' +
'引数:rotvec:N6LVector型、回転ベクトル
' +
'戻値:回転結果:N6LVector
';
break;
case 19: html =
'N6LVector.ProjectAxis(axis)
' +
'説明:軸に対する射影
' +
'引数:axis:N6LVector型、射影する軸
' +
'戻値:軸に対する射影:N6LVector
' +
'注釈:同次座標で単位x軸の射影はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 20: html =
'N6LVector.DistanceDotLine(p, a, b)
' +
'説明:点と直線の距離
' +
'引数:p:N6LVector型、点:a:N6LVector型、直線端点:b:N6LVector型、直線端点:
' +
'戻値:点と直線の距離:実数
';
break;
case 21: html =
'N6LVector.DistancePointLineLine(reta, retb, a0, a1, b0, b1)
' +
'説明:直線と直線の距離と最接近位置
' +
'引数:reta[0]:N6LVector型、a上最接近位置点、戻値:retb[0]:N6LVector型、b上最接近位置点、戻値:
' +
'a0:N6LVector型、直線a端点:a1:N6LVector型、直線a端点:
' +
'b0:N6LVector型、直線b端点:b1:N6LVector型、直線b端点:
' +
'戻値:直線と直線の距離:実数
';
break;
case 22: html =
'N6LVector.PointLineLine(reta, retb, a0, a1, b0, b1)
' +
'説明:直線と直線の最接近位置
' +
'引数:reta[0]:N6LVector型、a上最接近位置点、戻値:retb[0]:N6LVector型、b上最接近位置点、戻値:
' +
'a0:N6LVector型、直線a端点:a1:N6LVector型、直線a端点:
' +
'b0:N6LVector型、直線b端点:b1:N6LVector型、直線b端点:
' +
'戻値:true:交差した:false:交差しない:
';
break;
case 23: html =
'N6LVector.DistanceLineLine(a0, a1, b0, b1)
' +
'説明:直線と直線の距離
' +
'引数:a0:N6LVector型、直線a端点:a1:N6LVector型、直線a端点:
' +
'b0:N6LVector型、直線b端点:b1:N6LVector型、直線b端点:
' +
'戻値:直線と直線の距離:実数
';
break;
case 24: html =
'N6LVector.Homogeneous()
' +
'説明:同次座標
' +
'引数:---
' +
'戻値:同次座標:N6LVector
';
break;
case 25: html =
'N6LVector.ToHomo()
' +
'説明:同次ベクトルに変換
' +
'引数:---
' +
'戻値:同次ベクトルに変換:N6LVector
';
break;
case 26: html =
'N6LVector.ToNormal()
' +
'説明:通常ベクトルに変換
' +
'引数:---
' +
'戻値:通常ベクトルに変換:N6LVector
';
break;
case 27: html =
'N6LVector.Matrix()
' +
'説明:回転ベクトルから回転行列
' +
'引数:---
' +
'戻値:回転ベクトルから回転行列:N6LMatrix
';
break;
case 46: html =
'N6LVector.PosVecGetTQ(out)
' +
'説明:姿勢ベクトルから四元数と平行移動の取得
' +
'引数:out[]
' +
'戻値:姿勢ベクトルから四元数と平行移動の取得:out[0]:N6LVector:平行移動,out[1]:N6LQuaternion:四元数,
';
break;
case 49: html =
'N6LVector.PosVecSetTQ(t,q)
' +
'説明:姿勢ベクトルから四元数と平行移動の設定
' +
'引数:t:N6LVector:平行移動,q:N6LQuaternion:四元数
' +
'戻値:姿勢ベクトルから四元数と平行移動の設定:N6LVector
';
break;
case 47: html =
'N6LVector.PosVecMatrix()
' +
'説明:姿勢ベクトルから回転行列
' +
'引数:---
' +
'戻値:姿勢ベクトルから回転行列:N6LMatrix
';
break;
case 48: html =
'N6LVector.PosVecMul(rh)
' +
'説明:姿勢ベクトルの積
' +
'引数:rh:N6LVector():姿勢ベクトル
' +
'戻値:姿勢ベクトルの積:N6LVector
';
break;
case 28: html =
'N6LVector.Sphere4D()
' +
'説明:四次元球
' +
'引数:---
' +
'戻値:四次元球:N6LQuaternion
';
break;
case 29: html =
'N6LVector.FromLogAxis(base, range, x)
' +
'説明:無限対数軸から通常軸へ
' +
'引数:base:実数:基数,range:実数:範囲,x:実数:無限対数軸
' +
'戻値:通常軸:実数
';
break;
case 30: html =
'N6LVector.ToLogAxis(base, range, x)
' +
'説明:通常軸から無限対数軸へ
' +
'引数:base:実数:基数,range:実数:範囲,x:実数:通常軸
' +
'戻値:無限対数軸:実数
';
break;
case 31: html =
'N6LVector.FrustumInfVec(base, range, v)
' +
'説明:無限遠透視射影
' +
'引数:base:実数:基数,range:実数:範囲,v:N6LVector型:引数
' +
'戻値:無限遠透視射影:N6LVector
';
break;
case 32: html =
'N6LVector.InvFrustumInfVec(base, range, v, z)
' +
'説明:逆無限遠透視射影
' +
'引数:base:実数:基数,range:実数:範囲,v:N6LVector型:引数,z:実数:z座標
' +
'戻値:逆無限遠透視射影:N6LVector
';
break;
//######## N6LMatrix ########
case 100: html =
'N6LMatrix:構築
' +
'メンバ:
' +
'N6LMatrix.x[]:N6LVector
' +
'N6LMatrix.x[0]:N6LVector:w N6LMatrix.x[1]:N6LVector:x
' +
'N6LMatrix.x[2]:N6LVector:y N6LMatrix.x[3]:N6LVector:z etc...
' +
'N6LMatrix.bHomo:同次座標かどうか
' +
'var N6LMatrix = function(rh, m , n) { }
' +
'書式:
' +
'4行4列
' +
'var mata = new N6LMatrix(4);
' +
'4行8列
' +
'var mata = new N6LMatrix(4, 8);
' +
'4行4列単位行列
' +
'var mata = new N6LMatrix(
' +
'new Array(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), 4, 4);
' +
'var mata = new N6LMatrix(new Array(new N6LVector(new Array(1, 0, 0, 0)),
' +
' new N6LVector(new Array(0, 1, 0, 0)), new N6LVector(new Array(0, 0, 1, 0)),
' +
' new N6LVector(new Array(0, 0, 0, 1)) ));
' +
'var mata = new N6LMatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] );
' +
'var matb = new N6LMatrix(mata); //deep copy
' +
'注釈:四次以上は同次座標とみなされます
' +
'四次以上の通常座標を作りたいときはN6LMatrix.SetHomo(false)
' +
'を構築宣言に続けてください
';
break;
case 101: html =
'N6LMatrix.Equal(rh)
' +
'説明:等価か調べる
' +
'引数:rh:N6LMatrix型:thisと比較する
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 142: html =
'N6LMatrix.EpsEqual(rh, eps)
' +
'説明:等価か調べる
' +
'引数:rh:N6LMatrix型:thisと比較する:eps:誤差:実数
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 144: html =
'N6LMatrix.Str()
' +
'説明:文字列に変換
' +
'引数:---
' +
'戻値:文字列に変換:string
';
break;
case 145: html =
'N6LMatrix.Parse(str)
' +
'説明:文字列から変換
' +
'引数:str:string
' +
'戻値:文字列から変換:N6LMatrix
';
break;
case 146: html =
'N6LMatrix.ToX3DOM()
' +
'説明:x3dom.fields.SFMatrix4fに変換
' +
'引数:---
' +
'戻値:x3dom.fields.SFMatrix4fに変換:x3dom.fields.SFMatrix4f
';
break;
case 147: html =
'N6LMatrix.FromX3DOM(sf)
' +
'説明:x3dom.fields.SFMatrix4fから変換
' +
'引数:sf:x3dom.fields.SFMatrix4f
' +
'戻値:x3dom.fields.SFMatrix4fから変換:N6LMatrix
';
break;
case 156: html =
'N6LMatrix.To3JS()
' +
'説明:THREE.Matrix4に変換
' +
'引数:---
' +
'戻値:THREE.Matrix4に変換:THREE.Matrix4
';
break;
case 157: html =
'N6LMatrix.From3JS(ary)
' +
'説明:Arrayから変換
' +
'引数:ary:Array()
' +
'戻値:Arrayから変換:N6LMatrix
';
break;
case 151: html =
'N6LMatrix.GetCol(rh)
' +
'説明:列の取得
' +
'引数:rh:int:列
' +
'戻値:列の取得:N6LVector型
';
break;
case 152: html =
'N6LMatrix.GetRow(rh)
' +
'説明:行の取得
' +
'引数:rh:int:行
' +
'戻値:行の取得:N6LVector型
';
break;
case 153: html =
'N6LMatrix.SetCol(rh, val)
' +
'説明:列の設定
' +
'引数:rh:int:列:val:N6LVector:設定値
' +
'戻値:列の設定:N6LMatrix型
';
break;
case 154: html =
'N6LMatrix.SetRow(rh, val)
' +
'説明:行の設定
' +
'引数:rh:int:行:val:N6LVector:設定値
' +
'戻値:行の設定:N6LMatrix型
';
break;
case 102: html =
'N6LMatrix.Add(rh)
' +
'説明:和算
' +
'引数:rh:N6LMatrix型、実数
' +
'戻値:和算:N6LMatrix
';
break;
case 103: html =
'N6LMatrix.Sub(rh)
' +
'説明:減算
' +
'引数:rh:N6LMatrix型、実数
' +
'戻値:減算:N6LMatrix
';
break;
case 104: html =
'N6LMatrix.Mul(rh)
' +
'説明:乗算
' +
'引数:rh:N6LMatrix型、N6LVector型、実数
' +
'戻値:乗算:N6LMatrix,N6LVector
';
break;
case 105: html =
'N6LMatrix.Div(rh)
' +
'説明:除算
' +
'引数:rh:N6LMatrix型、N6LVector型、実数
' +
'戻値:除算:N6LMatrix,N6LVector
';
break;
case 139: html =
'N6LMatrix.SetHomo(rh)
' +
'説明:同次座標フラグのセット
' +
'引数:rh:bool,設定値
' +
'戻値:同次座標フラグのセット:N6LMatrix
';
break;
case 143: html =
'N6LMatrix.Repair(eps)
' +
'説明:修復、0.0or1.0or-1.0のeps付近の値をそれらに修正する
' +
'引数:eps:誤差,実数
' +
'戻値:更新されたthis
';
break;
case 141: html =
'N6LMatrix.Max()
' +
'説明:要素の最大絶対値の値(符号はそのまま)
' +
'引数:---
' +
'戻値:要素の最大絶対値の値(符号はそのまま):実数
';
break;
case 148: html =
'N6LMatrix.DivMax()
' +
'説明:要素の最大絶対値の値で除算
' +
'引数:---
' +
'戻値:要素の最大絶対値の値で除算:N6LMatrix
' +
'注釈:誤差蓄積などで各要素の値が±1.0を「僅かに」超えるとき
' +
' :各要素の値を±1.0以下にすることでそれが致命的エラーになることを防ぎます
';
break;
case 106: html =
'N6LMatrix.ZeroMat()
' +
'説明:ゼロ
' +
'引数:---
' +
'戻値:ゼロ:N6LMatrix
';
break;
case 107: html =
'N6LMatrix.UnitMat()
' +
'説明:単位行列
' +
'引数:---
' +
'戻値:単位行列:N6LMatrix
';
break;
case 124: html =
'N6LMatrix.NormalMat()
' +
'説明:正規化回転行列
' +
'引数:---
' +
'戻値:正規化回転行列:N6LMatrix
';
break;
case 108: html =
'N6LMatrix.TransposedMat()
' +
'説明:転置行列
' +
'引数:---
' +
'戻値:転置行列:N6LMatrix
';
break;
case 130: html =
'N6LMatrix.TranslatedMat(rh)
' +
'説明:平行移動
' +
'引数:rh:N6LVector型
' +
'戻値:平行移動:N6LMatrix
';
break;
case 131: html =
'N6LMatrix.ScaleMat(rh)
' +
'説明:拡大
' +
'引数:rh:N6LVector型、実数
' +
'戻値:拡大:N6LMatrix
';
break;
case 132: html =
'N6LMatrix.AffineMat(scale, rotate, translate)
' +
'説明:アフィン変換
' +
'引数:scale:N6LVector型、実数, rotate:N6LMatrix型、N6LVector型(rotate vector)、N6LQuaternion型, translate:N6LVector型
' +
'戻値:アフィン変換:N6LMatrix
';
break;
case 149: html =
'N6LMatrix.MoveMat(outmat, outv, d, pyr, v, a, vmin, vmax)
' +
'説明:移動
' +
'引数:outmat[0]:N6LMatrix型:ret:dだけ平行移動した移動後行列、outv[0]:N6LVector型:ret:移動後の速度
' +
' :d:N6LVector型:outmat[0]をdだけ平行移動する、pyr:N6LVector型:4次元:ピッチヨーロール
' +
' :v:実数:速度:N6LVector型:平行移動、a:実数:加速度、vmin,vmax:実数:速度限度:==987654321.0の時、限度なし
' +
'戻値:移動後行列:N6LMatrix
';
break;
case 126: html =
'N6LMatrix.LookAtMat(eye, lookat, up)
' +
'説明:注視
' +
'引数:eye:N6LVector型:視点, lookat:N6LVector型:注視対象, up:N6LVector型:上方ベクトル
' +
'戻値:注視回転行列:N6LMatrix
';
break;
case 150: html =
'N6LMatrix.LookAtMat2(rh)
' +
'説明:注視
' +
'引数:this:N6LVector型:視点, rh:N6LVector,N6LMatrix型:注視対象
' +
'戻値:注視回転行列:N6LMatrix
';
break;
case 109: html =
'N6LMatrix.InverseMat(dt, sw)
' +
'説明:(連立1次方程式解法を用いた)逆行列
' +
'引数:dt[0]:行列式、戻値:
' +
' :sw:int:計算スイッチ、省略可
' +
' :1:TransposedMat():2:InverseMat00():3:InverseMat01():4:DeterminMatInvMat()
' +
' :undefined:グローバル変数SwDefInverseMat(=1:default)の値を使います:other:"Error"
' +
'戻値:逆行列:N6LMatrix
';
break;
case 110: html =
'N6LMatrix.InverseMat00(dt)
' +
'説明:(連立1次方程式解法を用いた)逆行列
' +
'引数:dt[0]:行列式、戻値:
' +
'戻値:逆行列:N6LMatrix
';
break;
case 111: html =
'N6LMatrix.InverseMat01(dt)
' +
'説明:(掃き出し法を用いた)逆行列
' +
'引数:dt[0]:行列式、戻値:
' +
'戻値:逆行列:N6LMatrix
';
break;
case 112: html =
'N6LMatrix.DeterminMatInvMat(dt)
' +
'説明:(LU分解法を用いた)逆行列
' +
'引数:dt[0]:行列式、戻値:
' +
'戻値:逆行列:N6LMatrix
';
break;
case 113: html =
'N6LMatrix.DeterminMat(dt)
' +
'説明:行列式
' +
'引数:dt[0]:行列式、戻値:
' +
'戻値:行列式:実数
';
break;
case 114: html =
'N6LMatrix.Jacobi(n, ct, eps, A, A1, A2, X1, X2)
' +
'説明:実対称行列の固有値・固有ベクトル(ヤコビ法)
' +
'引数:n : 次数:ct : 最大繰り返し回数:eps : 収束判定条件:
' +
'A[0] : 対象とする行列:A1[0], A2[0] : 作業域(nxnの行列),A1の対角要素が固有値:
' +
'X1[0], X2[0] : 作業域(nxnの行列),X1の各列が固有ベクトル
' +
'戻値:0:正常:1:収束せず:
';
break;
case 115: html =
'N6LMatrix.EigenVec(ct, eps, A, det, eigen)
' +
'説明:実対称行列の固有値・固有ベクトル(ヤコビ法)
' +
'引数:n : 次数:ct : 最大繰り返し回数:eps : 収束判定条件:
' +
'A[0] : 対象とする行列:det[0] : 固有値、戻値:eigen[0] :固有ベクトル、戻値
' +
'戻値:0:正常:1:収束せず:
';
break;
case 116: html =
'N6LMatrix.DiagonalMat(ct, eps)
' +
'説明:対角化行列
' +
'引数:n : 次数:ct : 最大繰り返し回数:eps :両方、省略可
' +
'戻値:固有ベクトル:N6LMatrix
';
break;
case 117: html =
'N6LMatrix.Diagonal(ct, eps)
' +
'説明:対角化
' +
'引数:n : 次数:ct : 最大繰り返し回数:eps :両方、省略可
' +
'戻値:対角化:N6LMatrix
';
break;
case 140: html =
'N6LMatrix.Rot2D(theta)
' +
'説明:2D回転
' +
'引数:theta:ラジアン
' +
'戻値:回転行列:N6LMatrix
';
break;
case 118: html =
'N6LMatrix.RotAxis(axis, theta)
' +
'説明:軸に対する回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:軸に対する回転行列:N6LMatrix
' +
'注釈:scale,translate情報は保持されます
' +
'同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 125: html =
'N6LMatrix.RotAxisQuat(axis, theta)
' +
'説明:(計算にクォータニオンを用いた)軸に対する回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:軸に対する回転行列:N6LMatrix
' +
'注釈:scale,translate情報は保持されます
' +
'行列の軸に対する回転で、処理速度を気にするのなら
' +
'はじめに、単位クォータニオンを構築して(N6LQuaternion.UnitQuat())
' +
'クォータニオンだけで全ての回転計算をしてから(N6LQuaternion.RotAxisQuat())
' +
'クォータニオンを行列に変換してください(N6LQuaternion.Matrix())
' +
'そして最後に、計算元の行列と得られた行列を掛け合わせてください(N6LMatrix.Mul())
' +
'N6LMatrix.RotAxisQuat()だけで、全部計算するのは
' +
'クォータニオンから行列の変換を毎回計算するので、処理速度では意味がありません
' +
'単純に、便利に使うだけのためのものです
' +
'同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 136: html =
'N6LMatrix.RotAxisVec(rotvec)
' +
'説明:(計算にクォータニオンを用いた)回転
' +
'引数:rotvec:N6LVector型、回転ベクトル
' +
'戻値:軸に対する回転行列:N6LMatrix
' +
'注釈:scale,translate情報は保持されます
' +
'行列の軸に対する回転で、処理速度を気にするのなら
' +
'はじめに、単位クォータニオンを構築して(N6LQuaternion.UnitQuat())
' +
'クォータニオンだけで全ての回転計算をしてから(N6LQuaternion.RotAxisVec())
' +
'クォータニオンを行列に変換してください(N6LQuaternion.Matrix())
' +
'そして最後に、計算元の行列と得られた行列を掛け合わせてください(N6LMatrix.Mul())
' +
'N6LMatrix.RotAxisVec()だけで、全部計算するのは
' +
'ベクターとクォータニオンから行列の変換を毎回計算するので、処理速度では意味がありません
' +
'また、N6LQuaternion.RotAxisVec()はベクターからクォータニオンに変換するので
' +
'(N6LQuaternion.RotAxisQuat())よりも重いです
' +
'単純に、便利に使うだけのためのものです
';
break;
case 119: html =
'N6LMatrix.Homogeneous()
' +
'説明:同次座標
' +
'引数:---
' +
'戻値:同次座標:N6LMatrix
';
break;
case 127: html =
'N6LMatrix.ToHomo()
' +
'説明:同次座標に変換
' +
'引数:---
' +
'戻値:同次座標に変換:N6LMatrix
';
break;
case 128: html =
'N6LMatrix.ToNormal()
' +
'説明:通常座標に変換
' +
'引数:---
' +
'戻値:通常座標に変換:N6LMatrix
';
break;
case 120: html =
'N6LMatrix.Pos()
' +
'説明:座標取得
' +
'引数:---
' +
'戻値:座標取得:N6LVector
';
break;
case 135: html =
'N6LMatrix.Scale()
' +
'説明:倍率取得
' +
'引数:---
' +
'戻値:倍率取得:N6LVector
';
break;
case 121: html =
'N6LMatrix.Trace()
' +
'説明:行列のトレース
' +
'引数:---
' +
'戻値:行列のトレース:実数
';
break;
case 122: html =
'N6LMatrix.Quaternion()
' +
'説明:回転行列のクォータニオン取得
' +
'引数:---
' +
'戻値:回転行列のクォータニオン取得:N6LQuaternion
';
break;
case 123: html =
'N6LMatrix.Vector()
' +
'説明:回転行列の回転ベクトル取得
' +
'引数:---
' +
'戻値:回転行列の回転ベクトル取得:N6LVector
';
break;
case 155: html =
'N6LMatrix.PosVector()
' +
'説明:回転行列の姿勢ベクトル取得
' +
'引数:---
' +
'戻値:回転行列の姿勢ベクトル取得:N6LVector
';
break;
case 129: html =
'N6LMatrix.FrustumMat(left, right, top, bottom, near, far)
' +
'説明:透視射影
' +
'引数:left,right,top,bottom,near,far:実数:視錐台引数
' +
'戻値:透視射影行列:N6LMatrix
';
break;
case 138: html =
'N6LMatrix.OrthoMat(left, right, top, bottom, near, far)
' +
'説明:正射影
' +
'引数:left,right,top,bottom,near,far:実数:視錐台引数
' +
'戻値:正射影行列:N6LMatrix
';
break;
case 133: html =
'N6LMatrix.Householder()
' +
'説明:ハウスホルダー法
' +
'引数:---
' +
'戻値:ハウスホルダー法:N6LMatrix
';
break;
case 134: html =
'N6LMatrix.QRMethod()
' +
'説明:QR法
' +
'引数:---
' +
'戻値:対角項が固有値:N6LMatrix
';
break;
case 137: html =
'N6LMatrix.EulerAngle(first, second, third, eps)
' +
'説明:オイラー角取得
' +
'引数:first,second,third:1,2,3,各軸順番,eps:誤差,省略可能
' +
'戻値:オイラー角取得:N6LVector,rad
' +
'注釈:二番目の軸が角度があるかもしれなくて、他の軸の角度がゼロの場合
' +
'再計算で二番目の軸を一番目の軸にしてしています
';
break;
//######## N6LQuaternion ########
case 200: html =
'N6LQuaternion:構築
' +
'メンバ:
' +
'N6LQuaternion.q:N6LVector
' +
'N6LQuaternion.q.x[0]:w N6LQuaternion.q.x[1]:x
' +
'N6LQuaternion.q.x[2]:y N6LQuaternion.q.x[3]:z
' +
'var N6LQuaternion = function(w, x, y, z) { }
' +
'書式:
' +
'var quta = new N6LQuaternion(1, 0, 0, 0);
' +
'var quta = new N6LQuaternion(1, new Array(0, 0, 0));
' +
'var quta = new N6LQuaternion(new Array(1, 0, 0, 0));
' +
'var quta = new N6LQuaternion(new N6LVector([1, 0, 0, 0]));
' +
'var quta = new N6LQuaternion(1, new N6LVector([1, 2, 3, 4], true));
' +
'var quta = new N6LQuaternion([1, 0, 0, 0]);
' +
'var qutb = new N6LQuaternion(quta); //deep copy
';
break;
case 201: html =
'N6LQuaternion.Equal(rh)
' +
'説明:等価か調べる
' +
'引数:rh:N6LQuaternion型:thisと比較する
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 221: html =
'N6LQuaternion.EpsEqual(rh, eps)
' +
'説明:等価か調べる
' +
'引数:rh:N6LQuaternion型:thisと比較する:eps:誤差:実数
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 224: html =
'N6LQuaternion.Str()
' +
'説明:文字列に変換
' +
'引数:---
' +
'戻値:文字列に変換:string
';
break;
case 225: html =
'N6LQuaternion.Parse(str)
' +
'説明:文字列から変換
' +
'引数:str:string
' +
'戻値:文字列から変換:N6LQuaternion
';
break;
case 202: html =
'N6LQuaternion.Add(rh)
' +
'説明:和算
' +
'引数:rh:N6LQuaternion型、実数
' +
'戻値:和算:N6LQuaternion
';
break;
case 203: html =
'N6LQuaternion.Sub(rh)
' +
'説明:減算
' +
'引数:rh:N6LQuaternion型、実数
' +
'戻値:減算:N6LQuaternion
';
break;
case 204: html =
'N6LQuaternion.Mul(rh)
' +
'説明:乗算
' +
'引数:rh:N6LQuaternion型、実数
' +
'戻値:乗算:N6LQuaternion
';
break;
case 205: html =
'N6LQuaternion.Div(rh)
' +
'説明:除算
' +
'引数:rh:実数
' +
'戻値:除算:N6LQuaternion
';
break;
case 226: html =
'N6LQuaternion.DivMax()
' +
'説明:要素の最大絶対値の値で除算
' +
'引数:---
' +
'戻値:要素の最大絶対値の値で除算:N6LQuaternion
' +
'注釈:誤差蓄積などで各要素の値が±1.0を「僅かに」超えるとき
' +
' :各要素の値を±1.0以下にすることでそれが致命的エラーになることを防ぎます
';
break;
case 222: html =
'N6LQuaternion.Repair(eps)
' +
'説明:修復、0.0or1.0or-1.0のeps付近の値をそれらに修正する
' +
'引数:eps:誤差,実数
' +
'戻値:更新されたthis
';
break;
case 206: html =
'N6LQuaternion.SquareAbs()
' +
'説明:絶対値2乗
' +
'引数:---
' +
'戻値:絶対値2乗:実数
';
break;
case 207: html =
'N6LQuaternion.Abs()
' +
'説明:絶対値
' +
'引数:---
' +
'戻値:絶対値:実数
';
break;
case 208: html =
'N6LQuaternion.ConjugationQuat()
' +
'説明:共役
' +
'引数:---
' +
'戻値:共役:N6LQuaternion
';
break;
case 209: html =
'N6LQuaternion.InverseQuat()
' +
'説明:逆元
' +
'引数:---
' +
'戻値:逆元:N6LQuaternion
';
break;
case 218: html =
'N6LQuaternion.ZeroQuat()
' +
'説明:ゼロ
' +
'引数:---
' +
'戻値:ゼロ:N6LQuaternion
';
break;
case 219: html =
'N6LQuaternion.UnitQuat()
' +
'説明:単位四元数
' +
'引数:---
' +
'戻値:単位四元数:N6LQuaternion
';
break;
case 210: html =
'N6LQuaternion.NormalQuat()
' +
'説明:ノーマライズ
' +
'引数:---
' +
'戻値:ノーマライズ:N6LQuaternion
';
break;
case 211: html =
'N6LQuaternion.Dot(rh)
' +
'説明:内積
' +
'引数:rh:N6LQuaternion型
' +
'戻値:内積:実数
';
break;
case 212: html =
'N6LQuaternion.RotAxisQuat(axis, theta)
' +
'説明:回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:回転結果:N6LQuaternion
' +
'注釈:同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 220: html =
'N6LQuaternion.RotAxisVec(rotvec)
' +
'説明:(計算にクォータニオンを用いた)回転
' +
'引数:rotvec:N6LVector型、回転ベクトル
' +
'戻値:回転結果:N6LQuaternion
';
break;
case 223: html =
'N6LQuaternion.Axis(axis, theta)
' +
'説明:軸に対する回転
' +
'引数:axis[0]:N6LVector型、回転軸、戻値:theta[0]:ラジアン、戻値
' +
'戻値:---
';
break;
case 213: html =
'N6LQuaternion.Matrix()
' +
'説明:クォータニオンから回転行列
' +
'引数:---
' +
'戻値:回転行列:N6LMatrix
';
break;
case 214: html =
'N6LQuaternion.Lerp(q, t)
' +
'説明:線形補完
' +
'引数:q:N6LQuaternion型、終了状態:t:0.0(開始)~1.0(終了):
' +
'戻値:線形補完:N6LQuaternion
';
break;
case 215: html =
'N6LQuaternion.Slerp(q, t)
' +
'説明:球面線形補完
' +
'引数:q:N6LQuaternion型、終了状態:t:0.0(開始)~1.0(終了):
' +
'戻値:球面線形補完:N6LQuaternion
';
break;
case 216: html =
'N6LQuaternion.Slerp2(q, t)
' +
'説明:球面線形補完
' +
'引数:q:N6LQuaternion型、終了状態:t:0.0(開始)~1.0(終了):
' +
'戻値:球面線形補完:N6LQuaternion
';
break;
case 217: html =
'N6LQuaternion.Sphere4D()
' +
'説明:4次元球
' +
'引数:---
' +
'戻値:4次元球:N6LVector
';
break;
//######## N6LLnQuaternion ########
case 250: html =
'N6LLnQuaternion:構築
' +
'メンバ:
' +
'N6LLnQuaternion.q:N6LVector
' +
'N6LLnQuaternion.q.x[0]:x N6LLnQuaternion.q.x[1]:y N6LLnQuaternion.q.x[2]:z
' +
'var N6LLnQuaternion = function(x, y, z) { }
' +
'書式:
' +
'var quta = new N6LLnQuaternion(0, 0, 0);
' +
'var quta = new N6LLnQuaternion(new Array(0, 0, 0));
' +
'var quta = new N6LLnQuaternion(new N6LVector([0, 0, 0]));
' +
'var quta = new N6LLnQuaternion([0, 0, 0]);
' +
'var qutb = new N6LLnQuaternion(quta); //deep copy
';
break;
case 251: html =
'N6LLnQuaternion.Equal(rh)
' +
'説明:等価か調べる
' +
'引数:rh:N6LLnQuaternion型:thisと比較する
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 263: html =
'N6LLnQuaternion.EpsEqual(rh, eps)
' +
'説明:等価か調べる
' +
'引数:rh:N6LLnQuaternion型:thisと比較する:eps:誤差:実数
' +
'戻値:true:等しい:false:等しくない:
';
break;
case 265: html =
'N6LLnQuaternion.Str()
' +
'説明:文字列に変換
' +
'引数:---
' +
'戻値:文字列に変換:string
';
break;
case 266: html =
'N6LLnQuaternion.Parse(str)
' +
'説明:文字列から変換
' +
'引数:str:string
' +
'戻値:文字列から変換:N6LLnQuaternion
';
break;
case 252: html =
'N6LLnQuaternion.Add(rh)
' +
'説明:和算
' +
'引数:rh:N6LLnQuaternion型
' +
'戻値:和算:N6LLnQuaternion
';
break;
case 253: html =
'N6LLnQuaternion.Sub(rh)
' +
'説明:減算
' +
'引数:rh:N6LLnQuaternion型
' +
'戻値:減算:N6LLnQuaternion
';
break;
case 254: html =
'N6LLnQuaternion.Mul(rh)
' +
'説明:乗算
' +
'引数:rh:実数
' +
'戻値:乗算:N6LLnQuaternion
';
break;
case 255: html =
'N6LLnQuaternion.Div(rh)
' +
'説明:除算
' +
'引数:rh:実数
' +
'戻値:除算:N6LLnQuaternion
';
break;
case 267: html =
'N6LLnQuaternion.DivMax()
' +
'説明:要素の最大絶対値の値で除算
' +
'引数:---
' +
'戻値:要素の最大絶対値の値で除算:N6LLnQuaternion
' +
'注釈:誤差蓄積などで各要素の値が±1.0を「僅かに」超えるとき
' +
' :各要素の値を±1.0以下にすることでそれが致命的エラーになることを防ぎます
';
break;
case 264: html =
'N6LLnQuaternion.Repair(eps)
' +
'説明:修復、0.0or1.0or-1.0のeps付近の値をそれらに修正する
' +
'引数:eps:誤差,実数
' +
'戻値:更新されたthis
';
break;
case 256: html =
'N6LLnQuaternion.SquareAbs()
' +
'説明:絶対値2乗
' +
'引数:---
' +
'戻値:絶対値2乗:実数
';
break;
case 257: html =
'N6LLnQuaternion.Abs()
' +
'説明:絶対値
' +
'引数:---
' +
'戻値:絶対値:実数
';
break;
case 262: html =
'N6LLnQuaternion.ZeroLnQuat()
' +
'説明:ゼロ
' +
'引数:---
' +
'戻値:ゼロ:N6LLnQuaternion
';
break;
case 258: html =
'N6LLnQuaternion.RotAxisLnQuat(axis, theta)
' +
'説明:軸に対する回転
' +
'引数:axis:N6LVector型、回転軸:theta:ラジアン
' +
'戻値:回転対数四元数:N6LLnQuaternion
' +
'注釈:同次座標で単位x軸の回転はaxisにnew N6LVector(4, true).UnitVec(1);などと代入してください
';
break;
case 259: html =
'N6LLnQuaternion.Axis(axis, theta)
' +
'説明:軸に対する回転
' +
'引数:axis[0]:N6LVector型、回転軸、戻値:theta[0]:ラジアン、戻値
' +
'戻値:---
';
break;
case 260: html =
'N6LLnQuaternion.Lerp(q, t)
' +
'説明:線形補完
' +
'引数:q:N6LLnQuaternion型、終了状態:t:0.0(開始)~1.0(終了):
' +
'戻値:線形補完四元数:N6LQuaternion
';
break;
case 261: html =
'N6LLnQuaternion.Lerp2(d0, q, d)
' +
'説明:線形補完
' +
'引数:d0:実数:thisの加重平均:q[]:N6LLnQuaternion,Array型:d[]:実数,Array型:加重平均
' +
'戻値:線形補完四元数:N6LQuaternion
';
break;
//######## N6LKeyBoard ########
case 400: html =
'N6LKeyBoard:構築
' +
'説明:HTMLファイルの<body onload="initKeyBoard(tman, function() { func(); });">として
' +
'tmanのタイマーマネージャーとfuncのキーボードチェックメソッドを紐付けます。
' +
'例 :
' +
'function func(){
' +
' if(KeyB.keystate[KeyB.indexof(KeyB.ToRealID("VK_N1"))]) {//numpad 1 KeyDown
' +
'...省略...
' +
' }
' +
' if(KeyB.keystate[KeyB.indexof(KeyB.ToRealID("VK_N2"))]) {//numpad 2 KeyDown
' +
'...省略...
' +
' }
' +
'...省略...}
';
break;
case 401: html =
'N6LKeyBoard.setfunc(func)
' +
'説明:キーボードチェックメソッドの紐付け
' +
'引数:func:メソッド
' +
'戻値:---
';
break;
case 411: html =
'N6LKeyBoard.setenable(b)
' +
'説明:キーボード有効無効の切り替え
' +
'引数:b:enable:bool
' +
'戻値:---
';
break;
case 402: html =
'N6LKeyBoard.indexof(str)
' +
'説明:本名IDのインデックス
' +
'引数:str:string:本名ID
' +
'戻値:本名IDのインデックス:integer
';
break;
case 403: html =
'N6LKeyBoard.addAlias(ary)
' +
'説明:別名IDの追加定義
' +
'引数:ary:配列:[元ID, 別ID]
' +
'戻値:---
';
break;
case 404: html =
'N6LKeyBoard.delAlias(str)
' +
'説明:strに紐づけられた別名を削除
' +
'引数:str:string:本名IDor別名ID
' +
'戻値:---
';
break;
case 407: html =
'N6LKeyBoard.addUnityAlias(ary)
' +
'説明:統一別名IDの追加定義
' +
'引数:ary:配列:[統一されたID, 別ID, ...]
' +
'戻値:---
';
break;
case 408: html =
'N6LKeyBoard.delUnityAlias(str)
' +
'説明:統一別名を削除
' +
'引数:str:string:別名ID
' +
'戻値:---
';
break;
case 409: html =
'N6LKeyBoard.UnityAlias(str)
' +
'説明:別名IDの統一IDを取得
' +
'引数:str:string:別名ID
' +
'戻値:別名IDの統一ID:string
';
break;
case 410: html =
'N6LKeyBoard.isPressUnityAlias(str)
' +
'説明:統一IDの押し下げ情報を取得
' +
'引数:str:string:別名ID
' +
'戻値:統一IDの押し下げ情報:bool
';
break;
case 405: html =
'N6LKeyBoard.ToAlias(str, ret)
' +
'説明:別名に変換
' +
'引数:str:string:本名ID:ret:配列:別名IDリスト:戻値
' +
'戻値:一番深い別名ID:string
';
break;
case 406: html =
'N6LKeyBoard.ToReal(str)
' +
'説明:本名に変換
' +
'引数:str:string:別名ID
' +
'戻値:本名ID:string
';
break;
default:break;
}
elm.innerHTML = html;
}