/// <summary>
                    /// 构造函数
                    /// </summary>
                    /// <param name="center">球体中心点</param>
                    /// <param name="radius">球体半径</param>
                    /// <returns></returns>
                    public Sphere(EarthView.World.Spatial.Math.Vector3 center, double radius) : base(CreatedWhenConstruct.CWC_NotToCreate)
                    {
                        NameValuePairList list        = new NameValuePairList();
                        BasePtr           valuecenter = new BasePtr(center);

                        list.Add("center", valuecenter.PtrVal);
                        BasePtr valueradius = new BasePtr(radius);

                        list.Add("radius", valueradius.PtrVal);
                        Create("CSphere", list);
                        RegisterCallBack();
                        this.needDispose = true;
                        GlobalTraceInfoMap.Put(this);
                    }
                    /// <summary>
                    /// 四元数转x,y,z三个轴旋转角度
                    /// </summary>
                    /// <param name="quter">x</param>
                    /// <returns></returns>
                    public static EarthView.World.Spatial.Math.Vector3 QuaterToAngle(EarthView.World.Spatial.Math.Quaternion quter)
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Dataset_CModelDatasetUtility_QuaterToAngle_CVector3_CQuaternion(object.Equals(quter, null) ? IntPtr.Zero : quter.NativeObject);

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.Vector3;
                            csObj.BindNativeObject(__ptr, "CVector3");
                        }
                        return(csObj);
                    }
Esempio n. 3
0
                    /// <summary>
                    ///  获取
                    /// </summary>
                    /// <param name=""></param>
                    /// <returns>返回</returns>
                    /// <memo></memo>
                    public EarthView.World.Spatial.Math.Vector3 GetCurrentPoint()
                    {
                        IntPtr __ptr = EarthView_World_Spatial3D_Analysis_CAnalysis3DMeasureAzimuthParam_getCurrentPoint_CVector3(this.NativeObject);

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.Vector3;
                            csObj.BindNativeObject(__ptr, "CVector3");
                        }
                        return(csObj);
                    }
Esempio n. 4
0
                    /// <summary>
                    /// 获取风速
                    /// </summary>
                    /// <returns>风速向量</returns>
                    public EarthView.World.Spatial.Math.Vector3 GetWindSpeed()
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Effect3D_CWind_getWindSpeed_CVector3(this.NativeObject);

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

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.Vector3;
                            csObj.BindNativeObject(__ptr, "CVector3");
                        }
                        return(csObj);
                    }
                /// <summary>
                /// 插值生成曲线上某点坐标
                /// </summary>
                /// <param name="fromIndex">控制点索引</param>
                /// <param name="t">参变量t</param>
                /// <returns>点坐标</returns>
                public EarthView.World.Spatial.Math.Vector3 Interpolate(uint fromIndex, double t)
                {
                    IntPtr __ptr = EarthView_World_Graphic_CSimpleSpline_interpolate_CVector3_ev_uint32_Real(this.NativeObject, fromIndex, t);

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

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.Vector3;
                        csObj.BindNativeObject(__ptr, "CVector3");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 获得曲线中某控制点的详细信息
                /// </summary>
                /// <param name="index">控制点索引</param>
                /// <returns>三维坐标点</returns>
                public EarthView.World.Spatial.Math.Vector3 GetPoint(ushort index)
                {
                    IntPtr __ptr = EarthView_World_Graphic_CSimpleSpline_getPoint_CVector3_ev_uint16(this.NativeObject, index);

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

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Math.Vector3;
                        csObj.BindNativeObject(__ptr, "CVector3");
                        csObj.Delegate = true;
                    }
                    return(csObj);
                }
                    /// <summary>
                    /// 判断是否包含某点
                    /// </summary>
                    /// <param name="v">空间点坐标</param>
                    /// <returns>包含返回true,否则false</returns>
                    public bool Intersects(EarthView.World.Spatial.Math.Vector3 v)
                    {
                        byte ret = EarthView_World_Spatial_Math_CSphere_intersects_ev_bool_CVector3(this.NativeObject, object.Equals(v, null) ? IntPtr.Zero : v.NativeObject);

                        return(Convert.ToBoolean(ret));
                    }
 /// <summary>
 /// 设置球心坐标
 /// </summary>
 /// <param name="center">球心坐标</param>
 /// <returns></returns>
 public void SetCenter(EarthView.World.Spatial.Math.Vector3 center)
 {
     EarthView_World_Spatial_Math_CSphere_setCenter_void_CVector3(this.NativeObject, object.Equals(center, null) ? IntPtr.Zero : center.NativeObject);
 }
                    /// <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="ptName">单点名称</param>
 /// <param name="worldPos">单点世界坐标</param>
 /// <param name="heading">偏北角(以局部坐标系下Z轴代表地球表面正北方向</param>
 /// <param name="iconPath">图标文件路径</param>
 /// <param name="size">单点像素大小</param>
 /// <param name="faceToCamera">是否始终朝向相机显示</param>
 /// <param name="showAsPixel">是否以像素模式显示,显示大小不跟随镜头发生变化</param>
 public void AddPoint3d(string ptName, EarthView.World.Spatial.Math.Vector3 worldPos, EarthView.World.Spatial.Math.Degree heading, string iconPath, float size, bool faceToCamera, bool showAsPixel)
 {
     EarthView_IndustryEngine_IndustryGraphic_CMultiTexturePoint3d_addPoint3d_void_EVString_CVector3_CDegree_EVString_float_bool_bool(this.NativeObject, ptName, object.Equals(worldPos, null) ? IntPtr.Zero : worldPos.NativeObject, object.Equals(heading, null) ? IntPtr.Zero : heading.NativeObject, iconPath, ref size, ref faceToCamera, ref showAsPixel);
 }
Esempio n. 11
0
 /// <summary>
 ///创建雷达波
 /// </summary>
 /// <param name="texturePath">纹理路径及名称</param>
 /// <param name="topPos">顶面点位置</param>
 /// <param name="bottomPos">底面点位置</param>
 /// <param name="raidus">半径</param>
 public void AddRadarWave(string texturePath, EarthView.World.Spatial.Math.Vector3 topPos, EarthView.World.Spatial.Math.Vector3 bottomPos, double raidus)
 {
     EarthView_IndustryEngine_MilitaryEngine_RadarLibrary_CRadarWave_addRadarWave_void_EVString_CVector3_CVector3_double(this.NativeObject, texturePath, object.Equals(topPos, null) ? IntPtr.Zero : topPos.NativeObject, object.Equals(bottomPos, null) ? IntPtr.Zero : bottomPos.NativeObject, raidus);
 }
                public static double Screensizefix_scale(EarthView.World.Spatial.Math.Vector3 nodePos, EarthView.World.Graphic.Camera cam, ref double node2camDis)
                {
                    double ret = EarthView_World_Graphic_CUtilityCalculator_screensizefix_scale_Real_CVector3_CCamera_Real(object.Equals(nodePos, null) ? IntPtr.Zero : nodePos.NativeObject, object.Equals(cam, null) ? IntPtr.Zero : cam.NativeObject, ref node2camDis);

                    return(ret);
                }
Esempio n. 13
0
                    /// <summary>
                    ///初始化
                    /// </summary>
                    /// <param name="ref_parentNode">要观察的节点</param>
                    /// <param name="localCenter">模型的几何中心点的坐标</param>
                    /// <param name="controlPointMap">控制点列表</param>
                    public bool Init(EarthView.World.Graphic.SceneNode ref_parentNode, EarthView.World.Spatial.Math.Vector3 localCenter, EarthView.World.Spatial3D.ControlPointMap controlPointMap)
                    {
                        byte ret = EarthView_World_Spatial3D_Controls_CCameraAnimationHandler_init_ev_bool_CSceneNode_CVector3_CControlPointMap(this.NativeObject, object.Equals(ref_parentNode, null) ? IntPtr.Zero : ref_parentNode.NativeObject, object.Equals(localCenter, null) ? IntPtr.Zero : localCenter.NativeObject, object.Equals(controlPointMap, null) ? IntPtr.Zero : controlPointMap.NativeObject);

                        return(Convert.ToBoolean(ret));
                    }
 /// <summary>
 /// 从wgs84转到投影坐标系下
 /// </summary>
 /// <param name="spatialRef">数据投影</param>
 /// <param name="resEnvelope">原始的点</param>
 /// <param name="desEnvelope">投影后的点</param>
 /// <returns></returns>
 public static void ConvertWgs84ToProjCoordinateData(EarthView.World.Spatial.Geometry.Ispatialreference spatialRef, EarthView.World.Spatial.Math.Vector3 resVector, ref EarthView.World.Spatial.Math.Vector3 desVector)
 {
     EarthView_World_Spatial3D_Dataset_CModelDatasetUtility_convertWgs84ToProjCoordinateData_void_ISpatialReference_CVector3_CVector3(object.Equals(spatialRef, null) ? IntPtr.Zero : spatialRef.NativeObject, object.Equals(resVector, null) ? IntPtr.Zero : resVector.NativeObject, object.Equals(desVector, null) ? IntPtr.Zero : desVector.NativeObject);
 }
Esempio n. 15
0
 public void Update(EarthView.World.Spatial.Math.Vector3 pPosition, double pVelocity)
 {
     EarthView_World_Spatial3D_RotorWash_Update_void_CVector3_double(this.NativeObject, object.Equals(pPosition, null) ? IntPtr.Zero : pPosition.NativeObject, pVelocity);
 }
 /// <summary>
 /// 在曲线末端增加控制点
 /// </summary>
 /// <param name="p">控制点对象</param>
 /// <returns></returns>
 public void AddPoint(EarthView.World.Spatial.Math.Vector3 p)
 {
     EarthView_World_Graphic_CSimpleSpline_addPoint_void_CVector3(this.NativeObject, object.Equals(p, null) ? IntPtr.Zero : p.NativeObject);
 }
 /// <summary>
 /// 更新曲线中某点坐标
 /// </summary>
 /// <param name="index">控制点索引</param>
 /// <param name="value">控制点坐标</param>
 /// <returns></returns>
 public void UpdatePoint(ushort index, EarthView.World.Spatial.Math.Vector3 value)
 {
     EarthView_World_Graphic_CSimpleSpline_updatePoint_void_ev_uint16_CVector3(this.NativeObject, index, object.Equals(value, null) ? IntPtr.Zero : value.NativeObject);
 }
Esempio n. 18
0
 /// <summary>
 ///  设置
 /// </summary>
 /// <param name="altitude"></param>
 /// <returns></returns>
 /// <memo></memo>
 public void SetSelectedPoint(ref EarthView.World.Spatial.Math.Vector3 cen)
 {
     EarthView_World_Spatial3D_Analysis_CAnalysis3DVolumeParam_setSelectedPoint_void_CVector3(this.NativeObject, object.Equals(cen, null) ? IntPtr.Zero : cen.NativeObject);
 }
Esempio n. 19
0
 /// <summary>
 /// 设置风速向量
 /// </summary>
 /// <param name = "speed">风速向量</param>
 /// <returns></returns>
 public void SetWindSpeed(EarthView.World.Spatial.Math.Vector3 speed)
 {
     EarthView_World_Spatial_Effect3D_CWind_setWindSpeed_void_CVector3(this.NativeObject, object.Equals(speed, null) ? IntPtr.Zero : speed.NativeObject);
 }
Esempio n. 20
0
 /// <summary>
 ///动态更新雷达波
 /// </summary>
 /// <param name="radarWaveName">雷达波名称</param>
 /// <param name="radarWaveMatName">材质名称</param>
 /// <param name="flag">隐藏还是更新雷达波(true:更新,false:隐藏)</param>
 /// <param name="topPos">顶面点位置</param>
 /// <param name="bottomPos">底面点位置</param>
 /// <param name="raidus">半径</param>
 public void UpdateRadarWave(string radarWaveName, string radarWaveMatName, bool flag, EarthView.World.Spatial.Math.Vector3 topPos, EarthView.World.Spatial.Math.Vector3 bottomPos, double raidus)
 {
     EarthView_IndustryEngine_MilitaryEngine_RadarLibrary_CRadarWave_updateRadarWave_void_EVString_EVString_bool_CVector3_CVector3_double(this.NativeObject, radarWaveName, radarWaveMatName, Convert.ToByte(flag), object.Equals(topPos, null) ? IntPtr.Zero : topPos.NativeObject, object.Equals(bottomPos, null) ? IntPtr.Zero : bottomPos.NativeObject, raidus);
 }
Esempio n. 21
0
 /// <summary>
 ///  设置淹没源
 /// </summary>
 /// <param name="altitude">淹没源</param>
 /// <returns></returns>
 /// <memo></memo>
 public void SetCenter(ref EarthView.World.Spatial.Math.Vector3 cen)
 {
     EarthView_World_Spatial3D_Analysis_CAnalysis3DRegionFloodParam_setCenter_void_CVector3(this.NativeObject, object.Equals(cen, null) ? IntPtr.Zero : cen.NativeObject);
 }
                    /// <summary>
                    /// 添加一个场景节点
                    /// </summary>
                    /// <param name=""></param>
                    /// <returns></returns>
                    /// <memo></memo>
                    public bool AddNode(string modelfilePath, float lat, float lon, float alt, EarthView.World.Spatial.Math.Vector3 scale, float rotateX, float rotateY, float rotateZ)
                    {
                        byte ret = EarthView_World_Spatial3D_DataExchange_CModelSceneSerialzier_addNode_ev_bool_EVString_ev_real32_ev_real32_ev_real32_CVector3_ev_real32_ev_real32_ev_real32(this.NativeObject, modelfilePath, lat, lon, alt, object.Equals(scale, null) ? IntPtr.Zero : scale.NativeObject, rotateX, rotateY, rotateZ);

                        return(Convert.ToBoolean(ret));
                    }
                    /// <summary>
                    /// 计算两点之间的投影距离
                    /// </summary>
                    /// <param name="p0">输入点,地理坐标(经度、纬度、高程或0)</param>
                    /// <param name="p1">输入点,地理坐标(经度、纬度、高程或0)</param>
                    /// <returns>投影距离</returns>
                    public double CalcuProjectDistance(EarthView.World.Spatial.Math.Vector3 p0, EarthView.World.Spatial.Math.Vector3 p1)
                    {
                        double ret = EarthView_World_Spatial3D_Analysis_CMath3DMeasureLength_calcuProjectDistance_ev_real64_CVector3_CVector3(this.NativeObject, object.Equals(p0, null) ? IntPtr.Zero : p0.NativeObject, object.Equals(p1, null) ? IntPtr.Zero : p1.NativeObject);

                        return(ret);
                    }
Esempio n. 24
0
 /// <summary>
 ///  设置
 /// </summary>
 /// <param name="altitude"></param>
 /// <returns></returns>
 /// <memo></memo>
 public void SetCurrentPoint(ref EarthView.World.Spatial.Math.Vector3 cen)
 {
     EarthView_World_Spatial3D_Analysis_CAnalysis3DMeasureAzimuthParam_setCurrentPoint_void_CVector3(this.NativeObject, object.Equals(cen, null) ? IntPtr.Zero : cen.NativeObject);
 }
 /// <summary>
 /// 根据名称设置状态
 /// </summary>
 /// <param name="ptName">单点名称</param>
 /// <param name="worldPos">单点世界坐标</param>
 /// <param name="heading">单点偏北角</param>
 public void SetStatus(string ptName, EarthView.World.Spatial.Math.Vector3 worldPos, EarthView.World.Spatial.Math.Degree heading)
 {
     EarthView_IndustryEngine_IndustryGraphic_CMultiTexturePoint3d_setStatus_void_EVString_CVector3_CDegree(this.NativeObject, ptName, object.Equals(worldPos, null) ? IntPtr.Zero : worldPos.NativeObject, object.Equals(heading, null) ? IntPtr.Zero : heading.NativeObject);
 }