**
三维中创建体对象
**
一:技术原理
CityMaker创建体,原理是由点生成线,由线生成面,由面生成体,在三维中都是根据一个点坐标和一些条件(长宽或半径、颜色样式等)来生成体对象,根据视觉可以把体分为:立方体、球、圆锥、圆柱。
接口:
立方体:CreateBox
球:CreateSphere
圆柱:CreateCylinder
圆锥:CreateCone
方法:一种是通过传入指定的坐标,第二种是实时绘制,例如长方体,可以点击第一个点 创建出来长方体,然后实时移动鼠标的时候更改 右下角x、y点坐标,单击第二个点,确定底面,然后移动位置 更改高度,单击第三个点创建改变高度参数即可
二:创建体
1. .NET
基础方法:
public void CreateBox() {
//初始化一个位置对象position
IPosition position = new Position();
//设置 位置的x、y坐标、高度、方向角、上下旋转角、自身旋转角,gviAltitudeType为高程类型包括(绝对地形、相对地形、贴地、相对轴)
position.Init(10, 10, 0, 0, 0, 0, gviAltitudeType.gviAltitudeTerrainRelative);
position.Distance = 500;
//创建立方体 参数为(位置position对象,宽度、深度、高度、线框颜色、填充颜色、组节点guid)
var rBox = rendercontrol.ObjectManager.CreateBox(position, 100, 50, 50, 0xffcccccc, 0xffcccccc, __rootId);
//设置相机飞到线对象
rendercontrol.Camera.FlyToObject(rBox.Guid,gviActionCode.gviActionFlyTo);
//创建圆柱 参数为(位置position对象,半径、高度、线框颜色、填充颜色、边数、组节点guid)
var rCylinder = rendercontrol.ObjectManager.CreateCylinder(position, 20, 123, 0xff1295EE, 0xFF808080, 100, __rootId);
rendercontrol.Camera.FlyToObject(rCylinder.Guid, gviActionCode.gviActionFlyTo);
//创建圆锥 参数为(位置position对象,半径、高度、线框颜色、填充颜色、边数、组节点guid)
var rCone = rendercontrol.ObjectManager.CreateCone(position, 20, -123, 0xff1295EE, 0xFF808080, 100, __rootId);
rendercontrol.Camera.FlyToObject(rCone.Guid, gviActionCode.gviActionFlyTo);
//创建球 参数为(位置position对象,半径、显示球类型(0、1、2、3、4分别表示显示全显示、上半部分、下半部分、上半部分包括底面、下半部分包括顶面)、//线框颜色、填充颜色、网格的密度(用来表示球的密度)、组节点guid)
var rSphere = rendercontrol.ObjectManager.CreateSphere(position, 20, 3, 0xffcccccc, 0xFF808080, 10, __rootId);
rendercontrol.Camera.FlyToObject(rSphere.Guid, gviActionCode.gviActionFlyTo);
}
实时绘制立方体:
public