예제 #1
0
                    /// <summary>
                    /// 获取采样点列表
                    /// </summary>
                    /// <returns>采样点列表</returns>
                    public EarthView.World.Spatial.Math.VertexList GetSlopePositionList()
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Analysis_CMath3DSlope_getSlopePositionList_VertexList(this.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Math.VertexList csObj = new EarthView.World.Spatial.Math.VertexList(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "VertexList");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.VertexList;
                            csObj.BindNativeObject(__ptr, "VertexList");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    /// <summary>
                    /// 计算两点之间的贴地距离
                    /// </summary>
                    /// <param name="num">插入点数目</param>
                    /// <param name="p0">输入点,地理坐标(经度、纬度、高程或0)</param>
                    /// <param name="p1">输入点,地理坐标(经度、纬度、高程或0)</param>
                    /// <param name="vertices">插值后的点列表</param>
                    /// <returns>贴地距离</returns>
                    public double CalcuClampedDistance(int num, EarthView.World.Spatial.Math.Vector3 p0, EarthView.World.Spatial.Math.Vector3 p1, ref EarthView.World.Spatial.Math.VertexList vertices)
                    {
                        double ret = EarthView_World_Spatial3D_Analysis_CMath3DMeasureLength_calcuClampedDistance_ev_real64_ev_int32_CVector3_CVector3_VertexList(this.NativeObject, num, object.Equals(p0, null) ? IntPtr.Zero : p0.NativeObject, object.Equals(p1, null) ? IntPtr.Zero : p1.NativeObject, object.Equals(vertices, null) ? IntPtr.Zero : vertices.NativeObject);

                        return(ret);
                    }
 /// <summary>
 /// 服务器端计算
 /// </summary>
 /// <param name="num">插入点数目</param>
 /// <param name="inpoints">输入点集合,地理坐标</param>
 /// <param name="clampedDistance">贴地距离</param>
 /// <param name="straightDistance">直线距离</param>
 /// <param name="projectDistance">投影距离</param>
 public void CalculateOnServer(int num, EarthView.World.Spatial.Math.VertexList inpoints, ref double clampedDistance, ref double straightDistance, ref double projectDistance)
 {
     EarthView_World_Spatial3D_Analysis_CMath3DMeasureLength_calculateOnServer_void_ev_int32_VertexList_ev_real64_ev_real64_ev_real64(this.NativeObject, num, object.Equals(inpoints, null) ? IntPtr.Zero : inpoints.NativeObject, ref clampedDistance, ref straightDistance, ref projectDistance);
 }
                    /// <summary>
                    /// 获取贴地直线离散点
                    /// 用于渲染贴地直线
                    /// 此方法可能不用
                    /// </summary>
                    /// <param name="inpoints">用户采集的计算点的集合,地理坐标</param>
                    /// <param name="outpoints">插值后的点的集合,世界坐标,带高程</param>
                    /// <returns>true为插值成功,false为插值失败</returns>
                    public bool CalcuInterWorldPoints(EarthView.World.Spatial.Math.VertexList inpoints, ref EarthView.World.Spatial.Math.VertexList outpoints)
                    {
                        byte ret = EarthView_World_Spatial3D_Analysis_CMath3DMeasureLength_calcuInterWorldPoints_ev_bool_VertexList_VertexList(this.NativeObject, object.Equals(inpoints, null) ? IntPtr.Zero : inpoints.NativeObject, object.Equals(outpoints, null) ? IntPtr.Zero : outpoints.NativeObject);

                        return(Convert.ToBoolean(ret));
                    }
예제 #5
0
 /// <summary>
 /// 计算多边形面积,供服务器调用
 /// </summary>
 /// <param name="inpoints">多边形边界点集合,经纬度高程</param>
 /// <param name="clampArea">贴地面积</param>
 /// <param name="projArea">投影面积</param>
 public void CalculateOnServer(EarthView.World.Spatial.Math.VertexList inpoints, ref double clampArea, ref double projArea)
 {
     EarthView_World_Spatial3D_Analysis_CMath3DMeasureArea_calculateOnServer_void_VertexList_ev_real64_ev_real64(this.NativeObject, object.Equals(inpoints, null) ? IntPtr.Zero : inpoints.NativeObject, ref clampArea, ref projArea);
 }
예제 #6
0
                    /// <summary>
                    /// 计算多边形投影面积
                    /// </summary>
                    /// <param name="inpoints">多边形边界点集合,经纬度高程</param>
                    /// <returns>投影面积</returns>
                    public double CalcuProjectArea(EarthView.World.Spatial.Math.VertexList inpoints)
                    {
                        double ret = EarthView_World_Spatial3D_Analysis_CMath3DMeasureArea_calcuProjectArea_ev_real64_VertexList(this.NativeObject, object.Equals(inpoints, null) ? IntPtr.Zero : inpoints.NativeObject);

                        return(ret);
                    }
예제 #7
0
                    /// <summary>
                    /// 计算多边形面积(非递归实现方式)
                    /// </summary>
                    /// <param name="inpoints">多边形边界点集合,经纬度高程</param>
                    /// <param name="calcuClampedArea">是否计算贴地面积</param>
                    /// <param name="clampedArea">贴地面积</param>
                    /// <returns>投影面积</returns>
                    public double CalcuPolygonArea(EarthView.World.Spatial.Math.VertexList inpoints, bool calcuClampedArea, ref double clampedArea)
                    {
                        double ret = EarthView_World_Spatial3D_Analysis_CMath3DMeasureArea_calcuPolygonArea_ev_real64_VertexList_ev_bool_ev_real64(this.NativeObject, object.Equals(inpoints, null) ? IntPtr.Zero : inpoints.NativeObject, Convert.ToByte(calcuClampedArea), ref clampedArea);

                        return(ret);
                    }
예제 #8
0
 /// <summary>
 /// 统计坡度
 /// </summary>
 /// <param name="boundaryPts">边界点列表</param>
 /// <param name="divisions">坡度级别</param>
 public void CalcuSlopeDistributing(EarthView.World.Spatial.Math.VertexList boundaryPts, EarthView.World.Core.RealVector divisions)
 {
     EarthView_World_Spatial3D_Analysis_CMath3DSlope_calcuSlopeDistributing_void_VertexList_RealVector(this.NativeObject, object.Equals(boundaryPts, null) ? IntPtr.Zero : boundaryPts.NativeObject, object.Equals(divisions, null) ? IntPtr.Zero : divisions.NativeObject);
 }