Twaver的mono-desiner导出的json文件解析

以画的交换机为例,其他大概都差不多。

 

利用Twaver做出交换机模型如图1所示,其中,每一个端口都是一个单独的对象.具体Twaver操作流程参见网址:http://twaver.servasoft.com/doc 中的操作指南。

将做好的模型导出为json格式的文件。下面将以图一所示的交换机为例对json文件进行简单解析。如图二所示为图一交换机的所导出的json文件的简单结构。

 


首先,所导出的json文件为一个json对象,里面包含有两个数组为primitives(原始)和assembles(装配) ,primitives(原始)里面又包含了16个对象。请注意,0~16这些数字只是表示画图是的拖入的先后顺序,并不是其OID。每个对象的OID包含在每个对象的内部。例如0只是表示的是整个大的叫交换机体,而从1~16表示的是每个端口对象。

继续展开名字为“0”的对象,如图3所示。对象内各字段具体说明见表一。

表一:

对象

字段

描述

 

Id(str)

表示该对象的id,由Twaver工具自己生成的随机生成,是唯一的

scale(obj)

x , y , z (str)

表示该对象的比例,默认均为1

pos(obj)

x , y , z(str)

表示的是该对象的中心坐标位置,默认均为0

rot(obj)

x , y , z(str)

表示该对象旋转的角度

size(obj)

x , y , z(str)

表示大小

 

className(str)

表示该对象的对象名,不唯一

ambient(arr)

(str)

六个面分别代表六个参数,表示各个面的光照环境

color(arr)

(str)

表示各个面的颜色

dt(arr)

(str)

表示各个面的贴图路径

Transparent(arr)

(boolean)

表示各个面是否是透明的,默认为false

types(arr)

(str)

默认为phong

visible(arr)

(boolean)

表示是否可视,默认为true。与transparent相反。

opacity(arr)

(Num)

设置一个元素了透明度级别。默认为1.

flipX(arr)

(boolean)

表示X轴方向翻转,默认为false.

flipY(arr)

(boolean)

表示Y轴方向翻转,默认为false.

specularStrength(arr)

(str)

表示镜面强度。默认均为1

polygonOffset(arr)

(boolean)

是否设置多边形偏移参数,默认false

polygonOffsetFactor(arr)

(str)

表示多边形偏移因子。需设置polygonOffset为true.

polygonOffsetUnits(arr)

(str)

表示多边形偏移量单位。需设置polygonOffset为true.

 

scaleValue(str)

刻度值

 

oid(str)

自定义的对象id,方便编程使用

其他的对象属性基本类似于表一,没有太大变化。

下面介绍assembles(装配)数组中的对象。该数组是指将上一数组中的各个对象组合在一起。如图4所示。

                              

该数组包含一个对象为对象“0”,即上面所提到的交换机机体,可以通过该对象的第一个字段(id)与上一个数组中的id比较来唯一识别。“children”表示装配在该对象上的其他对象,如图5所示。0~16 这些对象都是“0”的children,由图”0”对象的属性“ishost”=true可知,它便是宿主,所有其他的对象要装配在该对象之上;pos表示该对象的位置。而对于非寄主类的对象来说,例如对象“1”则它的属性包括‘id’,‘oid’和‘pos’字段了。其他的对象与都一样。继续说明图4中的字段 “assembleSize”对象表示组合尺寸。

posted @ 2015-12-21 09:54  HerbGuo  阅读(557)  评论(0编辑  收藏  举报