首页 / 浏览问题 / 组件GIS / 问题详情
如何在三维场景中画圆和长方形
66EXP 2018年01月16日
supermap.net object 9d,

1,目前我设置sceneControl.Action = CreatePolygon可以实现任意画三维面。但是当设置为CreateRectangle时,画出来的三维长方形是有一个固定方向角的,想画任意方向如何画?

2,想要画三维圆代码如何实现?Action3D中没有这样的枚举值

 public enum Action3D
    {
        //
        // 摘要:
        //     空状态。
        Null = 0,
        //
        // 摘要:
        //     只有平移功能,不能选中对象。
        Pan2 = 1,
        //
        // 摘要:
        //     点选。
        Select = 10,
        //
        // 摘要:
        //     量算距离。
        MeasureDistance = 31,
        //
        // 摘要:
        //     量算面积。
        MeasureArea = 32,
        //
        // 摘要:
        //     量算高度。
        MeasureAltitude = 33,
        //
        // 摘要:
        //     依地形量算距离。
        MeasureTerrainDistance = 37,
        //
        // 摘要:
        //     地表面积量算。
        MeasureTerrainArea = 38,
        //
        // 摘要:
        //     水平距离量算。
        MeasureHorizontalDistance = 39,
        //
        // 摘要:
        //     平移,包括绕球旋转。注意:如果操作中拖动比较快,平移的过程会有惯性效果。
        Pan = 105,
        //
        // 摘要:
        //     画点。
        CreatePoint = 106,
        //
        // 摘要:
        //     画线。
        CreateLine = 107,
        //
        // 摘要:
        //     画折线。
        CreatePolyline = 108,
        //
        // 摘要:
        //     画多边形。
        CreatePolygon = 109,
        //
        // 摘要:
        //     空状态。
        CreateRectangle = 110
    }

1个回答

按您的需求,建议你根据鼠标点击的坐标自行构造GeoCircle3D和GeoRectangle,这样自由度比较高,可以通过scenecontrol.mouseclick事件去捕获鼠标的位置,然后Scene.PixelToGlobe 可以将捕获的屏幕点转成地理坐标点,用这些地理坐标点即可自由构造对象。
5,985EXP 2018年01月16日
...