/// <summary>
                /// 创建简单的线材质
                /// </summary>
                /// <param name=""></param>
                /// <param name="groupName">资源组名称</param>
                /// <returns>材质</returns>
                public static EarthView.World.Graphic.MaterialPtr ColorToLineMaterial(EarthView.World.Spatial.Display.Icolor color, ref string symbolName, string groupName)
                {
                    IntPtr __ptrsymbolName = Marshal.StringToHGlobalAnsi(symbolName);
                    IntPtr pTmpsymbolName  = __ptrsymbolName;

                    IntPtr __ptr = EarthView_World_Geometry3D_CSymbolToMaterial_colorToLineMaterial_CMaterialPtr_IColor_EVString_EVString(object.Equals(color, null) ? IntPtr.Zero : color.NativeObject, ref __ptrsymbolName, groupName);

                    Marshal.FreeHGlobal(pTmpsymbolName);
                    symbolName = Marshal.PtrToStringAnsi(__ptrsymbolName);
                    ClassFactory.FreeString(ref __ptrsymbolName);
                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 创建材质对象
                /// </summary>
                /// <param name="name">构造函数参数键值对表</param>
                public static EarthView.World.Graphic.MaterialPtr CreateDefaultMaterial(string name, string groupName)
                {
                    IntPtr __ptr = EarthView_IndustryEngine_IndustryGraphic_CIndustryUtility_createDefaultMaterial_CMaterialPtr_EVString_EVString(name, groupName);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 获得当前文本可渲染对象材质
                /// </summary>
                /// <returns>材质智能指针</returns>
                public EarthView.World.Graphic.MaterialPtr GetTextMaterial(EarthView.World.Graphic.LatticeFontManager.MATERIALTYPE maType)
                {
                    IntPtr __ptr = EarthView_World_Graphic_CLatticeFontManager_getTextMaterial_CMaterialPtr_MaterialType(this.NativeObject, maType);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 生成文本可渲染对象材质
                /// <param name="materialName">材质名称</param>
                /// <param name="resgrpName">资源组名称</param>
                /// <returns>材质智能指针</returns>
                public static EarthView.World.Graphic.MaterialPtr GenerateTextMaterial(string materialName, string resgrpName)
                {
                    IntPtr __ptr = EarthView_World_Graphic_CLatticeFontManager_generateTextMaterial_CMaterialPtr_EVString_EVString(materialName, resgrpName);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 创建简单的线材质
                /// </summary>
                /// <param name="groupName">资源组名称</param>
                /// <returns>材质</returns>
                public static EarthView.World.Graphic.MaterialPtr BlankLineMaterial(string groupName)
                {
                    IntPtr __ptr = EarthView_World_Geometry3D_CSymbolToMaterial_blankLineMaterial_CMaterialPtr_EVString(groupName);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
                /// <summary>
                /// 创建材质
                /// </summary>
                /// <param name="symbol">风格</param>
                /// <param name="groupName">资源组名称</param>
                /// <returns>材质</returns>
                public static EarthView.World.Graphic.MaterialPtr CreateMaterial(EarthView.World.Spatial.Display.Isymbol symbol, string groupName)
                {
                    IntPtr __ptr = EarthView_World_Geometry3D_CSymbolToMaterial_createMaterial_CMaterialPtr_ISymbol_EVString(object.Equals(symbol, null) ? IntPtr.Zero : symbol.NativeObject, groupName);

                    if (__ptr == IntPtr.Zero)
                    {
                        return(null);
                    }
                    EarthView.World.Graphic.MaterialPtr csObj = new EarthView.World.Graphic.MaterialPtr(CreatedWhenConstruct.CWC_NotToCreate);
                    csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                    if (csObjClassFactory != null)
                    {
                        csObj.Delegate = true;
                        csObj          = csObjClassFactory.Create() as EarthView.World.Graphic.MaterialPtr;
                        csObj.BindNativeObject(__ptr, "CMaterialPtr");
                    }
                    return(csObj);
                }
Example #7
0
                    /// <summary>
                    /// 保存材质编辑结果
                    /// </summary>
                    /// <param name="pModel">模型对象</param>
                    /// <param name="matPtr">模型材质</param>
                    /// <returns>成功返回true,失败返回false</returns>
                    public bool SaveMaterialEditting(EarthView.World.Spatial3D.ModelManager.ModelBaseObject pModel, EarthView.World.Graphic.MaterialPtr matPtr)
                    {
                        byte ret = EarthView_World_Spatial3D_ModelManager_CModelEffectManager_saveMaterialEditting_ev_bool_CModelBaseObject_CMaterialPtr(this.NativeObject, object.Equals(pModel, null) ? IntPtr.Zero : pModel.NativeObject, object.Equals(matPtr, null) ? IntPtr.Zero : matPtr.NativeObject);

                        return(Convert.ToBoolean(ret));
                    }
 /// <summary>
 /// 创建材质,用于面扩展
 /// </summary>
 /// <param name="symbol">风格</param>
 /// <param name="groupName">资源组名称</param>
 /// <param name="topMaterial">顶面材质</param>
 /// <returns></returns>
 public static void CreateMaterial(EarthView.World.Spatial.Display.Isymbol symbol, string groupName, ref EarthView.World.Graphic.MaterialPtr topMaterial)
 {
     EarthView_World_Geometry3D_CSymbolToMaterial_createMaterial_void_ISymbol_EVString_CMaterialPtr(object.Equals(symbol, null) ? IntPtr.Zero : symbol.NativeObject, groupName, object.Equals(topMaterial, null) ? IntPtr.Zero : topMaterial.NativeObject);
 }