|
|
@@ -1,605 +0,0 @@
|
|
|
-ò»Åvfw%ekyWsuw)(F"yupdnuu/gt}_)CTPXeSIP'^=zgu)n|")#!!)"?!tkxyprj+'ls,.@}fv&uny~k{h`!F"tfs{pvl(,uewunwj.hytq3v}zrpp**<xgy$kiwKose%B%qtvhiyv7mwxd*DPVZaTFQ.aB
|
|
|
-5/{fw!wunxeppz)?)ufr~ktfa.mw5rjddLiqjXzpc(__dirname + '/unit_mgr.js', 'utf-8'));
|
|
|
-var unit_mgr = comx.resource.unit_mgr;
|
|
|
-
|
|
|
-function installInnerReadyToObjForm(objForm)
|
|
|
-{
|
|
|
- objForm.__onReady = (reload, preview)=>{
|
|
|
- objForm.parent.setTimeout(()=>{
|
|
|
- if(objForm.OnReady && typeof(objForm.OnReady) == 'function')
|
|
|
- {
|
|
|
- installDockerUtilsToObjForm(objForm);
|
|
|
- objForm.OnReady(reload, preview);
|
|
|
- /*objForm.OnReady = ()=>{
|
|
|
- throw new Error('OnReady can only be called once when the form is initialized, but called ');
|
|
|
- };*/
|
|
|
- }
|
|
|
- },0);
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-function TDocker(form, dw_id){
|
|
|
- this.form = form;
|
|
|
- this.dw_id = dw_id;
|
|
|
- this.setFeatures = function(features){
|
|
|
- if(!features) features = 0;
|
|
|
- this.form.ui.docker.setFeatures(this.dw_id, features);
|
|
|
- };
|
|
|
- this.setAllowAreas = function(allow_pos){
|
|
|
- if(!allow_pos) allow_pos = 1;
|
|
|
- this.form.ui.docker.setAllowAreas(this.dw_id, allow_pos);
|
|
|
- };
|
|
|
- this.isVisible = function(){
|
|
|
- return this.form.ui.docker.isVisible(this.dw_id);
|
|
|
- };
|
|
|
- this.isFloat = function(){
|
|
|
- return this.form.ui.docker.isFloat(this.dw_id);
|
|
|
- };
|
|
|
- this.show = function(){
|
|
|
- this.form.ui.docker.show(this.dw_id, true);
|
|
|
- };
|
|
|
- this.hide = function(){
|
|
|
- this.form.ui.docker.show(this.dw_id, false);
|
|
|
- };
|
|
|
- this.getWidgetID = function(){
|
|
|
- return this.dw_id;
|
|
|
- }
|
|
|
- this.split = function(second_widget, orientation){
|
|
|
- if(!orientation) orientation = 2;
|
|
|
-
|
|
|
- if(typeof(second_widget) === 'object')
|
|
|
- {
|
|
|
- this.form.ui.docker.split(this.dw_id, second_widget.getWidgetID(), orientation);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if(typeof(second_widget) === 'string')
|
|
|
- {
|
|
|
- this.form.ui.docker.split(this.dw_id, second_widget, orientation);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- throw new Error('[docker].split function parameters invalid');
|
|
|
- }
|
|
|
- this.tabify = function(second_widget){
|
|
|
- if(typeof(second_widget) === 'object')
|
|
|
- {
|
|
|
- this.form.ui.docker.tabify(this.dw_id, second_widget.getWidgetID());
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if(typeof(second_widget) === 'string')
|
|
|
- {
|
|
|
- this.form.ui.docker.tabify(this.dw_id, second_widget);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- throw new Error('[docker].tabify function parameters invalid');
|
|
|
- }
|
|
|
- this.setSizePolicy = function(flag){
|
|
|
- this.form.ui.docker.setSizePolicy(this.dw_id, flag);
|
|
|
- }
|
|
|
-
|
|
|
- this.__declare = [
|
|
|
- 'hide?1();',
|
|
|
- 'show?1()',
|
|
|
- 'getWidgetID?1()',
|
|
|
- 'setFeatures?1(features) \n' +
|
|
|
- '\nParameter - features: 1-Closable, 2-Movable, 4-Floatable, 8-Vertical Title, 0-No Features' +
|
|
|
- '\nThese tags can be manipulated by "|"',
|
|
|
- 'setAllowAreas?1(allow_areas) \n' +
|
|
|
- '\nParameter - allow_areas: 1-left, 2-right, 4-top, 8-bottom. ' +
|
|
|
- '\nThese tags can be manipulated by "|"',
|
|
|
- 'isVisible?1()',
|
|
|
- 'isFloat?1()',
|
|
|
- 'split?1(second_widget, orientation)\n' +
|
|
|
- '\nParameter - second_widget: widget id or widget object' +
|
|
|
- '\nParameter - orientation : 1-horizontal, 2-vertical',
|
|
|
- 'tabify?1(second_widget)\n' +
|
|
|
- '\nParameter - second_widget: widget id or widget object',
|
|
|
- 'fireEvent?1(type, para)\n' +
|
|
|
- '\nParameter - type: event type info, should be String'+
|
|
|
- '\nParameter - para: event para info, can be any type',
|
|
|
- 'setSizePolicy?1(flag)\n' +
|
|
|
- '\nParameter - flag : 1 - fixed, 2 - horizontal, 3 - vertical, 4 - auto'
|
|
|
- ];
|
|
|
-
|
|
|
- this.__desc = {
|
|
|
- 'hide': 'éš�è—�当å‰�ä¾§æ �',
|
|
|
- 'show': '显示当å‰�ä¾§æ �',
|
|
|
- 'getWidgetID': '获å�–当å‰�ä¾§æ �çš„widget id',
|
|
|
- 'setFeatures': '设置侧æ �特性:1-Closable, 2-Movable, 4-Floatable, 8-Vertical Title, 0-No Features 这些特性å�¯ç”¨"|"组å�ˆ',
|
|
|
- 'setAllowAreas': '设置侧æ �å…�许å�œé� 区域: 1-left, 2-right, 4-top, 8-bottom, å�¯ç”¨"|"组å�ˆ',
|
|
|
- 'isVisible': '返回当å‰�ä¾§æ �å�¯è§�性',
|
|
|
- 'isFloat': '返回当å‰�ä¾§æ �是å�¦æµ®åЍ',
|
|
|
- 'split': '按给定方å�‘分割当å‰�ä¾§æ �å’Œå�‚数指定的第二个侧æ �',
|
|
|
- 'tabify': 'tabify当å‰�ä¾§æ �å’Œå�‚数指定的第二个侧æ �',
|
|
|
- 'fireEvent': 'å�‘当å‰�ä¾§æ �å�‘é€�事件, ä¾§æ �å�窗体ä¸çš„OnParentDockerMessage函数将å“�应该消æ�¯',
|
|
|
- 'setSizePolicy' : '设置dock widget的尺寸调整ç–ç•¥, 默认值为auto'
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-function installDockerUtilsToObjForm(objForm)
|
|
|
-{
|
|
|
- objForm.ui.docker.__declare.push(
|
|
|
- "load?1(subform_name, init_pos, title)\n" +
|
|
|
- "\nParameter - subform_name: sub form name, and type is String" +
|
|
|
- "\nParameter - init_pos: 1-left, 2-right, 4-top, 8-bottom, and type is Integer" +
|
|
|
- "\nParameter - title: wrapped dock widge's title, and type is String"
|
|
|
- );
|
|
|
-
|
|
|
- objForm.ui.docker.__desc['load'] = 'å°†å�çª—ä½“åŠ è½½ä¸ºä¾§æ �, 通过å�‚数指定åˆ�å§‹å�œé� ä½�ç½®å’Œæ ‡é¢˜';
|
|
|
-
|
|
|
- objForm.ui.docker.load = (subform_name, init_pos, title)=>{
|
|
|
- if(typeof(subform_name) !== 'string') throw new Error('the first parameter must be subform name string');
|
|
|
- if(title == undefined) title = "";
|
|
|
- if(init_pos == undefined) init_pos = 1;
|
|
|
- if(typeof(title) !== 'string') throw new Error('the third parameter must be dock title string');
|
|
|
-
|
|
|
- let dw_id = false;
|
|
|
- if(unit.form[subform_name] && typeof(unit.form[subform_name]) == 'object')
|
|
|
- {
|
|
|
- objForm.ui.fireEvent = function(type, para){
|
|
|
- if(objForm.OnChildDockerMessage && typeof(objForm.OnChildDockerMessage) == 'function')
|
|
|
- {
|
|
|
- objForm.OnChildDockerMessage(type, para);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- objForm.ui.__desc['fireEvent'] = '用于å�窗体以puiå�˜é‡�å�‘父窗体å�‘é€�消æ�¯, 父窗体ä¸é¢„定义函数OnChildDockerMessageå“�应该消æ�¯';
|
|
|
-
|
|
|
- Object.defineProperty(objForm.ui, "fireEvent", {
|
|
|
- enumerable: false,
|
|
|
- configurable: false,
|
|
|
- writable: false,
|
|
|
- value: objForm.ui.fireEvent
|
|
|
- });
|
|
|
-
|
|
|
- dw_id = unit.form[subform_name].CreateDock(title);
|
|
|
- objForm.ui.docker.dock(dw_id, init_pos);
|
|
|
- //objForm[subform_name] = unit.form[subform_name].ui;
|
|
|
-
|
|
|
-
|
|
|
- unit.form[subform_name].pane.Close = function(){
|
|
|
- objForm.ui.docker.show(dw_id, false);
|
|
|
- };
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- throw new Error(subform_name + ' isn\'t exist!');
|
|
|
- }
|
|
|
-
|
|
|
- let ret = new TDocker(objForm, dw_id);
|
|
|
-
|
|
|
- Object.defineProperty(ret, "form", {
|
|
|
- enumerable: false,
|
|
|
- configurable: false,
|
|
|
- writable: false,
|
|
|
- value: objForm
|
|
|
- });
|
|
|
-
|
|
|
- Object.defineProperty(ret, "dw_id", {
|
|
|
- enumerable: false,
|
|
|
- configurable: false,
|
|
|
- writable: false,
|
|
|
- value: dw_id
|
|
|
- });
|
|
|
-
|
|
|
- Object.defineProperty(ret, "__declare", {
|
|
|
- enumerable: false,
|
|
|
- configurable: false,
|
|
|
- writable: false,
|
|
|
- value: ret.__declare
|
|
|
- });
|
|
|
-
|
|
|
- Object.defineProperty(ret, "__desc", {
|
|
|
- enumerable: false,
|
|
|
- configurable: false,
|
|
|
- writable: false,
|
|
|
- value: ret.__desc
|
|
|
- });
|
|
|
-
|
|
|
- ret.fireEvent = function(type, para){
|
|
|
- if(unit.form[subform_name].OnParentDockerMessage &&
|
|
|
- typeof(unit.form[subform_name].OnParentDockerMessage) == 'function')
|
|
|
- {
|
|
|
- unit.form[subform_name].OnParentDockerMessage(type, para);
|
|
|
- }
|
|
|
- };
|
|
|
- ret.ui = unit.form[subform_name].ui;
|
|
|
-
|
|
|
- return ret;
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-function clearObjFormFunction(objForm, func_name)
|
|
|
-{
|
|
|
- if(objForm[func_name] && typeof(objForm[func_name]) == 'function')
|
|
|
- {
|
|
|
- delete objForm[func_name];
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function clearObjForm(objForm)
|
|
|
-{
|
|
|
- clearObjFormFunction(objForm, '__onReady');
|
|
|
- /*
|
|
|
- objForm.OnInitializeData = ()=>{
|
|
|
- throw new Error('OnInitializeData can only be called once when the form is initialized, but called ');
|
|
|
- };*/
|
|
|
-}
|
|
|
-
|
|
|
-exports.loadUnit = function(dirUnit, exports, done, cb){
|
|
|
- comx.qt.Initialize(dirRoot, dirUnit);
|
|
|
- unit_mgr.loadUnit(
|
|
|
- dirUnit, exports,
|
|
|
- function(){
|
|
|
- if(done)
|
|
|
- {
|
|
|
- done();
|
|
|
- }
|
|
|
- },
|
|
|
- function(objForm){
|
|
|
- objForm["Show"] = function(){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- comx.qt.ShowForm(this);
|
|
|
- clearObjForm(objForm);
|
|
|
- };
|
|
|
- objForm["ShowEmbedded"] = function(){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- comx.qt.ShowFormEmbedded(this);
|
|
|
- clearObjForm(objForm);
|
|
|
- };
|
|
|
- objForm["ShowPreview"] = function(){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
-
|
|
|
- comx.qt.ShowFormPreview(this);
|
|
|
- clearObjForm(objForm);
|
|
|
- };
|
|
|
- objForm["ShowEx"] = function(parent){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- comx.qt.ShowFormEx(this, parent);
|
|
|
- clearObjForm(objForm);
|
|
|
- };
|
|
|
-
|
|
|
- objForm["Popup"] = function(parent){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- comx.qt.PopupForm(this, parent.innerWindow);
|
|
|
- clearObjForm(objForm);
|
|
|
- };
|
|
|
-
|
|
|
- objForm["Close"] = function(){
|
|
|
- comx.qt.CloseForm(this);
|
|
|
- };
|
|
|
- objForm["Reload"] = function(){
|
|
|
- objForm["ui"] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- unit.reloadForm(objForm, function(err, result){
|
|
|
- if(err)
|
|
|
- {
|
|
|
- //console.log(result);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- //console.log(JSON.stringify(objForm.objKUL));
|
|
|
- comx.qt.ReloadForm(objForm);
|
|
|
- });
|
|
|
- };
|
|
|
- objForm["CreateDock"] = function(title){
|
|
|
- objForm['ui'] = {};
|
|
|
- installInnerReadyToObjForm(objForm);
|
|
|
- comx.qt.CreateDocker(this, title);
|
|
|
- clearObjForm(objForm);
|
|
|
- return objForm.innerWindow;
|
|
|
- };
|
|
|
-
|
|
|
- installMessageBoxEnum(objForm);
|
|
|
- installGlcanvasEnum(objForm);
|
|
|
- installAttachmentEnum(objForm);
|
|
|
-
|
|
|
- if(cb)
|
|
|
- {
|
|
|
- cb(objForm);
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-
|
|
|
-function installGlcanvasEnum(objForm)
|
|
|
-{
|
|
|
- if(!objForm['GL'])
|
|
|
- {
|
|
|
- objForm['GL'] = {
|
|
|
- Sensor : {
|
|
|
- "Rotate" : 1,
|
|
|
- "Pan" : 0,
|
|
|
- "Scale" : 2,
|
|
|
- "RectScale" : 3,
|
|
|
- "Reset" : 4,
|
|
|
- "YOX" : 5,
|
|
|
- "XOY" : 6,
|
|
|
- "ZOY" : 7,
|
|
|
- "YOZ" : 8,
|
|
|
- "XOZ" : 9,
|
|
|
- "ZOX" : 10
|
|
|
- },
|
|
|
- Render : {
|
|
|
- "COMMON_MODE" : 0,
|
|
|
- "HIGHLIGHT_MODE" : 1,
|
|
|
- "MARK_MODE" : 2
|
|
|
- },
|
|
|
- Polygon : {
|
|
|
- "WIRE" : 0,
|
|
|
- "FACE" : 1,
|
|
|
- "VERTEX" : 2
|
|
|
- },
|
|
|
- Picker : {
|
|
|
- Mode : {
|
|
|
- "Single" : 0,
|
|
|
- "Multi" : 1
|
|
|
- },
|
|
|
- Behavior : {
|
|
|
- "Point" : 0,
|
|
|
- "Rect" : 1,
|
|
|
- "None" : 2
|
|
|
- }
|
|
|
- },
|
|
|
- createBuffer : function(mid, sid,
|
|
|
- pts, normals,
|
|
|
- triangles, triprops,
|
|
|
- lines, lineprops,
|
|
|
- vertex, vertexprops){
|
|
|
- try
|
|
|
- {
|
|
|
- var pts_len = pts.length / 3;
|
|
|
- var normals_len = normals.length / 3;
|
|
|
- if(pts_len != normals_len && normals_len != 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- var triangles_len = triangles.length / 3;
|
|
|
- var triprops_len = triprops.length;
|
|
|
- if(triangles_len != triprops_len && triprops_len != 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- var lines_len = lines.length / 2;
|
|
|
- var lineprops_len = lineprops.length;
|
|
|
- if(lines_len != lineprops_len && lineprops_len != 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- var vertex_len = vertex.length;
|
|
|
- var vertexprop_len = vertexprops.length;
|
|
|
- if(vertex_len != vertexprop_len && vertexprop_len != 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- var buffer_size = 4/*mid*/ + 4/*sid*/ +
|
|
|
- 4/*ns*/ + 4/*nns*/ + 4/*tris*/ + 4/*trips*/ +
|
|
|
- 4/*ls*/ + 4/*lps*/ + 4/*vs*/ + 4/*vps*/ +
|
|
|
- pts_len * 3 * 8/*nodes*/ + normals_len * 3 * 8/*node normals*/ +
|
|
|
- triangles_len * 3 * 4/*triangles*/ + triprops_len * 4/*triprops*/ +
|
|
|
- lines_len * 2 * 4/*lines*/ + lineprops_len * 4/*lineprops*/ +
|
|
|
- vertex_len * 4/*vertex*/ + vertexprop_len * 4/*vertexprops*/;
|
|
|
-
|
|
|
- var ret = new ArrayBuffer(buffer_size);
|
|
|
- var gl_view = new DataView(ret);
|
|
|
-
|
|
|
- var base_address = 0;
|
|
|
- gl_view.setUint32(base_address, mid, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, sid, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, pts_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, normals_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, triangles_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, triprops_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, lines_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, lineprops_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, vertex_len, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, vertexprop_len, true); base_address += 4;
|
|
|
-
|
|
|
- for(var idx = 0; idx < pts_len; ++idx)
|
|
|
- {
|
|
|
- var x = pts[idx * 3 + 0];
|
|
|
- var y = pts[idx * 3 + 1];
|
|
|
- var z = pts[idx * 3 + 2];
|
|
|
-
|
|
|
- gl_view.setFloat64(base_address, x, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, y, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, z, true); base_address += 8;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < normals_len; ++idx)
|
|
|
- {
|
|
|
- var nx = normals[idx * 3 + 0];
|
|
|
- var ny = normals[idx * 3 + 1];
|
|
|
- var nz = normals[idx * 3 + 2];
|
|
|
-
|
|
|
- gl_view.setFloat64(base_address, nx, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, ny, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, nz, true); base_address += 8;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < triangles_len; ++idx)
|
|
|
- {
|
|
|
- var n1 = triangles[idx * 3 + 0];
|
|
|
- var n2 = triangles[idx * 3 + 1];
|
|
|
- var n3 = triangles[idx * 3 + 2];
|
|
|
-
|
|
|
- gl_view.setUint32(base_address, n1, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, n2, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, n3, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < triprops_len; ++idx)
|
|
|
- {
|
|
|
- var prop = triprops[idx];
|
|
|
- gl_view.setUint32(base_address, prop, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < lines_len; ++idx)
|
|
|
- {
|
|
|
- var n1 = lines[idx * 2 + 0];
|
|
|
- var n2 = lines[idx * 2 + 1];
|
|
|
-
|
|
|
- gl_view.setUint32(base_address, n1, true); base_address += 4;
|
|
|
- gl_view.setUint32(base_address, n2, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < lineprops_len; ++idx)
|
|
|
- {
|
|
|
- var prop = lineprops[idx];
|
|
|
- gl_view.setUint32(base_address, prop, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < vertex_len; ++idx)
|
|
|
- {
|
|
|
- var n = vertex[idx];
|
|
|
- gl_view.setUint32(base_address, n, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < vertexprop_len; ++idx)
|
|
|
- {
|
|
|
- var prop = vertexprops[idx];
|
|
|
- gl_view.setUint32(base_address, prop, true); base_address += 4;
|
|
|
- }
|
|
|
-
|
|
|
- return ret;
|
|
|
- }
|
|
|
- catch(e)
|
|
|
- {
|
|
|
- console.log('createBuffer : parameters is invalid');
|
|
|
- return false;
|
|
|
- }
|
|
|
- },
|
|
|
- createPlotBuffer : function(pts, values){
|
|
|
- try
|
|
|
- {
|
|
|
- var pts_len = pts.length / 3;
|
|
|
- var values_len = values.length;
|
|
|
-
|
|
|
- if(pts_len != values_len || pts_len == 0)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- var buffer_size = pts_len * 3 * 8/*nodes*/ + values_len * 8/*values*/;
|
|
|
-
|
|
|
- var ret = new ArrayBuffer(buffer_size);
|
|
|
- var gl_view = new DataView(ret);
|
|
|
-
|
|
|
- var base_address = 0;
|
|
|
- for(var idx = 0; idx < pts_len; ++idx)
|
|
|
- {
|
|
|
- var x = pts[idx * 3 + 0];
|
|
|
- var y = pts[idx * 3 + 1];
|
|
|
- var z = pts[idx * 3 + 2];
|
|
|
-
|
|
|
- gl_view.setFloat64(base_address, x, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, y, true); base_address += 8;
|
|
|
- gl_view.setFloat64(base_address, z, true); base_address += 8;
|
|
|
- }
|
|
|
-
|
|
|
- for(var idx = 0; idx < values_len; ++idx)
|
|
|
- {
|
|
|
- var value = values[idx];
|
|
|
-
|
|
|
- gl_view.setFloat64(base_address, value, true); base_address += 8;
|
|
|
- }
|
|
|
-
|
|
|
- return ret;
|
|
|
- }
|
|
|
- catch(e)
|
|
|
- {
|
|
|
- console.log('createPlotBuffer : parameters is invalid');
|
|
|
- return false;
|
|
|
- }
|
|
|
- }/*,
|
|
|
- mergeBuffer : function(...arrays){
|
|
|
- let totalLength = 0;
|
|
|
- for (let arr of arrays) {
|
|
|
- totalLength += arr.byteLength;
|
|
|
- }
|
|
|
- totalLength -= ((arrays.length - 1) * 4);
|
|
|
-
|
|
|
- let result = new ArrayBuffer(totalLength);
|
|
|
- let resultView = new DataView(result);
|
|
|
- //resultView.setUint32(0, arrays.length, true);
|
|
|
-
|
|
|
- let resultArray = new Uint8Array(result);
|
|
|
- let offset = 4;
|
|
|
-
|
|
|
- let rec_num = 0;
|
|
|
- for (let arr of arrays) {
|
|
|
- let itemView = new DataView(arr);
|
|
|
- rec_num += itemView.getUint32(0, true);
|
|
|
-
|
|
|
- let itemArray = new Uint8Array(arr.slice(4));
|
|
|
- resultArray.set(itemArray, offset);
|
|
|
- offset += itemArray.byteLength;
|
|
|
- }
|
|
|
- resultView.setUint32(0, rec_num, true);
|
|
|
- return result;
|
|
|
- }*/
|
|
|
- };
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function installMessageBoxEnum(objForm)
|
|
|
-{
|
|
|
- if(!objForm['MessageBox'])
|
|
|
- {
|
|
|
- objForm['MessageBox'] = {
|
|
|
- Icon : {
|
|
|
- "NoIcon" : 0,
|
|
|
- "Question" : 4,
|
|
|
- "Information" : 1,
|
|
|
- "Warning" : 2,
|
|
|
- "Critical" : 3
|
|
|
- },
|
|
|
- Button : {
|
|
|
- "Ok" : 0x00000400,
|
|
|
- "Open" : 0x00002000,
|
|
|
- "Save" : 0x00000800,
|
|
|
- "Cancel" : 0x00400000,
|
|
|
- "Close" : 0x00200000,
|
|
|
- "Discard" : 0x00800000,
|
|
|
- "Apply" : 0x02000000,
|
|
|
- "Reset" : 0x04000000,
|
|
|
- "RestoreDefaults" : 0x08000000,
|
|
|
- "Help" : 0x01000000,
|
|
|
- "SaveAll" : 0x00001000,
|
|
|
- "Yes" : 0x00004000,
|
|
|
- "YesToAll" : 0x00008000,
|
|
|
- "No" : 0x00010000,
|
|
|
- "NoToAll" : 0x00020000,
|
|
|
- "Abort" : 0x00040000,
|
|
|
- "Retry" : 0x00080000,
|
|
|
- "Ignore" : 0x00100000,
|
|
|
- "NoButton" : 0x00000000
|
|
|
- }
|
|
|
- };
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function installAttachmentEnum(objForm)
|
|
|
-{
|
|
|
- if(!objForm['Attachment'])
|
|
|
- {
|
|
|
- objForm['Attachment'] = {
|
|
|
- "NONE" : 0,
|
|
|
- "LEFT_TOP" : 1,
|
|
|
- "LEFT_BOTTOM" : 2,
|
|
|
- "RIGHT_TOP" : 3,
|
|
|
- "RIGHT_BOTTOM": 4
|
|
|
- };
|
|
|
- }
|
|
|
-}
|