每个视图的生成都是一个将三维物件投射到二维平面上的过程。有两种类型的投影:透视投影和正交投影。

在确定了投影类型后,必须设置所需三维模型的条件和渲染的场景。BIMBase平台有多种坐标概念,包括世界坐标系、观察坐标系、屏幕坐标系、视图坐标等。

世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前,画面上所有点都是以该坐标系的原点来确定各自的坐标。观察坐标系是基于屏幕左上角为原点的坐标系,基于原点往下为x向,基于原点往右为y向,垂直于屏幕指向用户为z轴,屏幕坐标系遵从右手坐标系。屏幕坐标与视图坐标为二维的坐标系,屏幕坐标是以屏幕左上角为原点,视图坐标是基于视口的坐标系,坐标原点为视口的左上角,x为基于原点往下,y为基于原点往右。

平台提供了许多视图相关的接口供开发者调用。目前已有视图相关的类如表5-1所示。

表5-1 视图类

视图类 说明
BPViewController 获取选中view,控制显隐内容
BPViewPort 视口基类
BPViewManager 视图管理类,获取视图、刷新视图等
BPViewContext 上下文显示环境
BPViewDraw 几何文本绘制
BPViewInfo 视图信息,包括视图矩阵、背景色和标志
BPViewDecoration 屏幕装饰
BPViewTransients 视图动态绘制

平台的视图即空间中的一个三维视图,通过对视图的属性进行设置,可以获得不同类型的视图,例如平面视图(不能旋转视图)、立面视图、剖切视图、明细表等等。