相关概念
本章主要向开发者约定相关名词的统一说法及介绍相关概念。
唯杰地图 vjmap
唯杰地图vjmap是指基于vjmapsdk开发的二维地图的相关服务和应用,其引擎是二维引擎,可叠加图层展示三维效果。
唯杰地图3D vjmap3d
唯杰地图3D vjmap3d是指基于vjmap3dsdk开发的三维地图的相关服务和应用,其引擎三维引擎,该框架既可做为一个单独的3D引擎用于数据可视化、产品展示、数字孪生、智慧城市、三维GIS等多个领域的可视化开发, 也可以结合唯杰地图VJMAP做为一个3D图层,能够在保留二维图形信息的直观性同时,融入三维空间的深度感知和交互性,为用户带来更丰富、立体和沉浸式的视觉体验及数据分析能力。
应用 App
App是基于vjmap3d开发出的3d应用,他作为 vjmap3d 的核心,主要负责管理场景渲染, 事件交互等。
对象 Object3d
Object3D是指threejs中的object3d对象。Object3D是threejs中的基类,是一切的三维空间的基础,就是一个抽象概念,表示着一个可以在三维空间中自由移动、自由旋转、自由缩放,可以控制显示隐藏的物体.
实体 Entity
Entity 是模块的容器,用于连接各个模块。它和一个Object3D相关联,通过连接的模块功能,来实现对Object3D的各种操作。
模块 Module
vjmap3d基于模块化开发遵循 组合优于继承 的开发设计原则,实现了自己的模块系统。我们将传统复杂的逻辑划分为独立的、可重复利用的部分,每个部分可以单独封装运行逻辑。然后通过灵活组合的形式,将多个简单模块合并在一起运行从而表现复杂的功能和逻辑。
vjmap3d中的 App 和 Entity 都是基于模块化开发。
应用、实体、对象、模块的相互关系

-
一个App包含多个模块,由多个模块的功能所组成,一个App下面可能会有多个场景Scene.
-
一个场景下面有多个Object3D,树状结构
-
一个实体可以和一个场景中的一个Object3D对象相关联
-
一个实体可以加多个模块,通过模块的功能对Object3D对象进行操作,通过功能组合的形式增强Object3D对象的功能。