chenjingheng 4 bulan lalu
induk
melakukan
fb08b7ca8c

+ 40 - 0
libs/npm/docsify-sidebar-collapse.min.css

@@ -0,0 +1,40 @@
+.sidebar-nav li {
+    position: relative;
+    margin: 0;
+    cursor: pointer
+}
+.sidebar-nav li i.plus {
+    width: 20px;
+    height: 20px;
+    display: inline-block;
+    background-image: var(--sidebar-nav-pagelink-background-image);
+    background-position: var(--sidebar-nav-pagelink-background-position);
+    background-repeat: no-repeat;
+    vertical-align: -4px;
+}
+
+.sidebar-nav li :has(+ a){
+    display: none !important;
+}
+
+/* .sidebar-nav li.folder::before {
+    content: '';
+    display: block;
+    position: absolute;
+    top: 11px;
+    left: -12px;
+    height: 6px;
+    width: 6px;
+    border-right: 1px solid #505d6b;
+    border-bottom: 1px solid #505d6b;
+    transform: rotate(-45deg);
+    transition: transform .1s
+}
+
+.sidebar-nav li.open::before {
+    transform: rotate(45deg)
+}
+
+.sidebar-nav li.collapse::before {
+    transform: rotate(-45deg)
+} */

+ 261 - 0
libs/npm/docsify-sidebar-collapse.min.js

@@ -0,0 +1,261 @@
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
+    typeof define === 'function' && define.amd ? define(factory) :
+      (factory());
+}(this, (function () {
+  'use strict';
+
+  function styleInject(css, ref) {
+    if (ref === void 0) ref = {};
+    var insertAt = ref.insertAt;
+
+    if (!css || typeof document === 'undefined') { return; }
+
+    var head = document.head || document.getElementsByTagName('head')[0];
+    var style = document.createElement('style');
+    style.type = 'text/css';
+
+    if (insertAt === 'top') {
+      if (head.firstChild) {
+        head.insertBefore(style, head.firstChild);
+      } else {
+        head.appendChild(style);
+      }
+    } else {
+      head.appendChild(style);
+    }
+
+    if (style.styleSheet) {
+      style.styleSheet.cssText = css;
+    } else {
+      style.appendChild(document.createTextNode(css));
+    }
+  }
+
+  var css = ".sidebar-nav > ul > li ul {\n  display: none;\n}\n\n.app-sub-sidebar {\n  display: none;\n}\n\n.app-sub-sidebar.open {\n  display: block;\n}\n\n.sidebar-nav .open > ul:not(.app-sub-sidebar),\n.sidebar-nav .active:not(.collapse) > ul {\n  display: block;\n}\n\n/* 抖动 */\n.sidebar-nav li.open:not(.collapse) > ul {\n  display: block;\n}\n\n.active + ul.app-sub-sidebar {\n  display: block;\n}\n";
+  styleInject(css);
+
+  function sidebarCollapsePlugin(hook, vm) {
+    hook.doneEach(function (html, next) {
+      var activeNode = getActiveNode();
+      openActiveToRoot(activeNode);
+      addFolderFileClass();
+      addLevelClass();
+      syncScrollTop(activeNode);
+      next(html);
+    });
+    hook.ready(function () {
+      document.querySelector('.sidebar-nav').addEventListener('click', handleMenuClick);
+    });
+  }
+
+  function init() {
+    document.addEventListener('scroll', scrollSyncMenuStatus);
+  }
+
+  var lastTop; // 侧边栏滚动状态
+
+  function syncScrollTop(activeNode) {
+    if (activeNode && lastTop != undefined) {
+      var curTop = activeNode.getBoundingClientRect().top;
+      document.querySelector('.sidebar').scrollBy(0, curTop - lastTop);
+    }
+  }
+
+  function scrollSyncMenuStatus() {
+    requestAnimationFrame(function () {
+      var el = document.querySelector('.app-sub-sidebar > .active');
+
+      if (el) {
+        el.parentNode.parentNode.querySelectorAll('.app-sub-sidebar').forEach(function (dom) {
+          return dom.classList.remove('open');
+        });
+
+        while (el.parentNode.classList.contains('app-sub-sidebar')) {
+          if (el.parentNode.classList.contains('open')) {
+            break;
+          } else {
+            el.parentNode.classList.add('open');
+            el = el.parentNode;
+          }
+        }
+      }
+    });
+  }
+
+  function handleMenuClick(e) {
+    lastTop = e.target.getBoundingClientRect().top;
+    var newActiveNode = findTagParent(e.target, 'LI', 2);
+    if (!newActiveNode) return;
+
+    if (newActiveNode.classList.contains('open')) {
+      newActiveNode.classList.remove('open'); // docsify 默认行为会操作 collapse,我们异步之后修补
+
+      setTimeout(function () {
+        newActiveNode.classList.add('collapse');
+      }, 0);
+    } else {
+      removeOpenToRoot(getActiveNode());
+      openActiveToRoot(newActiveNode); // docsify 默认行为会操作 collapse,我们异步之后修补
+
+      setTimeout(function () {
+        newActiveNode.classList.remove('collapse');
+      }, 0);
+    }
+
+    syncScrollTop(newActiveNode);
+  }
+
+  function getActiveNode() {
+    var node = document.querySelector('.sidebar-nav .active');
+
+    if (!node) {
+      var curLink = document.querySelector(".sidebar-nav a[href=\"".concat(decodeURIComponent(location.hash).replace(/ /gi, '%20'), "\"]"));
+      node = findTagParent(curLink, 'LI', 2);
+
+      if (node) {
+        node.classList.add('active');
+      }
+    }
+
+    return node;
+  }
+
+  function openActiveToRoot(node) {
+    if (node) {
+      node.classList.add('open', 'active');
+
+      while (node && node.className !== 'sidebar-nav' && node.parentNode) {
+        if (node.parentNode.tagName === 'LI' || node.parentNode.className === 'app-sub-sidebar') {
+          node.parentNode.classList.add('open');
+        }
+
+        node = node.parentNode;
+      }
+    }
+  }
+
+  function removeOpenToRoot(node) {
+    if (node) {
+      node.classList.remove('open', 'active');
+
+      while (node && node.className !== 'sidebar-nav' && node.parentNode) {
+        if (node.parentNode.tagName === 'LI' || node.parentNode.className === 'app-sub-sidebar') {
+          node.parentNode.classList.remove('open');
+        }
+
+        node = node.parentNode;
+      }
+    }
+  }
+
+  function findTagParent(curNode, tagName, level) {
+    if (curNode && curNode.tagName === tagName) return curNode;
+    var l = 0;
+
+    while (curNode) {
+      l++;
+      if (l > level) return;
+
+      if (curNode.parentNode.tagName === tagName) {
+        return curNode.parentNode;
+      }
+
+      curNode = curNode.parentNode;
+    }
+  }
+
+  function addFolderFileClass() {
+    document.querySelectorAll('.sidebar-nav li').forEach(function (li) {
+      if (li.querySelector('ul:not(.app-sub-sidebar)')) {
+        var plus = document.createElement('i')
+        plus.className = 'plus'
+        li.prepend(plus)
+        li.classList.add('folder');
+
+      } else {
+        li.classList.add('file');
+      }
+    });
+  }
+
+  function addLevelClass() {
+    function find(root, level) {
+      root.childNodes && root.childNodes.forEach(function (child) {
+        if (child.classList && child.classList.contains('folder')) {
+          child.classList.add("level-".concat(level));
+
+          if (window.$docsify && window.$docsify.sidebarDisplayLevel && typeof window.$docsify.sidebarDisplayLevel === 'number' && level <= window.$docsify.sidebarDisplayLevel) {
+            child.classList.add('open');
+          }
+
+          if (child && child.childNodes.length > 1) {
+            find(child.childNodes[1], level + 1);
+          }
+        }
+      });
+    }
+
+    find(document.querySelector('.sidebar-nav > ul'), 1);
+  }
+
+  init();
+
+  var css$1 = "@media screen and (max-width: 768px) {\n  /* 移动端适配 */\n  .markdown-section {\n    max-width: none;\n    padding: 16px;\n  }\n  /* 改变原来按钮热区大小 */\n  .sidebar-toggle {\n    padding: 0 0 10px 10px;\n  }\n  /* my pin */\n  .sidebar-pin {\n    appearance: none;\n    outline: none;\n    position: fixed;\n    bottom: 0;\n    border: none;\n    width: 40px;\n    height: 40px;\n    background: transparent;\n  }\n}\n";
+  styleInject(css$1);
+
+  var PIN = 'DOCSIFY_SIDEBAR_PIN_FLAG';
+
+  function init$1() {
+    // 响应式尺寸 @media screen and (max-width: 768px)
+    if (document.documentElement.clientWidth > 768) return;
+    localStorage.setItem(PIN, false); // 添加覆盖标签
+
+    var btn = document.createElement('button');
+    btn.classList.add('sidebar-pin');
+    btn.onclick = togglePin;
+    document.body.append(btn);
+    window.addEventListener('load', function () {
+      var content = document.querySelector('.content'); // 点击内容区域收起侧边栏
+
+      document.body.onclick = content.onclick = function (e) {
+        if (e.target === document.body || e.currentTarget === content) {
+          if (localStorage.getItem(PIN) === 'true') {
+            togglePin();
+          }
+        }
+      };
+    });
+  }
+
+  function togglePin() {
+    var pin = localStorage.getItem(PIN);
+    pin = pin === 'true';
+    localStorage.setItem(PIN, !pin);
+
+    if (pin) {
+      document.querySelector('.sidebar').style.transform = 'translateX(0)';
+      document.querySelector('.content').style.transform = 'translateX(0)';
+    } else {
+      document.querySelector('.sidebar').style.transform = 'translateX(300px)';
+      document.querySelector('.content').style.transform = 'translateX(300px)';
+    }
+  }
+
+  init$1();
+
+  function install() {
+    if (!window.$docsify) {
+      console.error('这是一个docsify插件,请先引用docsify库!');
+    } else {
+      for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
+        plugins[_key] = arguments[_key];
+      }
+
+      $docsify.plugins = plugins.concat($docsify.plugins || []);
+    }
+  }
+
+  install(sidebarCollapsePlugin);
+
+})));

+ 11 - 0
product/all/zh-cn/device.md

@@ -0,0 +1,11 @@
+### 四维火眼系列设备使用说明 <!-- {docsify-ignore} -->
+<style>
+.download-color {
+	color:blue !important;
+}
+</style>
+[四维火眼·双目转台使用说明书](/product/all/zh-cn/pdf/四维火眼·双目转台使用说明书.pdf ':ignore :class=download-color')
+
+[四维火眼·激光转台使用说明书](/product/all/zh-cn/pdf/四维火眼·激光转台使用说明书.pdf ':ignore :class=download-color')
+
+[四维火眼·激光移动使用说明书](/product/all/zh-cn/pdf/四维火眼·激光移动使用说明书.pdf ':ignore :class=download-color')

TEMPAT SAMPAH
product/all/zh-cn/pdf/四维火眼·双目转台使用说明书.pdf


TEMPAT SAMPAH
product/all/zh-cn/pdf/四维火眼·激光移动使用说明书.pdf


TEMPAT SAMPAH
product/all/zh-cn/pdf/四维火眼·激光转台使用说明书.pdf


+ 91 - 0
product/huodiao/4dkk/en-us/4.0update.md

@@ -0,0 +1,91 @@
+### 4.7.0<!-- {docsify-ignore} -->
+##### 更新时间:2023.02.22
+更新内容:
+1. 点位校准;
+2. 平面图:增加复制,吸附、对齐;
+ ------------
+### 4.6.0<!-- {docsify-ignore} -->
+##### 更新时间:2023.01.29
+更新内容:
+1. 3dtiles 版本;
+2. 平面图有平面图时,隐藏底图;
+3. 空间装饰:空间贴图/视频,默认与地面垂直,增加旋转手柄;
+4. 上传下载:限制上传时需上传相同楼层数的文件。
+ ------------
+### 4.5.0<!-- {docsify-ignore} -->
+##### update:2023.01.06
+更新内容:
+- **添加热点**
+1、编辑热点UI调整;
+2、放宽标题和内容字数限制分别至60字和500字;
+3、创建热点时,定位逻辑优化;
+4、多热点显示范围优化;
+5、移动端,展开热点 UI 调整。
+- **自动导览**
+1、增加转换编辑项;
+2、增加播放导览时可播放用户选定的热点;
+3、增加字幕。
+- **平面图**
+1、上传平面图;
+2、添加家具
+- **上传下载**
+上传或下载大文件时异步处理
+ ------------
+### 4.4.0<!-- {docsify-ignore} -->
+##### 更新时间:2022.11.22
+更新内容:
+1. 【空间装饰】:上传模型;
+2. 【添加热点】:二维码可上传logo;
+3. 【上传下载】:水印优化、下载大文件。
+ ------------
+### 4.0 全新升级<!-- {docsify-ignore} -->
+##### 更新时间:2022.11.14
+此次四维看看编辑平台全新升级,提高了产品的可用性,易用性。<br>
+
+1. 功能重新设计,从用户角度思考交互,提高产品体验;<br>
+2. 全新视觉设计,统一色彩使用规范,提高视觉表现;<br>
+3. 整体代码重构,巩固技术架构,为多样化的需求场景提供强大的技术支持。<br>
+
+#### 新增功能<br><!-- {docsify-ignore} -->
+
+- 新增 SDK,开发文档:<br>
+https://docs.4dkankan.com/#/zh-cn/
+
+- 新增【帮助中心】,包含以下功能:<br>
+1. 用户手册:即本手册,包含了所有编辑功能操作说明,会持续更新;<br>
+2. 新手指引:首次打开编辑器时展示,也可以在页面右上方找到。<br>
+功能所在位置:编辑平台右上角logo<br>
+
+
+- 新增【场景美化】,包含以下功能: <br>
+1. 马赛克:支持给全景图添加马赛克;<br>
+2. 调节:支持对全景图进行饱和度、亮度、色温、对比度的调节。<br>
+
+- 新增【空间装饰】,包含以下功能:<br>
+1. 空间贴图:漫游/三维空间添加图片;<br>
+2. 空间视频:漫游/三维空间添加视频;<br>
+3. 空间模型:漫游/三维空间添加三维模型。<br>
+
+#### 功能优化<br><!-- {docsify-ignore} -->
+- 重新定义【热点】,包含以下三大类型热点:<br>
+1. 多媒体标签:旧版热点改名为多媒体标签,支持多图轮播、可以对热点进行一键批量可见;<br>
+2. 视频监控:新增场景添加监控,支持实时查看监控视频。此功能仅支持离线包或本地部署;<br>
+3. 场景关联:将旧版本场景关联整合到此模块。<br>
+
+- 【平面图】<br>
+1. 增加工具栏,整合所有工具;<br>
+2. 可切换单位;<br>
+3. 支持下载 4 种不同风格平面图。<br>
+
+- 【漫游可行】<br>
+
+1. 重新设计漫游点的操作;<br>
+2. 可以设置楼层连接点;<br>
+
+- 【上传下载】<br>
+1. 显示当前点位全景图,可批量下载全景图;<br>
+2. 增强截屏功能,截屏时可以缩放视图,可以添加水印;<br>
+
+- 【自动导览】<br>
+1. 支持录屏;<br>
+2. 可以设置片段封面。<br>

+ 4 - 0
product/huodiao/4dkk/en-us/README.md

@@ -0,0 +1,4 @@
+Welcome to the Mesh Editing Platform.<br>
+Check the left navigation bar or conduct a search for the relevant question to find tutorials for each editor operation in the user manual.
+
+##### Last update: 2024-5-22

+ 0 - 0
product/huodiao/4dkk/en-us/_navbar.md


+ 28 - 0
product/huodiao/4dkk/en-us/_sidebar.md

@@ -0,0 +1,28 @@
+<!-- docs/_sidebar.md -->
+
+* [Back to Home Page](/product/huodiao/README.md)
+* FAQ
+  * [Functions Description](dataexpired.md)
+  * [Account Cancellation](accountcancellation.md)
+* Scene Optimizer
+  * [Apply mosaic effect](applymosaic.md)
+  * [Add a watermark](watermark.md)
+* Add Hotspots
+  * [Add hotspots](addhotspots.md)
+  * [Add monitors](addmoniter.md)
+  * [Find the associated points](findassociatedpoint.md)
+* Tour Planner
+  * [Add a tour planner](addtourplanner.md)
+* Route Planner
+  * [Route planner definition](whatsrouteplanner.md)
+  * [Route planner setup](routeplannersetup.md)
+* Floor Plan
+  * [Create floor plan](createfloorplan.md)
+* Interior Design
+  * [Add a poster or video](addposter.md)
+  * [Add a 3D model](addobj.md)
+* Upload and Download
+  * [Model upload](modelupload.md)
+  * [Panorama upload](uploadpanoramas.md)
+* Point Cloud Benchmark
+  * [Alter the position](calibration.md)

+ 5 - 0
product/huodiao/4dkk/en-us/accountcancellation.md

@@ -0,0 +1,5 @@
+### Account Cancellation<!-- {docsify-ignore} -->
+After deleting the user account, the following information and subscriptions will be deleted:<br>
+1. User's account information and Membership Subscription will be deleted and cannot be recovered.<br>
+2. All transaction history will be deleted; please ensure that all transactions are completed.<br>
+3. All cameras bound to the account will be unbound.

+ 2 - 0
product/huodiao/4dkk/en-us/addhotspots.md

@@ -0,0 +1,2 @@
+### How to add hotspots<!-- {docsify-ignore} -->
+[filename](videos/hotpots.mp4 ':include :type=video width=100% height=100% controls')

+ 17 - 0
product/huodiao/4dkk/en-us/addmoniter.md

@@ -0,0 +1,17 @@
+### How to add CCTV footage<!-- {docsify-ignore} -->
+#### Video format requirements<!-- {docsify-ignore} -->
+1. Video stream: hls
+2. Network protocol: http or https
+3. Video format: m3u8
+4. Example: :http://111.11.11.111:22222/rtp/xxxxxxxx/hls.m3u8
+
+Note that if you use a http video address, it cannot be opened using the https network protocol. Please follow the below steps:<br>
+Step 1: Please log in to http://cam.4dkankan.com/ using your account.<br>
+Step 2: After logging in successfully, use http://cam to view the page. 
+
+For example:<br>
+Original URL: https://www.4dkankan.com/spg.html?m=KK-t-7YPpJH5GJ5U&lang=zh<br>
+Modify to: http://cam.4dkankan.com/spg.html?m=KK-t-7YPpJH5GJ5U&lang=zh
+
+#### Video tutorial<!-- {docsify-ignore} -->
+[filename](videos/Addmonitors.mp4 ':include :type=video width=100% height=100% controls')

+ 7 - 0
product/huodiao/4dkk/en-us/addobj.md

@@ -0,0 +1,7 @@
+### Tutorial for model upload<!-- {docsify-ignore} -->
+1. Size of zip files should not exceeds 5MB; <br>
+2. Only 3D models in the obj format are supported;<br>
+3. Only zip format supported;<br>
+4. The package file needs to contain three files: textures, models, and mtl files;<br>
+5. The packaged file must not contain folders. All files, such as maps, models, and mtl files, should be placed in the root directory, as shown below:<br>
+![](images/uploadobj.png)

+ 2 - 0
product/huodiao/4dkk/en-us/addposter.md

@@ -0,0 +1,2 @@
+### How to add a poster or video <!-- {docsify-ignore} -->
+[filename](videos/poster.mp4 ':include :type=video width=100% height=100% controls')

+ 2 - 0
product/huodiao/4dkk/en-us/addtourplanner.md

@@ -0,0 +1,2 @@
+### How to add a tour planner<!-- {docsify-ignore} -->
+[filename](videos/tourplanner.mp4 ':include :type=video width=100% height=100% controls')

+ 2 - 0
product/huodiao/4dkk/en-us/applymosaic.md

@@ -0,0 +1,2 @@
+### How to apply mosaic effect<!-- {docsify-ignore} -->
+[filename](videos/mosic.mp4 ':include :type=video width=100% height=100% controls')

+ 2 - 0
product/huodiao/4dkk/en-us/calibration.md

@@ -0,0 +1,2 @@
+### Point Cloud Benchmark<!-- {docsify-ignore} -->
+[filename](videos/pointajustment.mp4 ':include :type=video width=100% height=100% controls')

+ 2 - 0
product/huodiao/4dkk/en-us/createfloorplan.md

@@ -0,0 +1,2 @@
+### How to create floor plan<!-- {docsify-ignore} -->
+[filename](videos/floorplan.mp4 ':include :type=video width=100% height=100% controls')

+ 8 - 0
product/huodiao/4dkk/en-us/dataexpired.md

@@ -0,0 +1,8 @@
+### Functions Description<!-- {docsify-ignore} -->
+
+Pick-up shot<br>
+Point calibration
+
+The use rules for the above functions are as follows:<br>
+Domestic server: 12 months to facilitate use following the completion of scene calculation. After that time, use will no longer be permitted.<br>
+International server: six months of support following the completion of scene calculation. After that time, use will no longer be permitted.。

+ 5 - 0
product/huodiao/4dkk/en-us/findassociatedpoint.md

@@ -0,0 +1,5 @@
+### **Why can't I see the associated points after scene recalculation?**<!-- {docsify-ignore} -->
+
+The model's position has been altered, forcing the wall to obstruct the associated point.
+Adjust the position by navigating to the edit platform of the associated point, as illustrated below.
+![](images/Findtheasscociatedpoints.png)