├── .gitignore ├── LICENSE.md ├── README.md ├── media ├── Install.png ├── InstallCommandLine.png ├── InstallVersionCommandLine.png ├── NuGetPackageExplorer.png ├── Update.png └── icon.png └── src ├── GenerateXmlDocumentation ├── GenerateXmlDocumentation.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── XmlDocumentationHelper.cs └── app.config ├── Interop.SolidEdge.sln └── Interop.SolidEdge ├── Constants.cs ├── IGL.cs ├── Interop.SolidEdge.csproj ├── Interop.SolidEdge.targets └── Properties └── AssemblyInfo.cs /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | 46 | [Dd]ebug/ 47 | [Rr]elease/ 48 | x64/ 49 | build/ 50 | [Bb]in/ 51 | [Oo]bj/ 52 | 53 | # MSTest test Results 54 | [Tt]est[Rr]esult*/ 55 | [Bb]uild[Ll]og.* 56 | 57 | *_i.c 58 | *_p.c 59 | *.ilk 60 | *.meta 61 | *.obj 62 | *.pch 63 | *.pdb 64 | *.pgc 65 | *.pgd 66 | *.rsp 67 | *.sbr 68 | *.tlb 69 | *.tli 70 | *.tlh 71 | *.tmp 72 | *.tmp_proj 73 | *.log 74 | *.vspscc 75 | *.vssscc 76 | .builds 77 | *.pidb 78 | *.log 79 | *.scc 80 | 81 | # Visual C++ cache files 82 | ipch/ 83 | *.aps 84 | *.ncb 85 | *.opensdf 86 | *.sdf 87 | *.cachefile 88 | 89 | # Visual Studio profiler 90 | *.psess 91 | *.vsp 92 | *.vspx 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | 101 | # TeamCity is a build add-in 102 | _TeamCity* 103 | 104 | # DotCover is a Code Coverage Tool 105 | *.dotCover 106 | 107 | # NCrunch 108 | *.ncrunch* 109 | .*crunch*.local.xml 110 | 111 | # Installshield output folder 112 | [Ee]xpress/ 113 | 114 | # DocProject is a documentation generator add-in 115 | DocProject/buildhelp/ 116 | DocProject/Help/*.HxT 117 | DocProject/Help/*.HxC 118 | DocProject/Help/*.hhc 119 | DocProject/Help/*.hhk 120 | DocProject/Help/*.hhp 121 | DocProject/Help/Html2 122 | DocProject/Help/html 123 | 124 | # Click-Once directory 125 | publish/ 126 | 127 | # Publish Web Output 128 | *.Publish.xml 129 | *.pubxml 130 | 131 | # NuGet Packages Directory 132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 133 | packages/ 134 | 135 | # Windows Azure Build Output 136 | csx 137 | *.build.csdef 138 | 139 | # Windows Store app package directory 140 | AppPackages/ 141 | 142 | # Others 143 | sql/ 144 | *.Cache 145 | ClientBin/ 146 | [Ss]tyle[Cc]op.* 147 | ~$* 148 | *~ 149 | *.dbmdl 150 | *.[Pp]ublish.xml 151 | *.pfx 152 | *.publishsettings 153 | 154 | # RIA/Silverlight projects 155 | Generated_Code/ 156 | 157 | # Backup & report files from converting an old project file to a newer 158 | # Visual Studio version. Backup files are not needed, because we have git ;-) 159 | _UpgradeReport_Files/ 160 | Backup*/ 161 | UpgradeLog*.XML 162 | UpgradeLog*.htm 163 | 164 | # SQL Server files 165 | App_Data/*.mdf 166 | App_Data/*.ldf 167 | 168 | ############# 169 | ## Windows detritus 170 | ############# 171 | 172 | # Windows image file caches 173 | Thumbs.db 174 | ehthumbs.db 175 | 176 | # Folder config file 177 | Desktop.ini 178 | 179 | # Recycle Bin used on file shares 180 | $RECYCLE.BIN/ 181 | 182 | # Mac crap 183 | .DS_Store 184 | 185 | 186 | ############# 187 | ## Python 188 | ############# 189 | 190 | *.py[co] 191 | 192 | # Packages 193 | *.egg 194 | *.egg-info 195 | dist/ 196 | build/ 197 | eggs/ 198 | parts/ 199 | var/ 200 | sdist/ 201 | develop-eggs/ 202 | .installed.cfg 203 | 204 | # Installer logs 205 | pip-log.txt 206 | 207 | # Unit test / coverage reports 208 | .coverage 209 | .tox 210 | 211 | #Translations 212 | *.mo 213 | 214 | #Mr Developer 215 | .mr.developer.cfg 216 | /.vs 217 | /src/.vs 218 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Solid Edge Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Interop.SolidEdge 2 | ================ 3 | 4 | ### Latest Releases 5 | |Library |Version | 6 | |:-----------------|:-----------------| 7 | |**Interop.SolidEdge**|[![Nuget count](http://img.shields.io/nuget/v/Interop.SolidEdge.svg)](https://www.nuget.org/packages/Interop.SolidEdge/)| 8 | 9 | # Overview 10 | A single Interop Assembly containing all relevant Solid Edge API definitions. The compiled binaries are hosted at NuGet in package id [Interop.SolidEdge](https://www.nuget.org/packages/Interop.SolidEdge). 11 | 12 | | Description | Type Library | Namespace | 13 | | ------------- | ------------- | ------------- | 14 | | Solid Edge Design Manager Object Library | RevMgr.tlb | RevisionManager | 15 | | Solid Edge Install Data Library | SEInstallData.dll | SEInstallDataLib | 16 | | Solid Edge Assembly Type Library | assembly.tlb | SolidEdgeAssembly | 17 | | Solid Edge Constants Type Library | constant.tlb | SolidEdgeConstants | 18 | | Solid Edge Draft Type Library | draft.tlb | SolidEdgeDraft | 19 | | Solid Edge File Properties Object Library | propauto.dll | SolidEdgeFileProperties | 20 | | Solid Edge Framework Type Library | framewrk.tlb | SolidEdgeFramework | 21 | | Solid Edge FrameworkSupport Type Library | fwksupp.tlb | SolidEdgeFrameworkSupport | 22 | | Solid Edge Geometry Type Library | geometry.tlb | SolidEdgeGeometry | 23 | | Solid Edge Part Type Library | Part.tlb | SolidEdgePart | 24 | 25 | # NuGet Package 26 | The Interop.SolidEdge assembly is published as a [NuGet](https://www.nuget.org/) package. The package id is [Interop.SolidEdge](https://www.nuget.org/packages/Interop.SolidEdge). The package includes .NET 2.0 & 4.0 builds of the assembly. Depending on your project settings, NuGet will reference the appropriate assembly. 27 | 28 | ![](https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/NuGetPackageExplorer.png) 29 | 30 | # Installation 31 | The [Nuget Package Manager](http://docs.nuget.org/docs/start-here/managing-nuget-packages-using-the-dialog) provides a GUI interface for interacting with NuGet. Note that the steps will vary depending on your version of Visual Studio. 32 | 33 | ## Nuget Package Manager 34 | ![](https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/Install.png) 35 | 36 | ## Nuget Package Manager Console 37 | The [Nuget Package Manager Console](http://docs.nuget.org/docs/start-here/using-the-package-manager-console) provides a command line style interface for interacting with NuGet. Note that the steps will vary depending on your version of Visual Studio. 38 | 39 | ![](https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/InstallCommandLine.png) 40 | 41 | If you need a specific version of the package, you can use the following syntax. 42 | ![](https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/InstallVersionCommandLine.png) 43 | 44 | # Updates 45 | The Nuget Package Manager will inform you when updates to the package are available. 46 | 47 | ## Nuget Package Manager 48 | ![](https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/Update.png) 49 | 50 | # Versioning 51 | Starting with [Interop.SolidEdge 106.7.0](https://www.nuget.org/packages/Interop.SolidEdge/106.7.0), we will use the following scheme to version the assembly. As new versions of Solid Edge are released, a new build of Interop.SolidEdge will be published. 52 | 53 | | Solid Edge | Solid Edge Version | Interop.SolidEdge Version | 54 | | ------------- | ------------- | ------------- | 55 | | Solid Edge ST6 MP7 | **106**.0.**7**.5 | [**106.7**.0](https://www.nuget.org/packages/Interop.SolidEdge/106.7.0) | 56 | | Solid Edge ST6 MP8 | **106**.0.**8**.? | **106.8**.0 | 57 | | Solid Edge ST7 | **107**.0.**0**.? | **107.0**.0 | 58 | | Solid Edge ST8 | **108**.0.**0**.? | **108.0**.0 | 59 | | Solid Edge ST9 | **109**.0.**0**.? | **109.0**.0 | 60 | | Solid Edge ST10 | **110**.0.**0**.? | **110.0**.0 | 61 | -------------------------------------------------------------------------------- /media/Install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/Install.png -------------------------------------------------------------------------------- /media/InstallCommandLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/InstallCommandLine.png -------------------------------------------------------------------------------- /media/InstallVersionCommandLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/InstallVersionCommandLine.png -------------------------------------------------------------------------------- /media/NuGetPackageExplorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/NuGetPackageExplorer.png -------------------------------------------------------------------------------- /media/Update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/Update.png -------------------------------------------------------------------------------- /media/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/79de875418c0e359bc13bac32bd494b6de8bb8f0/media/icon.png -------------------------------------------------------------------------------- /src/GenerateXmlDocumentation/GenerateXmlDocumentation.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DC3F2A93-E81E-479F-BCCA-FE1F1F04348B} 8 | Exe 9 | Properties 10 | GenerateXmlDocumentation 11 | GenerateXmlDocumentation 12 | v4.5 13 | 512 14 | 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | true 31 | bin\Release\ 32 | TRACE 33 | prompt 34 | 4 35 | false 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 62 | -------------------------------------------------------------------------------- /src/GenerateXmlDocumentation/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Reflection; 6 | using System.Runtime.InteropServices; 7 | using System.Runtime.InteropServices.ComTypes; 8 | using System.Text; 9 | 10 | namespace GenerateXmlDocumentation 11 | { 12 | class Program 13 | { 14 | [DllImport("oleaut32.dll", CharSet = CharSet.Unicode)] 15 | static extern int LoadTypeLib(string szFile, out ITypeLib typeLib); 16 | 17 | [DllImport("oleaut32.dll", CharSet = CharSet.Unicode, PreserveSig = false)] 18 | static extern ITypeLib LoadRegTypeLib(ref Guid rguid, int wVerMajor, int wVerMinor, int lcid); 19 | 20 | static FileInfo _targetPath; 21 | static DirectoryInfo _targetDir; 22 | 23 | static int Main(string[] args) 24 | { 25 | try 26 | { 27 | // args[0] should be $(TargetPath) 28 | if (args.Length == 1) 29 | { 30 | _targetPath = new FileInfo(args[0]); 31 | 32 | if (_targetPath.Exists) 33 | { 34 | _targetDir = _targetPath.Directory; 35 | 36 | foreach (FileInfo fileInfo in _targetDir.EnumerateFiles("Interop.*.dll", SearchOption.TopDirectoryOnly)) 37 | { 38 | Console.WriteLine("Building documentation for {0}.", fileInfo.FullName); 39 | if (fileInfo.Name.Equals(_targetPath.Name, StringComparison.OrdinalIgnoreCase)) 40 | { 41 | // Skip Interop.SolidEdge.dll. 42 | continue; 43 | } 44 | 45 | var interopAssembly = Assembly.LoadFrom(fileInfo.FullName); 46 | GenerateDocumentation(interopAssembly); 47 | } 48 | 49 | return 0; 50 | } 51 | else 52 | { 53 | throw new System.Exception(String.Format("$(TargetPath) {0} does not exist", args[0])); 54 | } 55 | } 56 | } 57 | catch (System.Exception ex) 58 | { 59 | Console.WriteLine(ex.Message); 60 | } 61 | 62 | return -1; 63 | } 64 | 65 | static void GenerateDocumentation(Assembly assembly) 66 | { 67 | var dictionary = GetHelpStrings(assembly); 68 | XmlDocumentationHelper.BuildForAssembly(assembly, dictionary); 69 | } 70 | 71 | public static Dictionary GetHelpStrings(Assembly assembly) 72 | { 73 | Dictionary dictionary = new Dictionary(); 74 | 75 | var a = assembly.CustomAttributes.FirstOrDefault(x => x.AttributeType.Equals(typeof(ImportedFromTypeLibAttribute))); 76 | var b = assembly.CustomAttributes.FirstOrDefault(x => x.AttributeType.Equals(typeof(GuidAttribute))); 77 | var c = assembly.CustomAttributes.FirstOrDefault(x => x.AttributeType.Equals(typeof(TypeLibVersionAttribute))); 78 | 79 | if (a != null) 80 | { 81 | Guid guid = Guid.Parse(String.Format("{0}", b.ConstructorArguments[0].Value)); 82 | int wVerMajor = (int)c.ConstructorArguments[0].Value; 83 | int wVerMinor = (int)c.ConstructorArguments[1].Value; 84 | 85 | ITypeLib typeLib = null; 86 | typeLib = LoadRegTypeLib(ref guid, wVerMajor, wVerMinor, 0); 87 | 88 | string strLibName = null; 89 | string strLibDocString = null; 90 | int dwLibHelpContext = 0; 91 | string strLibHelpFile = null; 92 | 93 | typeLib.GetDocumentation(-1, out strLibName, out strLibDocString, out dwLibHelpContext, out strLibHelpFile); 94 | 95 | int count = typeLib.GetTypeInfoCount(); 96 | 97 | // Loop through types. 98 | for (int i = 0; i < count; i++) 99 | { 100 | ITypeInfo typeInfo = null; 101 | typeLib.GetTypeInfo(i, out typeInfo); 102 | 103 | IntPtr pTypeAttr = IntPtr.Zero; 104 | 105 | typeInfo.GetTypeAttr(out pTypeAttr); 106 | System.Runtime.InteropServices.ComTypes.TYPEATTR typeAttr = (System.Runtime.InteropServices.ComTypes.TYPEATTR)Marshal.PtrToStructure(pTypeAttr, typeof(System.Runtime.InteropServices.ComTypes.TYPEATTR)); 107 | 108 | // Skip type if it is hidden. 109 | if (typeAttr.wTypeFlags.HasFlag(System.Runtime.InteropServices.ComTypes.TYPEFLAGS.TYPEFLAG_FHIDDEN) == true) 110 | { 111 | continue; 112 | } 113 | 114 | string strTypeName = null; 115 | string strTypeDocString = null; 116 | int dwTypeHelpContext = 0; 117 | string strTypeHelpFile = null; 118 | 119 | typeInfo.GetDocumentation(-1, out strTypeName, out strTypeDocString, out dwTypeHelpContext, out strTypeHelpFile); 120 | 121 | string typeKey = String.Format("{0}.{1}", strLibName, strTypeName); 122 | dictionary.Add(typeKey, strTypeDocString); 123 | 124 | for (int j = 0; j < typeAttr.cFuncs; j++) 125 | { 126 | IntPtr pFuncDesc = IntPtr.Zero; 127 | typeInfo.GetFuncDesc(j, out pFuncDesc); 128 | 129 | System.Runtime.InteropServices.ComTypes.FUNCDESC funcDesc = (System.Runtime.InteropServices.ComTypes.FUNCDESC)Marshal.PtrToStructure(pFuncDesc, typeof(System.Runtime.InteropServices.ComTypes.FUNCDESC)); 130 | 131 | string strMemberName = null; 132 | string strMemberDocString = null; 133 | int dwMemberHelpContext = 0; 134 | string strMemberHelpFile = null; 135 | 136 | typeInfo.GetDocumentation(funcDesc.memid, out strMemberName, out strMemberDocString, out dwMemberHelpContext, out strMemberHelpFile); 137 | 138 | string memberKey = String.Format("{0}.{1}", typeKey, strMemberName); 139 | 140 | if (!dictionary.ContainsKey(memberKey)) 141 | { 142 | dictionary.Add(memberKey, strMemberDocString); 143 | } 144 | 145 | typeInfo.ReleaseFuncDesc(pFuncDesc); 146 | } 147 | 148 | typeInfo.ReleaseTypeAttr(pTypeAttr); 149 | 150 | } 151 | } 152 | 153 | return dictionary; 154 | } 155 | } 156 | } 157 | -------------------------------------------------------------------------------- /src/GenerateXmlDocumentation/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("GenerateXmlDocumentation")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("GenerateXmlDocumentation")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("18d481d0-3b86-4832-a4d2-0a626b7910f2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /src/GenerateXmlDocumentation/XmlDocumentationHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Reflection; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Xml; 9 | 10 | namespace GenerateXmlDocumentation 11 | { 12 | abstract class XmlDocumentationHelper 13 | { 14 | static Dictionary _helpStringDictionary = new Dictionary(); 15 | 16 | public static void BuildForAssembly(Assembly assembly, Dictionary helpStringDictionary) 17 | { 18 | if (helpStringDictionary != null) 19 | { 20 | _helpStringDictionary = helpStringDictionary; 21 | } 22 | 23 | XmlWriterSettings settings = new XmlWriterSettings(); 24 | settings.Indent = true; 25 | 26 | using (XmlWriter writer = XmlWriter.Create(Path.ChangeExtension(assembly.Location, ".xml"), settings)) 27 | { 28 | writer.WriteStartElement("doc"); 29 | writer.WriteStartElement("assembly"); 30 | writer.WriteElementString("name", assembly.GetName().Name); 31 | writer.WriteEndElement(); // 32 | 33 | WriteMembers(writer, assembly.GetTypes()); 34 | 35 | writer.WriteEndElement(); // 36 | } 37 | } 38 | 39 | static void WriteMembers(XmlWriter writer, Type[] types) 40 | { 41 | writer.WriteStartElement("members"); 42 | 43 | foreach (Type type in types) 44 | { 45 | WriteMember(writer, type); 46 | 47 | MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); 48 | foreach (MethodInfo method in methods) 49 | { 50 | WriteMember(writer, method); 51 | } 52 | 53 | PropertyInfo[] properties = type.GetProperties(); 54 | foreach (PropertyInfo property in properties) 55 | { 56 | WriteMember(writer, property); 57 | } 58 | } 59 | 60 | writer.WriteEndElement(); // 61 | } 62 | 63 | static void WriteMember(XmlWriter writer, Type type) 64 | { 65 | if (_helpStringDictionary.ContainsKey(type.FullName)) 66 | { 67 | string memberName = String.Format("T:{0}", type.FullName); 68 | string summary = _helpStringDictionary[type.FullName]; 69 | 70 | if (summary != null) 71 | { 72 | summary = summary.Trim(); 73 | 74 | if (!String.IsNullOrEmpty(summary)) 75 | { 76 | writer.WriteStartElement("member"); 77 | writer.WriteAttributeString("name", memberName); 78 | writer.WriteStartElement("summary"); 79 | writer.WriteString(summary); 80 | writer.WriteEndElement(); // 81 | writer.WriteEndElement(); // 82 | } 83 | } 84 | } 85 | } 86 | 87 | static void WriteMember(XmlWriter writer, MethodInfo method) 88 | { 89 | if (method.IsSpecialName) return; 90 | 91 | string key = String.Format("{0}.{1}", method.DeclaringType.FullName, method.Name); 92 | 93 | if (_helpStringDictionary.ContainsKey(key)) 94 | { 95 | string memberName = String.Format("M:{0}(", key); 96 | string summary = _helpStringDictionary[key]; 97 | 98 | if (summary != null) 99 | { 100 | summary = summary.Trim(); 101 | 102 | if (!String.IsNullOrEmpty(summary)) 103 | { 104 | ParameterInfo[] parameters = method.GetParameters(); 105 | 106 | if (parameters.Length > 0) 107 | { 108 | foreach (ParameterInfo parameter in parameters) 109 | { 110 | memberName = String.Format("{0}{1},", memberName, parameter.ParameterType.FullName); 111 | } 112 | 113 | memberName = memberName.Substring(0, memberName.Length - 1); 114 | } 115 | 116 | memberName += ")"; 117 | 118 | memberName = memberName.Replace("&", "@"); 119 | 120 | if (!String.IsNullOrEmpty(summary)) 121 | { 122 | writer.WriteStartElement("member"); 123 | writer.WriteAttributeString("name", memberName); 124 | writer.WriteStartElement("summary"); 125 | writer.WriteString(summary); 126 | writer.WriteEndElement(); // 127 | writer.WriteEndElement(); // 128 | } 129 | } 130 | } 131 | } 132 | } 133 | 134 | static void WriteMember(XmlWriter writer, PropertyInfo property) 135 | { 136 | if (property.IsSpecialName) return; 137 | 138 | string key = String.Format("{0}.{1}", property.DeclaringType.FullName, property.Name); 139 | 140 | if (_helpStringDictionary.ContainsKey(key)) 141 | { 142 | string memberName = String.Format("P:{0}", key); 143 | string summary = _helpStringDictionary[key]; 144 | 145 | if (summary != null) 146 | { 147 | summary = summary.Trim(); 148 | 149 | if (!String.IsNullOrEmpty(summary)) 150 | { 151 | 152 | ParameterInfo[] parameters = property.GetIndexParameters(); 153 | 154 | if (parameters.Length > 0) 155 | { 156 | memberName += "("; 157 | foreach (ParameterInfo parameter in parameters) 158 | { 159 | memberName = String.Format("{0}{1},", memberName, parameter.ParameterType.FullName); 160 | } 161 | 162 | memberName = memberName.Substring(0, memberName.Length - 1); 163 | memberName += ")"; 164 | } 165 | 166 | memberName = memberName.Replace("&", "@"); 167 | 168 | if (!String.IsNullOrEmpty(summary)) 169 | { 170 | writer.WriteStartElement("member"); 171 | writer.WriteAttributeString("name", memberName); 172 | writer.WriteStartElement("summary"); 173 | writer.WriteString(summary); 174 | writer.WriteEndElement(); // 175 | writer.WriteEndElement(); // 176 | } 177 | } 178 | } 179 | } 180 | } 181 | } 182 | } 183 | -------------------------------------------------------------------------------- /src/GenerateXmlDocumentation/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Interop.SolidEdge.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27004.2005 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Interop.SolidEdge", "Interop.SolidEdge\Interop.SolidEdge.csproj", "{7E6F84C5-949D-46FD-9993-00078AC786A0}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {DC3F2A93-E81E-479F-BCCA-FE1F1F04348B} = {DC3F2A93-E81E-479F-BCCA-FE1F1F04348B} 9 | EndProjectSection 10 | EndProject 11 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GenerateXmlDocumentation", "GenerateXmlDocumentation\GenerateXmlDocumentation.csproj", "{DC3F2A93-E81E-479F-BCCA-FE1F1F04348B}" 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {7E6F84C5-949D-46FD-9993-00078AC786A0}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {7E6F84C5-949D-46FD-9993-00078AC786A0}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {DC3F2A93-E81E-479F-BCCA-FE1F1F04348B}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {DC3F2A93-E81E-479F-BCCA-FE1F1F04348B}.Release|Any CPU.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | GlobalSection(ExtensibilityGlobals) = postSolution 27 | SolutionGuid = {965295E9-9033-4903-9238-4B432B14BCFB} 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /src/Interop.SolidEdge/Constants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SolidEdgeSDK 6 | { 7 | /// 8 | /// Solid Edge category IDs imported from \sdk\include\secatids.h. 9 | /// 10 | public static class CATID 11 | { 12 | /// 13 | /// CATID_SolidEdgeAddIn 14 | /// 15 | public const string SolidEdgeAddIn = "26B1D2D1-2B03-11d2-B589-080036E8B802"; 16 | 17 | /// 18 | /// CATID_SolidEdgeOEMAddIn 19 | /// 20 | public const string SolidEdgeOEMAddIn = "E71958D9-E29B-45F1-A502-A52231F24239"; 21 | 22 | /// 23 | /// CATID_SEApplication 24 | /// 25 | public const string SEApplication = "26618394-09D6-11d1-BA07-080036230602"; 26 | 27 | /// 28 | /// CATID_SEAssembly 29 | /// 30 | public const string SEAssembly = "26618395-09D6-11d1-BA07-080036230602"; 31 | 32 | /// 33 | /// CATID_SEMotion 34 | /// 35 | public const string SEMotion = "67ED3F40-A351-11d3-A40B-0004AC969602"; 36 | 37 | /// 38 | /// CATID_SEPart 39 | /// 40 | public const string SEPart = "26618396-09D6-11d1-BA07-080036230602"; 41 | 42 | /// 43 | /// CATID_SEProfile 44 | /// 45 | public const string SEProfile = "26618397-09D6-11d1-BA07-080036230602"; 46 | 47 | /// 48 | /// CATID_SEFeatureRecognition 49 | /// 50 | public const string SEFeatureRecognition = "E6F9C8DC-B256-11d3-A41E-0004AC969602"; 51 | 52 | /// 53 | /// CATID_SESheetMetal 54 | /// 55 | public const string SESheetMetal = "26618398-09D6-11D1-BA07-080036230602"; 56 | 57 | /// 58 | /// CATID_SEDraft 59 | /// 60 | public const string SEDraft = "08244193-B78D-11D2-9216-00C04F79BE98"; 61 | 62 | /// 63 | /// CATID_SEWeldment 64 | /// 65 | public const string SEWeldment = "7313526A-276F-11D4-B64E-00C04F79B2BF"; 66 | 67 | /// 68 | /// CATID_SEXpresRoute 69 | /// 70 | public const string SEXpresRoute = "1661432A-489C-4714-B1B2-61E85CFD0B71"; 71 | 72 | /// 73 | /// CATID_SEExplode 74 | /// 75 | public const string SEExplode = "23BE4212-5810-478b-94FF-B4D682C1B538"; 76 | 77 | /// 78 | /// CATID_SESimplify 79 | /// 80 | public const string SESimplify = "CE3DCEBF-E36E-4851-930A-ED892FE0772A"; 81 | 82 | /// 83 | /// CATID_SEStudio 84 | /// 85 | public const string SEStudio = "D35550BF-0810-4f67-97D5-789EDBC23F4D"; 86 | 87 | /// 88 | /// CATID_SELayout 89 | /// 90 | public const string SELayout = "27B34941-FFCD-4768-9102-0B6698656CEA"; 91 | 92 | /// 93 | /// CATID_SESketch 94 | /// 95 | public const string SESketch = "0DDABC90-125E-4cfe-9CB7-DC97FB74CCF4"; 96 | 97 | /// 98 | /// CATID_SEProfileHole 99 | /// 100 | public const string SEProfileHole = "0D5CC5F7-5BA3-4d2f-B6A9-31D9B401FE30"; 101 | 102 | /// 103 | /// CATID_SEProfilePattern 104 | /// 105 | public const string SEProfilePattern = "7BD57D4B-BA47-4a79-A4E2-DFFD43B97ADF"; 106 | 107 | /// 108 | /// CATID_SEProfileRevolved 109 | /// 110 | public const string SEProfileRevolved = "FB73C683-1536-4073-B792-E28B8D31146E"; 111 | 112 | /// 113 | /// CATID_SEDrawingViewEdit 114 | /// 115 | public const string SEDrawingViewEdit = "8DBC3B5F-02D6-4241-BE96-B12EAF83FAE6"; 116 | 117 | /// 118 | /// CATID_SERefAxis 119 | /// 120 | public const string SERefAxis = "B21CCFF8-1FDD-4f44-9417-F1EAE06888FA"; 121 | 122 | /// 123 | /// CATID_SECuttingPlaneLine 124 | /// 125 | public const string SECuttingPlaneLine = "7C6F65F1-A02D-4c3c-8063-8F54B59B34E3"; 126 | 127 | /// 128 | /// CATID_SEBrokenOutSectionProfile 129 | /// 130 | public const string SEBrokenOutSectionProfile = "534CAB66-8089-4e18-8FC4-6FA5A957E445"; 131 | 132 | /// 133 | /// CATID_SEFrame 134 | /// 135 | public const string SEFrame = "D84119E8-F844-4823-B3A0-D4F31793028A"; 136 | 137 | /// 138 | /// CATID_2dModel 139 | /// 140 | public const string SE2dModel = "F6031120-7D99-48a7-95FC-EEE8038D7996"; 141 | 142 | /// 143 | /// CATID_EditBlockView 144 | /// 145 | public const string SEEditBlockView = "892A1CDA-12AE-4619-BB69-C5156C929832"; 146 | 147 | /// 148 | /// CATID_EditBlockInPlace 149 | /// 150 | public const string EditBlockInPlace = "308A1927-CDCE-4b92-B654-241362608CDE"; 151 | 152 | /// 153 | /// CATID_SEComponentSketchInPart 154 | /// 155 | public const string SEComponentSketchInPart = "FAB8DC23-00F4-4872-8662-18DD013F2095"; 156 | 157 | /// 158 | /// CATID_SEComponentSketchInAsm 159 | /// 160 | public const string SEComponentSketchInAsm = "86D925FB-66ED-40d2-AA3D-D04E74838141"; 161 | 162 | /// 163 | /// CATID_SEHarness 164 | /// 165 | public const string SEHarness = "5337A0AB-23ED-4261-A238-00E2070406FC"; 166 | 167 | /// 168 | /// CATID_SEAll 169 | /// 170 | public const string SEAll = "C484ED57-DBB6-4a83-BEDB-C08600AF07BF"; 171 | 172 | /// 173 | /// CATID_SEAllDocumentEnvrionments 174 | /// 175 | public const string SEAllDocumentEnvrionments = "BAD41B8D-18FF-42c9-9611-8A00E6921AE8"; 176 | 177 | /// 178 | /// CATID_SEEditMV 179 | /// 180 | public const string SEEditMV = "C1D8CCB8-54D3-4fce-92AB-0668147FC7C3"; 181 | 182 | /// 183 | /// CATID_SEEditMVPart 184 | /// 185 | public const string SEEditMVPart = "054BDB42-6C1E-41a4-9014-3D51BEE911EF"; 186 | 187 | /// 188 | /// CATID_SEDMPart 189 | /// 190 | public const string SEDMPart = "D9B0BB85-3A6C-4086-A0BB-88A1AAD57A58"; 191 | 192 | /// 193 | /// CATID_SEDMSheetMetal 194 | /// 195 | public const string SEDMSheetMetal = "9CBF2809-FF80-4dbc-98F2-B82DABF3530F"; 196 | 197 | /// 198 | /// CATID_SEDMAssembly 199 | /// 200 | public const string SEDMAssembly = "2C3C2A72-3A4A-471d-98B5-E3A8CFA4A2BF"; 201 | 202 | /// 203 | /// CATID_FEAResultsPart 204 | /// 205 | public const string FEAResultsPart = "B5965D1C-8819-4902-8252-64841537A16C"; 206 | 207 | /// 208 | /// CATID_FEAResultsAsm 209 | /// 210 | public const string FEAResultsAsm = "986B2512-3AE9-4a57-8513-1D2A1E3520DD"; 211 | 212 | /// 213 | /// CATID_SESimplifiedAssemblyPart 214 | /// 215 | public const string SESimplifiedAssemblyPart = "E7350DC3-6E7A-4D53-A53F-5B1C7A0709B3"; 216 | 217 | /// 218 | /// CATID_Sketch3d 219 | /// 220 | public const string Sketch3d = "07F05BA4-18CD-4B87-8E2F-49864E71B41F"; 221 | 222 | /// 223 | /// CATID_SEAssemblyViewer 224 | /// 225 | public const string SEAssemblyViewer = "F2483121-58BC-44AF-8B8F-D7B74DC8408B"; 226 | } 227 | 228 | /// 229 | /// Solid Edge Environment Categories 230 | /// 231 | public static class EnvironmentCategories 232 | { 233 | /// 234 | /// Guid constant for 235 | /// 236 | public static readonly Guid Application = new Guid(CATID.SEApplication); 237 | 238 | /// 239 | /// Guid constant for 240 | /// 241 | public static readonly Guid Assembly = new Guid(CATID.SEAssembly); 242 | 243 | /// 244 | /// Guid constant for 245 | /// 246 | public static readonly Guid Motion = new Guid(CATID.SEMotion); 247 | 248 | /// 249 | /// Guid constant for 250 | /// 251 | public static readonly Guid Part = new Guid(CATID.SEPart); 252 | 253 | /// 254 | /// Guid constant for 255 | /// 256 | public static readonly Guid Profile = new Guid(CATID.SEProfile); 257 | 258 | /// 259 | /// Guid constant for 260 | /// 261 | public static readonly Guid FeatureRecognition = new Guid(CATID.SEFeatureRecognition); 262 | 263 | /// 264 | /// Guid constant for 265 | /// 266 | public static readonly Guid SheetMetal = new Guid(CATID.SESheetMetal); 267 | 268 | /// 269 | /// Guid constant for 270 | /// 271 | public static readonly Guid Draft = new Guid(CATID.SEDraft); 272 | 273 | /// 274 | /// Guid constant for 275 | /// 276 | public static readonly Guid Weldment = new Guid(CATID.SEWeldment); 277 | 278 | /// 279 | /// Guid constant for 280 | /// 281 | public static readonly Guid XpresRoute = new Guid(CATID.SEXpresRoute); 282 | 283 | /// 284 | /// Guid constant for 285 | /// 286 | public static readonly Guid Explode = new Guid(CATID.SEExplode); 287 | 288 | /// 289 | /// Guid constant for 290 | /// 291 | public static readonly Guid Simplify = new Guid(CATID.SESimplify); 292 | 293 | /// 294 | /// Guid constant for 295 | /// 296 | public static readonly Guid Studio = new Guid(CATID.SEStudio); 297 | 298 | /// 299 | /// Guid constant for 300 | /// 301 | public static readonly Guid Layout = new Guid(CATID.SELayout); 302 | 303 | /// 304 | /// Guid constant for 305 | /// 306 | public static readonly Guid Sketch = new Guid(CATID.SESketch); 307 | 308 | /// 309 | /// Guid constant for 310 | /// 311 | public static readonly Guid ProfileHole = new Guid(CATID.SEProfileHole); 312 | 313 | /// 314 | /// Guid constant for 315 | /// 316 | public static readonly Guid ProfilePattern = new Guid(CATID.SEProfilePattern); 317 | 318 | /// 319 | /// Guid constant for 320 | /// 321 | public static readonly Guid ProfileRevolved = new Guid(CATID.SEProfileRevolved); 322 | 323 | /// 324 | /// Guid constant for 325 | /// 326 | public static readonly Guid DrawingViewEdit = new Guid(CATID.SEDrawingViewEdit); 327 | 328 | /// 329 | /// Guid constant for 330 | /// 331 | public static readonly Guid RefAxis = new Guid(CATID.SERefAxis); 332 | 333 | /// 334 | /// Guid constant for 335 | /// 336 | public static readonly Guid CuttingPlaneLine = new Guid(CATID.SECuttingPlaneLine); 337 | 338 | /// 339 | /// Guid constant for 340 | /// 341 | public static readonly Guid BrokenOutSectionProfile = new Guid(CATID.SEBrokenOutSectionProfile); 342 | 343 | /// 344 | /// Guid constant for 345 | /// 346 | public static readonly Guid Frame = new Guid(CATID.SEFrame); 347 | 348 | /// 349 | /// Guid constant for 350 | /// 351 | public static readonly Guid _2dModel = new Guid(CATID.SE2dModel); 352 | 353 | /// 354 | /// Guid constant for 355 | /// 356 | public static readonly Guid EditBlockView = new Guid(CATID.SEEditBlockView); 357 | 358 | /// 359 | /// Guid constant for 360 | /// 361 | public static readonly Guid ComponentSketchInPart = new Guid(CATID.SEComponentSketchInPart); 362 | 363 | /// 364 | /// Guid constant for 365 | /// 366 | public static readonly Guid ComponentSketchInAsm = new Guid(CATID.SEComponentSketchInAsm); 367 | 368 | /// 369 | /// Guid constant for 370 | /// 371 | public static readonly Guid Harness = new Guid(CATID.SEHarness); 372 | 373 | /// 374 | /// Guid constant for 375 | /// 376 | public static readonly Guid All = new Guid(CATID.SEAll); 377 | 378 | /// 379 | /// Guid constant for 380 | /// 381 | public static readonly Guid AllDocumentEnvrionments = new Guid(CATID.SEAllDocumentEnvrionments); 382 | 383 | /// 384 | /// Guid constant for 385 | /// 386 | public static readonly Guid DMPart = new Guid(CATID.SEDMPart); 387 | 388 | /// 389 | /// Guid constant for 390 | /// 391 | public static readonly Guid DMSheetMetal = new Guid(CATID.SEDMSheetMetal); 392 | 393 | /// 394 | /// Guid constant for 395 | /// 396 | public static readonly Guid DMAssembly = new Guid(CATID.SEDMAssembly); 397 | 398 | /// 399 | /// Guid constant for 400 | /// 401 | public static readonly Guid SimplifiedAssemblyPart = new Guid(CATID.SESimplifiedAssemblyPart); 402 | 403 | /// 404 | /// Guid constant for 405 | /// 406 | public static readonly Guid Sketch3d = new Guid(CATID.Sketch3d); 407 | 408 | /// 409 | /// Guid constant for 410 | /// 411 | public static readonly Guid EditBlockInPlace = new Guid(CATID.EditBlockInPlace); 412 | 413 | /// 414 | /// Guid constant for 415 | /// 416 | public static readonly Guid SEEditMV = new Guid(CATID.SEEditMV); 417 | 418 | /// 419 | /// Guid constant for 420 | /// 421 | public static readonly Guid SEEditMVPart = new Guid(CATID.SEEditMVPart); 422 | 423 | /// 424 | /// Guid constant for 425 | /// 426 | public static readonly Guid FEAResultsPart = new Guid(CATID.FEAResultsPart); 427 | 428 | /// 429 | /// Guid constant for 430 | /// 431 | public static readonly Guid FEAResultsAsm = new Guid(CATID.FEAResultsAsm); 432 | 433 | /// 434 | /// Guid constant for 435 | /// 436 | public static readonly Guid SEAssemblyViewer = new Guid(CATID.SEAssemblyViewer); 437 | } 438 | 439 | ///// 440 | ///// Solid Edge CLSIDs from registry. 441 | ///// 442 | //public static class CLSID 443 | //{ 444 | // /// 445 | // /// HKEY_CLASSES_ROOT\SolidEdge.Application\CLSID 446 | // /// 447 | // public const string SolidEdgeApplication = "DED89DB0-45B6-11CE-B307-0800363A1E02"; 448 | 449 | // /// 450 | // /// HKEY_CLASSES_ROOT\SolidEdge.AssemblyDocument\CLSID 451 | // /// 452 | // public const string SolidEdgeAssemblyDocument = "00C6BF00-483B-11CE-951A-08003601BE52"; 453 | 454 | // /// 455 | // /// HKEY_CLASSES_ROOT\SolidEdge.DraftDocument\CLSID 456 | // /// 457 | // public const string SolidEdgeDraftDocument = "016B11FB-CDC0-11CE-A035-08003601E53B"; 458 | 459 | // /// 460 | // /// HKEY_CLASSES_ROOT\SolidEdge.FamilyOfAssembliesDocument\CLSID 461 | // /// 462 | // public const string SolidEdgeFamilyOfAssembliesDocument = "04D613A0-A322-40B5-A2A4-36CA0DE6F5D9"; 463 | 464 | // /// 465 | // /// HKEY_CLASSES_ROOT\SolidEdge.FileProperties\CLSID 466 | // /// 467 | // public const string SolidEdgeFileProperties = "AED8FE60-3129-11D1-BC83-0800360E1E02"; 468 | 469 | // /// 470 | // /// HKEY_CLASSES_ROOT\SolidEdge.InstallData\CLSID 471 | // /// 472 | // public const string SolidEdgeInstallData = "42E042A6-18A0-11D5-BBB2-00C04F79BEA5"; 473 | //} 474 | 475 | //public static partial class IID 476 | //{ 477 | // // IGL Interface IIDs 478 | // public const string IGL = "0002D280-0000-0000-C000-000000000046"; 479 | // public const string IGLU = "0002D283-0000-0000-C000-000000000046"; 480 | // public const string IWGL = "0002D282-0000-0000-C000-000000000046"; 481 | // public const string IGLControl = "0002D281-0000-0000-C000-000000000046"; 482 | // public const string IGLUControl = "0002D284-0000-0000-C000-000000000046"; 483 | // public const string IGLExtension = "66EEE92E-5AB5-11D1-A266-08003654E902"; 484 | // public const string IViewGLObject = "0002D201-0000-0000-C000-000000000046"; 485 | 486 | // public static readonly Guid IGLGuid = new Guid(IGL); 487 | // public static readonly Guid IGLUGuid = new Guid(IGLU); 488 | // public static readonly Guid IWGLGuid = new Guid(IWGL); 489 | // public static readonly Guid IGLControlGuid = new Guid(IGLControl); 490 | // public static readonly Guid IGLUControlGuid = new Guid(IGLUControl); 491 | // public static readonly Guid IGLExtensionGuid = new Guid(IGLExtension); 492 | // public static readonly Guid IViewGLObjectGuid = new Guid(IViewGLObject); 493 | //} 494 | 495 | /// 496 | /// Solid Edge PROGIDs from registry. 497 | /// 498 | public static class PROGID 499 | { 500 | /// 501 | /// HKEY_CLASSES_ROOT\SolidEdge.Application 502 | /// 503 | public const string SolidEdge_Application = "SolidEdge.Application"; 504 | 505 | /// 506 | /// HKEY_CLASSES_ROOT\SolidEdge.AssemblyDocument 507 | /// 508 | public const string SolidEdge_AssemblyDocument = "SolidEdge.AssemblyDocument"; 509 | 510 | /// 511 | /// HKEY_CLASSES_ROOT\SolidEdge.DraftDocument 512 | /// 513 | public const string SolidEdge_DraftDocument = "SolidEdge.DraftDocument"; 514 | 515 | /// 516 | /// HKEY_CLASSES_ROOT\SolidEdge.FamilyOfAssembliesDocument 517 | /// 518 | public const string SolidEdge_FamilyOfAssembliesDocument = "SolidEdge.FamilyOfAssembliesDocument"; 519 | 520 | /// 521 | /// HKEY_CLASSES_ROOT\SolidEdge.FileProperties 522 | /// 523 | public const string SolidEdge_FileProperties = "SolidEdge.FileProperties"; 524 | 525 | /// 526 | /// HKEY_CLASSES_ROOT\SolidEdge.InstallData 527 | /// 528 | public const string SolidEdge_InstallData = "SolidEdge.InstallData"; 529 | 530 | /// 531 | /// HKEY_CLASSES_ROOT\SolidEdge.PartDocument 532 | /// 533 | public const string SolidEdge_PartDocument = "SolidEdge.PartDocument"; 534 | 535 | /// 536 | /// HKEY_CLASSES_ROOT\RevisionManager.Application 537 | /// 538 | public const string RevisionManager_Application = "RevisionManager.Application"; 539 | 540 | /// 541 | /// HKEY_CLASSES_ROOT\SolidEdge.SheetMetalDocument 542 | /// 543 | public const string SolidEdge_SheetMetalDocument = "SolidEdge.SheetMetalDocument"; 544 | 545 | /// 546 | /// HKEY_CLASSES_ROOT\SolidEdge.WeldmentDocument 547 | /// 548 | public const string SolidEdge_WeldmentDocument = "SolidEdge.WeldmentDocument"; 549 | } 550 | } -------------------------------------------------------------------------------- /src/Interop.SolidEdge/IGL.cs: -------------------------------------------------------------------------------- 1 | // Ported from \sdk\include\igl.h 2 | 3 | using System; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace SolidEdgeSDK 7 | { 8 | /// 9 | /// IGL Graphics Library Interface 10 | /// 11 | [ComImport] 12 | [Guid("0002D280-0000-0000-C000-000000000046")] 13 | [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 14 | public interface IGL 15 | { 16 | /// 17 | /// 18 | /// 19 | void glAccum(uint op, float value); 20 | 21 | /// 22 | /// 23 | /// 24 | void glAlphaFunc(uint func, float aRef); 25 | 26 | /// 27 | /// 28 | /// 29 | void glBegin(uint mode); 30 | 31 | /// 32 | /// 33 | /// 34 | void glBitmap( 35 | int width, 36 | int height, 37 | float xorig, 38 | float yorig, 39 | float xmove, 40 | float ymove, 41 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 42 | byte[] bitmap 43 | ); 44 | 45 | /// 46 | /// 47 | /// 48 | void glBlendFunc(uint sfactor, uint dfactor); 49 | 50 | /// 51 | /// 52 | /// 53 | void glCallList(uint list); 54 | 55 | /// 56 | /// 57 | /// 58 | void glCallLists( 59 | int n, 60 | uint type, 61 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 62 | byte[] lists 63 | ); 64 | 65 | /// 66 | /// 67 | /// 68 | void glClear(uint mask); 69 | 70 | /// 71 | /// 72 | /// 73 | void glClearAccum(float red, float green, float blue, float alpha); 74 | 75 | /// 76 | /// 77 | /// 78 | void glClearColor(float red, float green, float blue, float alpha); 79 | 80 | /// 81 | /// 82 | /// 83 | void glClearDepth(double depth); 84 | 85 | /// 86 | /// 87 | /// 88 | void glClearIndex(float c); 89 | 90 | /// 91 | /// 92 | /// 93 | void glClearStencil(int s); 94 | 95 | /// 96 | /// 97 | /// 98 | void glClipPlane( 99 | uint plane, 100 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 101 | double[] equation 102 | ); 103 | 104 | /// 105 | /// 106 | /// 107 | void glColor3b(sbyte red, sbyte green, sbyte blue); 108 | 109 | /// 110 | /// 111 | /// 112 | void glColor3bv( 113 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] 114 | sbyte[] v 115 | ); 116 | 117 | /// 118 | /// 119 | /// 120 | void glColor3d(double red, double green, double blue); 121 | 122 | /// 123 | /// 124 | /// 125 | void glColor3dv( 126 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 127 | double[] v 128 | ); 129 | 130 | /// 131 | /// 132 | /// 133 | void glColor3f(float red, float green, float blue); 134 | 135 | /// 136 | /// 137 | /// 138 | void glColor3fv( 139 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 140 | float[] v 141 | ); 142 | 143 | /// 144 | /// 145 | /// 146 | void glColor3i(int red, int green, int blue); 147 | 148 | /// 149 | /// 150 | /// 151 | void glColor3iv( 152 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 153 | int[] v 154 | ); 155 | 156 | /// 157 | /// 158 | /// 159 | void glColor3s(short red, short green, short blue); 160 | 161 | /// 162 | /// 163 | /// 164 | void glColor3sv( 165 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 166 | short[] v 167 | ); 168 | 169 | /// 170 | /// 171 | /// 172 | void glColor3ub(byte red, byte green, byte blue); 173 | 174 | /// 175 | /// 176 | /// 177 | void glColor3ubv( 178 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 179 | byte[] v 180 | ); 181 | 182 | /// 183 | /// 184 | /// 185 | void glColor3ui(uint red, uint green, uint blue); 186 | 187 | /// 188 | /// 189 | /// 190 | void glColor3uiv( 191 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)] 192 | uint[] v 193 | ); 194 | 195 | /// 196 | /// 197 | /// 198 | void glColor3us(ushort red, ushort green, ushort blue); 199 | 200 | /// 201 | /// 202 | /// 203 | void glColor3usv( 204 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U2)] 205 | ushort[] v 206 | ); 207 | 208 | /// 209 | /// 210 | /// 211 | void glColor4b(sbyte red, sbyte green, sbyte blue, sbyte alpha); 212 | 213 | /// 214 | /// 215 | /// 216 | void glColor4bv( 217 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] 218 | sbyte[] v 219 | ); 220 | 221 | /// 222 | /// 223 | /// 224 | void glColor4d(double red, double green, double blue, double alpha); 225 | 226 | /// 227 | /// 228 | /// 229 | void glColor4dv( 230 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 231 | double[] v 232 | ); 233 | 234 | /// 235 | /// 236 | /// 237 | void glColor4f(float red, float green, float blue, float alpha); 238 | 239 | /// 240 | /// 241 | /// 242 | void glColor4fv( 243 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 244 | float[] v 245 | ); 246 | 247 | /// 248 | /// 249 | /// 250 | void glColor4i(int red, int green, int blue, int alpha); 251 | 252 | /// 253 | /// 254 | /// 255 | void glColor4iv( 256 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 257 | int[] v 258 | ); 259 | 260 | /// 261 | /// 262 | /// 263 | void glColor4s(short red, short green, short blue, short alpha); 264 | 265 | /// 266 | /// 267 | /// 268 | void glColor4sv( 269 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 270 | short[] v) 271 | ; 272 | 273 | /// 274 | /// 275 | /// 276 | void glColor4ub(byte red, byte green, byte blue, byte alpha); 277 | 278 | /// 279 | /// 280 | /// 281 | void glColor4ubv( 282 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 283 | byte[] v 284 | ); 285 | 286 | /// 287 | /// 288 | /// 289 | void glColor4ui(uint red, uint green, uint blue, uint alpha); 290 | 291 | /// 292 | /// 293 | /// 294 | void glColor4uiv( 295 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)] 296 | uint[] v 297 | ); 298 | 299 | /// 300 | /// 301 | /// 302 | void glColor4us(ushort red, ushort green, ushort blue, ushort alpha); 303 | 304 | /// 305 | /// 306 | /// 307 | void glColor4usv( 308 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U2)] 309 | ushort[] v 310 | ); 311 | 312 | /// 313 | /// 314 | /// 315 | void glColorMask(byte red, byte green, byte blue, byte alpha); 316 | 317 | /// 318 | /// 319 | /// 320 | void glColorMaterial(uint face, uint mode); 321 | 322 | /// 323 | /// 324 | /// 325 | void glCopyPixels(int x, int y, int width, int height, uint type); 326 | 327 | /// 328 | /// 329 | /// 330 | void glCullFace(uint mode); 331 | 332 | /// 333 | /// 334 | /// 335 | void glDeleteLists(uint list, int range); 336 | 337 | /// 338 | /// 339 | /// 340 | void glDepthFunc(uint func); 341 | 342 | /// 343 | /// 344 | /// 345 | void glDepthMask(byte flag); 346 | 347 | /// 348 | /// 349 | /// 350 | void glDepthRange(double zNear, double zFar); 351 | 352 | /// 353 | /// 354 | /// 355 | void glDisable(uint cap); 356 | 357 | /// 358 | /// 359 | /// 360 | void glDrawBuffer(uint mode); 361 | 362 | /// 363 | /// 364 | /// 365 | void glDrawPixels( 366 | int width, 367 | int height, 368 | uint format, 369 | uint type, 370 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 371 | byte[] pixels 372 | ); 373 | 374 | /// 375 | /// 376 | /// 377 | void glEdgeFlag(byte flag); 378 | 379 | /// 380 | /// 381 | /// 382 | void glEdgeFlagv( 383 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 384 | byte[] flag 385 | ); 386 | 387 | /// 388 | /// 389 | /// 390 | void glEnable(uint cap); 391 | 392 | /// 393 | /// 394 | /// 395 | void glEnd(); 396 | 397 | /// 398 | /// 399 | /// 400 | void glEndList(); 401 | 402 | /// 403 | /// 404 | /// 405 | void glEvalCoord1d(double u); 406 | 407 | /// 408 | /// 409 | /// 410 | void glEvalCoord1dv( 411 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 412 | double[] u 413 | ); 414 | 415 | /// 416 | /// 417 | /// 418 | void glEvalCoord1f(float u); 419 | 420 | /// 421 | /// 422 | /// 423 | void glEvalCoord1fv( 424 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 425 | float[] u 426 | ); 427 | 428 | /// 429 | /// 430 | /// 431 | void glEvalCoord2d(double u, double v); 432 | 433 | /// 434 | /// 435 | /// 436 | void glEvalCoord2dv( 437 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 438 | double[] u 439 | ); 440 | 441 | /// 442 | /// 443 | /// 444 | void glEvalCoord2f(float u, float v); 445 | 446 | /// 447 | /// 448 | /// 449 | void glEvalCoord2fv( 450 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 451 | float[] u 452 | ); 453 | 454 | /// 455 | /// 456 | /// 457 | void glEvalMesh1(uint mode, int i1, int i2); 458 | 459 | /// 460 | /// 461 | /// 462 | void glEvalMesh2(uint mode, int i1, int i2, int j1, int j2); 463 | 464 | /// 465 | /// 466 | /// 467 | void glEvalPoint1(int i); 468 | 469 | /// 470 | /// 471 | /// 472 | void glEvalPoint2(int i, int j); 473 | 474 | /// 475 | /// 476 | /// 477 | void glFeedbackBuffer( 478 | int size, 479 | uint type, 480 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 481 | float[] buffer 482 | ); 483 | 484 | /// 485 | /// 486 | /// 487 | void glFinish(); 488 | 489 | /// 490 | /// 491 | /// 492 | void glFlush(); 493 | 494 | /// 495 | /// 496 | /// 497 | void glFogf(uint pname, float param); 498 | 499 | /// 500 | /// 501 | /// 502 | void glFogfv( 503 | uint pname, 504 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 505 | float[] someParams 506 | ); 507 | 508 | /// 509 | /// 510 | /// 511 | void glFogi(uint pname, int param); 512 | 513 | /// 514 | /// 515 | /// 516 | void glFogiv( 517 | uint pname, 518 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 519 | int[] someParams 520 | ); 521 | 522 | /// 523 | /// 524 | /// 525 | void glFrontFace(uint mode); 526 | 527 | /// 528 | /// 529 | /// 530 | void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar); 531 | 532 | /// 533 | /// 534 | /// 535 | uint glGenLists(int range); 536 | 537 | /// 538 | /// 539 | /// 540 | void glGetBooleanv( 541 | uint pname, 542 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 543 | byte[] someParams 544 | ); 545 | 546 | /// 547 | /// 548 | /// 549 | void glGetClipPlane( 550 | uint plane, 551 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 552 | double[] equation 553 | ); 554 | 555 | /// 556 | /// 557 | /// 558 | void glGetDoublev( 559 | uint pname, 560 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 561 | double[] someParams 562 | ); 563 | 564 | /// 565 | /// 566 | /// 567 | uint glGetError(); 568 | 569 | /// 570 | /// 571 | /// 572 | void glGetFloatv( 573 | uint pname, 574 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 575 | float[] someParams 576 | ); 577 | 578 | /// 579 | /// 580 | /// 581 | void glGetIntegerv(uint pname, ref int someParams); 582 | 583 | /// 584 | /// 585 | /// 586 | void glGetLightfv( 587 | uint light, 588 | uint pname, 589 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 590 | float[] someParams 591 | ); 592 | 593 | /// 594 | /// 595 | /// 596 | void glGetLightiv( 597 | uint light, 598 | uint pname, 599 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 600 | int[] someParams 601 | ); 602 | 603 | /// 604 | /// 605 | /// 606 | void glGetMapdv( 607 | uint target, 608 | uint query, 609 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 610 | double[] v); 611 | 612 | /// 613 | /// 614 | /// 615 | void glGetMapfv( 616 | uint target, 617 | uint query, 618 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 619 | float[] v 620 | ); 621 | 622 | /// 623 | /// 624 | /// 625 | void glGetMapiv( 626 | uint target, 627 | uint query, 628 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 629 | int[] v 630 | ); 631 | 632 | /// 633 | /// 634 | /// 635 | void glGetMaterialfv( 636 | uint face, 637 | uint pname, 638 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 639 | float[] someParams 640 | ); 641 | 642 | /// 643 | /// 644 | /// 645 | void glGetMaterialiv( 646 | uint face, 647 | uint pname, 648 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 649 | int[] someParams 650 | ); 651 | 652 | /// 653 | /// 654 | /// 655 | void glGetPixelMapfv( 656 | uint map, 657 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 658 | float[] values 659 | ); 660 | 661 | /// 662 | /// 663 | /// 664 | void glGetPixelMapuiv( 665 | uint map, 666 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)] 667 | uint[] values 668 | ); 669 | 670 | /// 671 | /// 672 | /// 673 | void glGetPixelMapusv( 674 | uint map, 675 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U2)] 676 | ushort[] values 677 | ); 678 | 679 | /// 680 | /// 681 | /// 682 | void glGetPolygonStipple( 683 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 684 | byte[] mask 685 | ); 686 | 687 | /// 688 | /// 689 | /// 690 | sbyte[] glGetString(uint name); 691 | 692 | /// 693 | /// 694 | /// 695 | void glGetTexEnvfv( 696 | uint target, 697 | uint pname, 698 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 699 | float[] someParams 700 | ); 701 | 702 | /// 703 | /// 704 | /// 705 | void glGetTexEnviv( 706 | uint target, 707 | uint pname, 708 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 709 | int[] someParams 710 | ); 711 | 712 | /// 713 | /// 714 | /// 715 | void glGetTexGendv( 716 | uint coord, 717 | uint pname, 718 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 719 | double[] someParams 720 | ); 721 | 722 | /// 723 | /// 724 | /// 725 | void glGetTexGenfv( 726 | uint coord, 727 | uint pname, 728 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 729 | float[] someParams 730 | ); 731 | 732 | /// 733 | /// 734 | /// 735 | void glGetTexGeniv( 736 | uint coord, 737 | uint pname, 738 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 739 | int[] someParams 740 | ); 741 | 742 | /// 743 | /// 744 | /// 745 | void glGetTexImage( 746 | uint target, 747 | int level, 748 | uint format, 749 | uint type, 750 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 751 | byte[] pixels 752 | ); 753 | 754 | /// 755 | /// 756 | /// 757 | void glGetTexLevelParameterfv( 758 | uint target, 759 | int level, 760 | uint pname, 761 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 762 | float[] someParams 763 | ); 764 | 765 | /// 766 | /// 767 | /// 768 | void glGetTexLevelParameteriv( 769 | uint target, 770 | int level, 771 | uint pname, 772 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 773 | int[] someParams 774 | ); 775 | 776 | /// 777 | /// 778 | /// 779 | void glGetTexParameterfv( 780 | uint target, 781 | uint pname, 782 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 783 | float[] someParams 784 | ); 785 | 786 | /// 787 | /// 788 | /// 789 | void glGetTexParameteriv( 790 | uint target, 791 | uint pname, 792 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 793 | int[] someParams 794 | ); 795 | 796 | /// 797 | /// 798 | /// 799 | void glHint(uint target, uint mode); 800 | 801 | /// 802 | /// 803 | /// 804 | void glIndexMask(uint mask); 805 | 806 | /// 807 | /// 808 | /// 809 | void glIndexd(double c); 810 | 811 | /// 812 | /// 813 | /// 814 | void glIndexdv( 815 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 816 | double[] c 817 | ); 818 | 819 | /// 820 | /// 821 | /// 822 | void glIndexf(float c); 823 | 824 | /// 825 | /// 826 | /// 827 | void glIndexfv( 828 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 829 | float[] c 830 | ); 831 | 832 | /// 833 | /// 834 | /// 835 | void glIndexi(int c); 836 | 837 | /// 838 | /// 839 | /// 840 | void glIndexiv( 841 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 842 | int[] c 843 | ); 844 | 845 | /// 846 | /// 847 | /// 848 | void glIndexs(short c); 849 | 850 | /// 851 | /// 852 | /// 853 | void glIndexsv( 854 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 855 | short[] c 856 | ); 857 | 858 | /// 859 | /// 860 | /// 861 | void glInitNames(); 862 | 863 | /// 864 | /// 865 | /// 866 | byte glIsEnabled(uint cap); 867 | 868 | /// 869 | /// 870 | /// 871 | byte glIsList(uint list); 872 | 873 | /// 874 | /// 875 | /// 876 | void glLightModelf(uint pname, float param); 877 | 878 | /// 879 | /// 880 | /// 881 | void glLightModelfv( 882 | uint pname, 883 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 884 | float[] someParams 885 | ); 886 | 887 | /// 888 | /// 889 | /// 890 | void glLightModeli(uint pname, int param); 891 | 892 | /// 893 | /// 894 | /// 895 | void glLightModeliv( 896 | uint pname, 897 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 898 | int[] someParams 899 | ); 900 | 901 | /// 902 | /// 903 | /// 904 | void glLightf(uint light, uint pname, float param); 905 | 906 | /// 907 | /// 908 | /// 909 | void glLightfv( 910 | uint light, 911 | uint pname, 912 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 913 | float[] someParams 914 | ); 915 | 916 | /// 917 | /// 918 | /// 919 | void glLighti(uint light, uint pname, int param); 920 | 921 | /// 922 | /// 923 | /// 924 | void glLightiv( 925 | uint light, 926 | uint pname, 927 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 928 | int[] someParams 929 | ); 930 | 931 | /// 932 | /// 933 | /// 934 | void glLineStipple(int factor, ushort pattern); 935 | 936 | /// 937 | /// 938 | /// 939 | void glLineWidth(float width); 940 | 941 | /// 942 | /// 943 | /// 944 | void glListBase(uint aBase); 945 | 946 | /// 947 | /// 948 | /// 949 | void glLoadIdentity(); 950 | 951 | /// 952 | /// 953 | /// 954 | void glLoadMatrixd( 955 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 956 | double[] m 957 | ); 958 | 959 | /// 960 | /// 961 | /// 962 | void glLoadMatrixf( 963 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 964 | float[] m 965 | ); 966 | 967 | /// 968 | /// 969 | /// 970 | void glLoadName(uint name); 971 | 972 | /// 973 | /// 974 | /// 975 | void glLogicOp(uint opcode); 976 | 977 | /// 978 | /// 979 | /// 980 | void glMap1d( 981 | uint target, 982 | double u1, 983 | double u2, 984 | int stride, 985 | int order, 986 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 987 | double[] points 988 | ); 989 | 990 | /// 991 | /// 992 | /// 993 | void glMap1f( 994 | uint target, 995 | float u1, 996 | float u2, 997 | int stride, 998 | int order, 999 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1000 | float[] points 1001 | ); 1002 | 1003 | /// 1004 | /// 1005 | /// 1006 | void glMap2d( 1007 | uint target, 1008 | double u1, 1009 | double u2, 1010 | int ustride, 1011 | int uorder, 1012 | double v1, 1013 | double v2, 1014 | int vstride, 1015 | int vorder, 1016 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1017 | double[] points 1018 | ); 1019 | 1020 | /// 1021 | /// 1022 | /// 1023 | void glMap2f( 1024 | uint target, 1025 | float u1, 1026 | float u2, 1027 | int ustride, 1028 | int uorder, 1029 | float v1, 1030 | float v2, 1031 | int vstride, 1032 | int vorder, 1033 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1034 | float[] points 1035 | ); 1036 | 1037 | /// 1038 | /// 1039 | /// 1040 | void glMapGrid1d(int un, double u1, double u2); 1041 | 1042 | /// 1043 | /// 1044 | /// 1045 | void glMapGrid1f(int un, float u1, float u2); 1046 | 1047 | /// 1048 | /// 1049 | /// 1050 | void glMapGrid2d(int un, double u1, double u2, int vn, double v1, double v2); 1051 | 1052 | /// 1053 | /// 1054 | /// 1055 | void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2); 1056 | 1057 | /// 1058 | /// 1059 | /// 1060 | void glMaterialf(uint face, uint pname, float param); 1061 | 1062 | /// 1063 | /// 1064 | /// 1065 | void glMaterialfv( 1066 | uint face, 1067 | uint pname, 1068 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1069 | float[] someParams 1070 | ); 1071 | 1072 | /// 1073 | /// 1074 | /// 1075 | void glMateriali(uint face, uint pname, int param); 1076 | 1077 | /// 1078 | /// 1079 | /// 1080 | void glMaterialiv( 1081 | uint face, 1082 | uint pname, 1083 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1084 | int[] someParams 1085 | ); 1086 | 1087 | /// 1088 | /// 1089 | /// 1090 | void glMatrixMode(uint mode); 1091 | 1092 | /// 1093 | /// 1094 | /// 1095 | void glMultMatrixd( 1096 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1097 | double[] m 1098 | ); 1099 | 1100 | /// 1101 | /// 1102 | /// 1103 | void glMultMatrixf( 1104 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1105 | float[] m 1106 | ); 1107 | 1108 | /// 1109 | /// 1110 | /// 1111 | void glNewList(uint list, uint mode); 1112 | 1113 | /// 1114 | /// 1115 | /// 1116 | void glNormal3b(sbyte nx, sbyte ny, sbyte nz); 1117 | 1118 | /// 1119 | /// 1120 | /// 1121 | void glNormal3bv( 1122 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1)] 1123 | sbyte[] v 1124 | ); 1125 | 1126 | /// 1127 | /// 1128 | /// 1129 | void glNormal3d(double nx, double ny, double nz); 1130 | 1131 | /// 1132 | /// 1133 | /// 1134 | void glNormal3dv( 1135 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1136 | double[] v 1137 | ); 1138 | 1139 | /// 1140 | /// 1141 | /// 1142 | void glNormal3f(float nx, float ny, float nz); 1143 | 1144 | /// 1145 | /// 1146 | /// 1147 | void glNormal3fv( 1148 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1149 | float[] v 1150 | ); 1151 | 1152 | /// 1153 | /// 1154 | /// 1155 | void glNormal3i(int nx, int ny, int nz); 1156 | 1157 | /// 1158 | /// 1159 | /// 1160 | void glNormal3iv( 1161 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1162 | int[] v 1163 | ); 1164 | 1165 | /// 1166 | /// 1167 | /// 1168 | void glNormal3s(short nx, short ny, short nz); 1169 | 1170 | /// 1171 | /// 1172 | /// 1173 | void glNormal3sv( 1174 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1175 | short[] v 1176 | ); 1177 | 1178 | /// 1179 | /// 1180 | /// 1181 | void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar); 1182 | 1183 | /// 1184 | /// 1185 | /// 1186 | void glPassThrough(float token); 1187 | 1188 | /// 1189 | /// 1190 | /// 1191 | void glPixelMapfv( 1192 | uint map, 1193 | int mapsize, 1194 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1195 | float[] values 1196 | ); 1197 | 1198 | /// 1199 | /// 1200 | /// 1201 | void glPixelMapuiv( 1202 | uint map, 1203 | int mapsize, 1204 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)] 1205 | uint[] values 1206 | ); 1207 | 1208 | /// 1209 | /// 1210 | /// 1211 | void glPixelMapusv( 1212 | uint map, 1213 | int mapsize, 1214 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U2)] 1215 | ushort[] values 1216 | ); 1217 | 1218 | /// 1219 | /// 1220 | /// 1221 | void glPixelStoref(uint pname, float param); 1222 | 1223 | /// 1224 | /// 1225 | /// 1226 | void glPixelStorei(uint pname, int param); 1227 | 1228 | /// 1229 | /// 1230 | /// 1231 | void glPixelTransferf(uint pname, float param); 1232 | 1233 | /// 1234 | /// 1235 | /// 1236 | void glPixelTransferi(uint pname, int param); 1237 | 1238 | /// 1239 | /// 1240 | /// 1241 | void glPixelZoom(float xfactor, float yfactor); 1242 | 1243 | /// 1244 | /// 1245 | /// 1246 | void glPointSize(float size); 1247 | 1248 | /// 1249 | /// 1250 | /// 1251 | void glPolygonMode(uint face, uint mode); 1252 | 1253 | /// 1254 | /// 1255 | /// 1256 | void glPolygonStipple( 1257 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 1258 | byte[] mask 1259 | ); 1260 | 1261 | /// 1262 | /// 1263 | /// 1264 | void glPopAttrib(); 1265 | 1266 | /// 1267 | /// 1268 | /// 1269 | void glPopMatrix(); 1270 | 1271 | /// 1272 | /// 1273 | /// 1274 | void glPopName(); 1275 | 1276 | /// 1277 | /// 1278 | /// 1279 | void glPushAttrib(uint mask); 1280 | 1281 | /// 1282 | /// 1283 | /// 1284 | void glPushMatrix(); 1285 | 1286 | /// 1287 | /// 1288 | /// 1289 | void glPushName(uint name); 1290 | 1291 | /// 1292 | /// 1293 | /// 1294 | void glRasterPos2d(double x, double y); 1295 | 1296 | /// 1297 | /// 1298 | /// 1299 | void glRasterPos2dv( 1300 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1301 | double[] v 1302 | ); 1303 | 1304 | /// 1305 | /// 1306 | /// 1307 | void glRasterPos2f(float x, float y); 1308 | 1309 | /// 1310 | /// 1311 | /// 1312 | void glRasterPos2fv( 1313 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1314 | float[] v 1315 | ); 1316 | 1317 | /// 1318 | /// 1319 | /// 1320 | void glRasterPos2i(int x, int y); 1321 | 1322 | /// 1323 | /// 1324 | /// 1325 | void glRasterPos2iv( 1326 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1327 | int[] v 1328 | ); 1329 | 1330 | /// 1331 | /// 1332 | /// 1333 | void glRasterPos2s(short x, short y); 1334 | 1335 | /// 1336 | /// 1337 | /// 1338 | void glRasterPos2sv( 1339 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1340 | short[] v 1341 | ); 1342 | 1343 | /// 1344 | /// 1345 | /// 1346 | void glRasterPos3d(double x, double y, double z); 1347 | 1348 | /// 1349 | /// 1350 | /// 1351 | void glRasterPos3dv( 1352 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1353 | double[] v 1354 | ); 1355 | 1356 | /// 1357 | /// 1358 | /// 1359 | void glRasterPos3f(float x, float y, float z); 1360 | 1361 | /// 1362 | /// 1363 | /// 1364 | void glRasterPos3fv( 1365 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1366 | float[] v 1367 | ); 1368 | 1369 | /// 1370 | /// 1371 | /// 1372 | void glRasterPos3i(int x, int y, int z); 1373 | 1374 | /// 1375 | /// 1376 | /// 1377 | void glRasterPos3iv( 1378 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1379 | int[] v 1380 | ); 1381 | 1382 | /// 1383 | /// 1384 | /// 1385 | void glRasterPos3s(short x, short y, short z); 1386 | 1387 | /// 1388 | /// 1389 | /// 1390 | void glRasterPos3sv( 1391 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1392 | short[] v 1393 | ); 1394 | 1395 | /// 1396 | /// 1397 | /// 1398 | void glRasterPos4d(double x, double y, double z, double w); 1399 | 1400 | /// 1401 | /// 1402 | /// 1403 | void glRasterPos4dv( 1404 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1405 | double[] v 1406 | ); 1407 | 1408 | /// 1409 | /// 1410 | /// 1411 | void glRasterPos4f(float x, float y, float z, float w); 1412 | 1413 | /// 1414 | /// 1415 | /// 1416 | void glRasterPos4fv( 1417 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1418 | float[] v 1419 | ); 1420 | 1421 | /// 1422 | /// 1423 | /// 1424 | void glRasterPos4i(int x, int y, int z, int w); 1425 | 1426 | /// 1427 | /// 1428 | /// 1429 | void glRasterPos4iv( 1430 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1431 | int[] v 1432 | ); 1433 | 1434 | /// 1435 | /// 1436 | /// 1437 | void glRasterPos4s(short x, short y, short z, short w); 1438 | 1439 | /// 1440 | /// 1441 | /// 1442 | void glRasterPos4sv( 1443 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1444 | short[] v 1445 | ); 1446 | 1447 | /// 1448 | /// 1449 | /// 1450 | void glReadBuffer(uint mode); 1451 | 1452 | /// 1453 | /// 1454 | /// 1455 | void glReadPixels( 1456 | int x, 1457 | int y, 1458 | int width, 1459 | int height, 1460 | uint format, 1461 | uint type, 1462 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 1463 | byte[] pixels 1464 | ); 1465 | 1466 | /// 1467 | /// 1468 | /// 1469 | void glRectd(double x1, double y1, double x2, double y2); 1470 | 1471 | /// 1472 | /// 1473 | /// 1474 | void glRectdv( 1475 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1476 | double[] v1, 1477 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1478 | double[] v2 1479 | ); 1480 | 1481 | /// 1482 | /// 1483 | /// 1484 | void glRectf(float x1, float y1, float x2, float y2); 1485 | 1486 | /// 1487 | /// 1488 | /// 1489 | void glRectfv( 1490 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1491 | float[] v1, 1492 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1493 | float[] v2 1494 | ); 1495 | 1496 | /// 1497 | /// 1498 | /// 1499 | void glRecti(int x1, int y1, int x2, int y2); 1500 | 1501 | /// 1502 | /// 1503 | /// 1504 | void glRectiv( 1505 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1506 | int[] v1, 1507 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1508 | int[] v2 1509 | ); 1510 | 1511 | /// 1512 | /// 1513 | /// 1514 | void glRects(short x1, short y1, short x2, short y2); 1515 | 1516 | /// 1517 | /// 1518 | /// 1519 | void glRectsv( 1520 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1521 | short[] v1, 1522 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1523 | short[] v2 1524 | ); 1525 | 1526 | /// 1527 | /// 1528 | /// 1529 | int glRenderMode(uint mode); 1530 | 1531 | /// 1532 | /// 1533 | /// 1534 | void glRotated(double angle, double x, double y, double z); 1535 | 1536 | /// 1537 | /// 1538 | /// 1539 | void glRotatef(float angle, float x, float y, float z); 1540 | 1541 | /// 1542 | /// 1543 | /// 1544 | void glScaled(double x, double y, double z); 1545 | 1546 | /// 1547 | /// 1548 | /// 1549 | void glScalef(float x, float y, float z); 1550 | 1551 | /// 1552 | /// 1553 | /// 1554 | void glScissor(int x, int y, int width, int height); 1555 | 1556 | /// 1557 | /// 1558 | /// 1559 | void glSelectBuffer( 1560 | int size, 1561 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U4)] 1562 | uint[] buffer 1563 | ); 1564 | 1565 | /// 1566 | /// 1567 | /// 1568 | void glShadeModel(uint mode); 1569 | 1570 | /// 1571 | /// 1572 | /// 1573 | void glStencilFunc(uint func, int aRef, uint mask); 1574 | 1575 | /// 1576 | /// 1577 | /// 1578 | void glStencilMask(uint mask); 1579 | 1580 | /// 1581 | /// 1582 | /// 1583 | void glStencilOp(uint fail, uint zfail, uint zpass); 1584 | 1585 | /// 1586 | /// 1587 | /// 1588 | void glTexCoord1d(double s); 1589 | 1590 | /// 1591 | /// 1592 | /// 1593 | void glTexCoord1dv( 1594 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1595 | double[] v 1596 | ); 1597 | 1598 | /// 1599 | /// 1600 | /// 1601 | void glTexCoord1f(float s); 1602 | 1603 | /// 1604 | /// 1605 | /// 1606 | void glTexCoord1fv( 1607 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1608 | float[] v 1609 | ); 1610 | 1611 | /// 1612 | /// 1613 | /// 1614 | void glTexCoord1i(int s); 1615 | 1616 | /// 1617 | /// 1618 | /// 1619 | void glTexCoord1iv( 1620 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1621 | int[] v 1622 | ); 1623 | 1624 | /// 1625 | /// 1626 | /// 1627 | void glTexCoord1s(short s); 1628 | 1629 | /// 1630 | /// 1631 | /// 1632 | void glTexCoord1sv( 1633 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1634 | short[] v 1635 | ); 1636 | 1637 | /// 1638 | /// 1639 | /// 1640 | void glTexCoord2d(double s, double t); 1641 | 1642 | /// 1643 | /// 1644 | /// 1645 | void glTexCoord2dv( 1646 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1647 | double[] v 1648 | ); 1649 | 1650 | /// 1651 | /// 1652 | /// 1653 | void glTexCoord2f(float s, float t); 1654 | 1655 | /// 1656 | /// 1657 | /// 1658 | void glTexCoord2fv( 1659 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1660 | float[] v 1661 | ); 1662 | 1663 | /// 1664 | /// 1665 | /// 1666 | void glTexCoord2i(int s, int t); 1667 | 1668 | /// 1669 | /// 1670 | /// 1671 | void glTexCoord2iv( 1672 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1673 | int[] v 1674 | ); 1675 | 1676 | /// 1677 | /// 1678 | /// 1679 | void glTexCoord2s(short s, short t); 1680 | 1681 | /// 1682 | /// 1683 | /// 1684 | void glTexCoord2sv( 1685 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1686 | short[] v 1687 | ); 1688 | 1689 | /// 1690 | /// 1691 | /// 1692 | void glTexCoord3d(double s, double t, double r); 1693 | 1694 | /// 1695 | /// 1696 | /// 1697 | void glTexCoord3dv( 1698 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1699 | double[] v 1700 | ); 1701 | 1702 | /// 1703 | /// 1704 | /// 1705 | void glTexCoord3f(float s, float t, float r); 1706 | 1707 | /// 1708 | /// 1709 | /// 1710 | void glTexCoord3fv( 1711 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1712 | float[] v 1713 | ); 1714 | 1715 | /// 1716 | /// 1717 | /// 1718 | void glTexCoord3i(int s, int t, int r); 1719 | 1720 | /// 1721 | /// 1722 | /// 1723 | void glTexCoord3iv( 1724 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1725 | int[] v 1726 | ); 1727 | 1728 | /// 1729 | /// 1730 | /// 1731 | void glTexCoord3s(short s, short t, short r); 1732 | 1733 | /// 1734 | /// 1735 | /// 1736 | void glTexCoord3sv( 1737 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1738 | short[] v 1739 | ); 1740 | 1741 | /// 1742 | /// 1743 | /// 1744 | void glTexCoord4d(double s, double t, double r, double q); 1745 | 1746 | /// 1747 | /// 1748 | /// 1749 | void glTexCoord4dv( 1750 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1751 | double[] v 1752 | ); 1753 | 1754 | /// 1755 | /// 1756 | /// 1757 | void glTexCoord4f(float s, float t, float r, float q); 1758 | 1759 | /// 1760 | /// 1761 | /// 1762 | void glTexCoord4fv( 1763 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1764 | float[] v 1765 | ); 1766 | 1767 | /// 1768 | /// 1769 | /// 1770 | void glTexCoord4i(int s, int t, int r, int q); 1771 | 1772 | /// 1773 | /// 1774 | /// 1775 | void glTexCoord4iv( 1776 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1777 | int[] v 1778 | ); 1779 | 1780 | /// 1781 | /// 1782 | /// 1783 | void glTexCoord4s(short s, short t, short r, short q); 1784 | 1785 | /// 1786 | /// 1787 | /// 1788 | void glTexCoord4sv( 1789 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1790 | short[] v 1791 | ); 1792 | 1793 | /// 1794 | /// 1795 | /// 1796 | void glTexEnvf(uint target, uint pname, float param); 1797 | 1798 | /// 1799 | /// 1800 | /// 1801 | void glTexEnvfv( 1802 | uint target, 1803 | uint pname, 1804 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1805 | float[] someParams 1806 | ); 1807 | 1808 | /// 1809 | /// 1810 | /// 1811 | void glTexEnvi(uint target, uint pname, int param); 1812 | 1813 | /// 1814 | /// 1815 | /// 1816 | void glTexEnviv( 1817 | uint target, 1818 | uint pname, 1819 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1820 | int[] someParams 1821 | ); 1822 | 1823 | /// 1824 | /// 1825 | /// 1826 | void glTexGend(uint coord, uint pname, double param); 1827 | 1828 | /// 1829 | /// 1830 | /// 1831 | void glTexGendv( 1832 | uint coord, 1833 | uint pname, 1834 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1835 | double[] someParams 1836 | ); 1837 | 1838 | /// 1839 | /// 1840 | /// 1841 | void glTexGenf(uint coord, uint pname, float param); 1842 | 1843 | /// 1844 | /// 1845 | /// 1846 | void glTexGenfv( 1847 | uint coord, 1848 | uint pname, 1849 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1850 | float[] someParams 1851 | ); 1852 | 1853 | /// 1854 | /// 1855 | /// 1856 | void glTexGeni(uint coord, uint pname, int param); 1857 | 1858 | /// 1859 | /// 1860 | /// 1861 | void glTexGeniv( 1862 | uint coord, 1863 | uint pname, 1864 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1865 | int[] someParams 1866 | ); 1867 | 1868 | /// 1869 | /// 1870 | /// 1871 | void glTexImage1D( 1872 | uint target, 1873 | int level, 1874 | int components, 1875 | int width, 1876 | int border, 1877 | uint format, 1878 | uint type, 1879 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 1880 | byte[] pixels 1881 | ); 1882 | 1883 | /// 1884 | /// 1885 | /// 1886 | void glTexImage2D( 1887 | uint target, 1888 | int level, 1889 | int components, 1890 | int width, 1891 | int height, 1892 | int border, 1893 | uint format, 1894 | uint type, 1895 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)] 1896 | byte[] pixels 1897 | ); 1898 | 1899 | /// 1900 | /// 1901 | /// 1902 | void glTexParameterf(uint target, uint pname, float param); 1903 | 1904 | /// 1905 | /// 1906 | /// 1907 | void glTexParameterfv( 1908 | uint target, 1909 | uint pname, 1910 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1911 | float[] someParams 1912 | ); 1913 | 1914 | /// 1915 | /// 1916 | /// 1917 | void glTexParameteri(uint target, uint pname, int param); 1918 | 1919 | /// 1920 | /// 1921 | /// 1922 | void glTexParameteriv( 1923 | uint target, 1924 | uint pname, 1925 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1926 | int[] someParams 1927 | ); 1928 | 1929 | /// 1930 | /// 1931 | /// 1932 | void glTranslated(double x, double y, double z); 1933 | 1934 | /// 1935 | /// 1936 | /// 1937 | void glTranslatef(float x, float y, float z); 1938 | 1939 | /// 1940 | /// 1941 | /// 1942 | void glVertex2d(double x, double y); 1943 | 1944 | /// 1945 | /// 1946 | /// 1947 | void glVertex2dv( 1948 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 1949 | double[] v 1950 | ); 1951 | 1952 | /// 1953 | /// 1954 | /// 1955 | void glVertex2f(float x, float y); 1956 | 1957 | /// 1958 | /// 1959 | /// 1960 | void glVertex2fv( 1961 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 1962 | float[] v 1963 | ); 1964 | 1965 | /// 1966 | /// 1967 | /// 1968 | void glVertex2i(int x, int y); 1969 | 1970 | /// 1971 | /// 1972 | /// 1973 | void glVertex2iv( 1974 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 1975 | int[] v 1976 | ); 1977 | 1978 | /// 1979 | /// 1980 | /// 1981 | void glVertex2s(short x, short y); 1982 | 1983 | /// 1984 | /// 1985 | /// 1986 | void glVertex2sv( 1987 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 1988 | short[] v 1989 | ); 1990 | 1991 | /// 1992 | /// 1993 | /// 1994 | void glVertex3d(double x, double y, double z); 1995 | 1996 | /// 1997 | /// 1998 | /// 1999 | void glVertex3dv( 2000 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 2001 | double[] v 2002 | ); 2003 | 2004 | /// 2005 | /// 2006 | /// 2007 | void glVertex3f(float x, float y, float z); 2008 | 2009 | /// 2010 | /// 2011 | /// 2012 | void glVertex3fv( 2013 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 2014 | float[] v 2015 | ); 2016 | 2017 | /// 2018 | /// 2019 | /// 2020 | void glVertex3i(int x, int y, int z); 2021 | 2022 | /// 2023 | /// 2024 | /// 2025 | void glVertex3iv( 2026 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 2027 | int[] v 2028 | ); 2029 | 2030 | /// 2031 | /// 2032 | /// 2033 | void glVertex3s(short x, short y, short z); 2034 | 2035 | /// 2036 | /// 2037 | /// 2038 | void glVertex3sv( 2039 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 2040 | short[] v 2041 | ); 2042 | 2043 | /// 2044 | /// 2045 | /// 2046 | void glVertex4d(double x, double y, double z, double w); 2047 | 2048 | /// 2049 | /// 2050 | /// 2051 | void glVertex4dv( 2052 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R8)] 2053 | double[] v 2054 | ); 2055 | 2056 | /// 2057 | /// 2058 | /// 2059 | void glVertex4f(float x, float y, float z, float w); 2060 | 2061 | /// 2062 | /// 2063 | /// 2064 | void glVertex4fv( 2065 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.R4)] 2066 | float[] v 2067 | ); 2068 | 2069 | /// 2070 | /// 2071 | /// 2072 | void glVertex4i(int x, int y, int z, int w); 2073 | 2074 | /// 2075 | /// 2076 | /// 2077 | void glVertex4iv( 2078 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I4)] 2079 | int[] v 2080 | ); 2081 | 2082 | /// 2083 | /// 2084 | /// 2085 | void glVertex4s(short x, short y, short z, short w); 2086 | 2087 | /// 2088 | /// 2089 | /// 2090 | void glVertex4sv( 2091 | [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I2)] 2092 | short[] v 2093 | ); 2094 | 2095 | /// 2096 | /// 2097 | /// 2098 | void glViewport(int x, int y, int width, int height); 2099 | 2100 | /// 2101 | /// 2102 | /// 2103 | void glPolygonOffset(float factor, float units); 2104 | 2105 | /// 2106 | /// 2107 | /// 2108 | void glBindTexture(uint target, uint texture); 2109 | } 2110 | 2111 | /// 2112 | /// IWGL Windows Graphics Layer Interface 2113 | /// 2114 | [ComImport] 2115 | [Guid("0002D282-0000-0000-C000-000000000046")] 2116 | [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 2117 | public interface IWGL 2118 | { 2119 | /// 2120 | /// 2121 | /// 2122 | IntPtr wglCreateContext(IntPtr hdc); 2123 | 2124 | /// 2125 | /// 2126 | /// 2127 | int wglDeleteContext(IntPtr hglrc); 2128 | 2129 | /// 2130 | /// 2131 | /// 2132 | IntPtr wglGetCurrentContext(); 2133 | 2134 | /// 2135 | /// 2136 | /// 2137 | IntPtr wglGetCurrentDC(); 2138 | 2139 | /// 2140 | /// 2141 | /// 2142 | int wglMakeCurrent(IntPtr hdc, IntPtr hglrc); 2143 | 2144 | /// 2145 | /// 2146 | /// 2147 | int wglUseFontBitmapsA(IntPtr hDC, uint first, uint count, uint listbase); 2148 | 2149 | /// 2150 | /// 2151 | /// 2152 | int wglUseFontBitmapsW(IntPtr hDC, uint first, uint count, uint listbase); 2153 | 2154 | /// 2155 | /// 2156 | /// 2157 | int SwapBuffers(IntPtr hdc); 2158 | } 2159 | 2160 | //[ComImport] 2161 | //[Guid(IID.IID_IGLU)] 2162 | //[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 2163 | //public interface IGLU 2164 | //{ 2165 | // TODO 2166 | //STDMETHOD_(const GLu[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1)]byte[], gluErrorString)(THIS_ GLenum errCode) PURE; 2167 | //STDMETHOD_(const wchar_t*, gluErrorUnicodeStringEXT)(THIS_ GLenum errCode) PURE; 2168 | //STDMETHOD_(void, gluOrtho2D)(THIS_ GLdouble left, GLdouble right, GLdouble bottom, GLdouble top) PURE; 2169 | //STDMETHOD_(void, gluPerspective)(THIS_ GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) PURE; 2170 | //STDMETHOD_(void, gluPickMatrix)(THIS_ GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4]) PURE; 2171 | //STDMETHOD_(void, gluLookAt)(THIS_ GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz) PURE; 2172 | //STDMETHOD_(int, gluProject)(THIS_ GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *winx, GLdouble *winy, GLdouble *winz) PURE; 2173 | //STDMETHOD_(int, gluUnProject)(THIS_ GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *objx, GLdouble *objy, GLdouble *objz) PURE; 2174 | //STDMETHOD_(int, gluScaleImage)(THIS_ GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout) PURE; 2175 | //STDMETHOD_(int, gluBuild1DMipmaps)(THIS_ GLenum target, GLint components, GLint width, GLenum format, GLenum type, const void *data) PURE; 2176 | //STDMETHOD_(int, gluBuild2DMipmaps)(THIS_ GLenum target, GLint components, GLint width, GLint height, GLenum format, GLenum type, const void *data) PURE; 2177 | //STDMETHOD_(GLUquadricObj*, gluNewQuadric)(THIS) PURE; 2178 | //STDMETHOD_(void, gluDeleteQuadric)(THIS_ GLUquadricObj *state) PURE; 2179 | //STDMETHOD_(void, gluQuadricNormals)(THIS_ GLUquadricObj *quadObject, GLenum normals) PURE; 2180 | //STDMETHOD_(void, gluQuadricTexture)(THIS_ GLUquadricObj *quadObject, GLboolean textureCoords) PURE; 2181 | //STDMETHOD_(void, gluQuadricOrientation)(THIS_ GLUquadricObj *quadObject, GLenum orientation) PURE; 2182 | //STDMETHOD_(void, gluQuadricDrawStyle)(THIS_ GLUquadricObj *quadObject, GLenum drawStyle) PURE; 2183 | //STDMETHOD_(void, gluCylinder)(THIS_ GLUquadricObj *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks) PURE; 2184 | //STDMETHOD_(void, gluDisk)(THIS_ GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops) PURE; 2185 | //STDMETHOD_(void, gluPartialDisk)(THIS_ GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle) PURE; 2186 | //STDMETHOD_(void, gluSphere)(THIS_ GLUquadricObj *qobj, GLdouble radius, GLint slices, GLint stacks) PURE; 2187 | //STDMETHOD_(void, gluQuadricCallback)(THIS_ GLUquadricObj *qobj, GLenum which, void (CALLBACK* fn)() ) PURE; 2188 | //STDMETHOD_(GLUtriangulatorObj*, gluNewTess)(THIS) PURE; 2189 | //STDMETHOD_(void, gluTessCallback)(THIS_ GLUtriangulatorObj *tobj, GLenum which, void (CALLBACK* fn)() ) PURE; 2190 | //STDMETHOD_(void, gluDeleteTess)(THIS_ GLUtriangulatorObj *tobj) PURE; 2191 | //STDMETHOD_(void, gluBeginPolygon)(THIS_ GLUtriangulatorObj *tobj) PURE; 2192 | //STDMETHOD_(void, gluEndPolygon)(THIS_ GLUtriangulatorObj *tobj) PURE; 2193 | //STDMETHOD_(void, gluNextContour)(THIS_ GLUtriangulatorObj *tobj, GLenum type) PURE; 2194 | //STDMETHOD_(void, gluTessVertex)(THIS_ GLUtriangulatorObj *tobj, GLdouble v[3], void *data) PURE; 2195 | //STDMETHOD_(GLUnurbsObj*, gluNewNurbsRenderer)(THIS) PURE; 2196 | //STDMETHOD_(void, gluDeleteNurbsRenderer)(THIS_ GLUnurbsObj *nobj) PURE; 2197 | //STDMETHOD_(void, gluBeginSurface)(THIS_ GLUnurbsObj *nobj) PURE; 2198 | //STDMETHOD_(void, gluBeginCurve)(THIS_ GLUnurbsObj *nobj) PURE; 2199 | //STDMETHOD_(void, gluEndCurve)(THIS_ GLUnurbsObj *nobj) PURE; 2200 | //STDMETHOD_(void, gluEndSurface)(THIS_ GLUnurbsObj *nobj) PURE; 2201 | //STDMETHOD_(void, gluBeginTrim)(THIS_ GLUnurbsObj *nobj) PURE; 2202 | //STDMETHOD_(void, gluEndTrim)(THIS_ GLUnurbsObj *nobj) PURE; 2203 | //STDMETHOD_(void, gluPwlCurve)(THIS_ GLUnurbsObj *nobj, GLint count, GLfloat *array, GLint stride, GLenum type) PURE; 2204 | //STDMETHOD_(void, gluNurbsCurve)(THIS_ GLUnurbsObj *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type) PURE; 2205 | //STDMETHOD_(void, gluNurbsSurface)(THIS_ GLUnurbsObj *nobj, GLint sknot_count, GLfloat *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type) PURE; 2206 | //STDMETHOD_(void, gluLoadSamplingMatrices)(THIS_ GLUnurbsObj *nobj, const GLfloat modelMatrix[16], const GLfloat projMatrix[16], const GLint viewport[4]) PURE; 2207 | //STDMETHOD_(void, gluNurbsProperty)(THIS_ GLUnurbsObj *nobj, GLenum property, GLfloat value) PURE; 2208 | //STDMETHOD_(void, gluGetNurbsProperty)(THIS_ GLUnurbsObj *nobj, GLenum property, GLfloat *value) PURE; 2209 | //STDMETHOD_(void, gluNurbsCallback)(THIS_ GLUnurbsObj *nobj, GLenum which, void (CALLBACK* fn)() ) PURE; 2210 | //} 2211 | } -------------------------------------------------------------------------------- /src/Interop.SolidEdge/Interop.SolidEdge.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | NET45;NET40 5 | Properties 6 | 7 | 8 | 9 | 10 | 3e2b3bd4-f0b9-11d1-bdfd-080036b4d502 11 | 1 12 | 0 13 | tlbimp 14 | 0 15 | false 16 | 17 | 18 | c467a6f5-27ed-11d2-be30-080036b4d502 19 | 1 20 | 0 21 | tlbimp 22 | 0 23 | false 24 | 25 | 26 | 3e2b3bdc-f0b9-11d1-bdfd-080036b4d502 27 | 1 28 | 0 29 | tlbimp 30 | 0 31 | false 32 | 33 | 34 | aed8fe52-3129-11d1-bc83-0800360e1e02 35 | 1 36 | 0 37 | tlbimp 38 | 0 39 | false 40 | 41 | 42 | 943ac5c6-f4db-11d1-be00-080036b4d502 43 | 1 44 | 0 45 | tlbimp 46 | 0 47 | false 48 | 49 | 50 | 8a7efa3a-f000-11d1-bdfc-080036b4d502 51 | 1 52 | 0 53 | tlbimp 54 | 0 55 | false 56 | 57 | 58 | 3e2b3be1-f0b9-11d1-bdfd-080036b4d502 59 | 1 60 | 0 61 | tlbimp 62 | 0 63 | false 64 | 65 | 66 | 42e04299-18a0-11d5-bbb2-00c04f79bea5 67 | 1 68 | 0 69 | tlbimp 70 | 0 71 | false 72 | 73 | 74 | 8a7efa42-f000-11d1-bdfc-080036b4d502 75 | 1 76 | 0 77 | tlbimp 78 | 0 79 | false 80 | 81 | 82 | df778d1a-0aa4-11d1-bc6e-0800360e1e02 83 | 1 84 | 0 85 | tlbimp 86 | 0 87 | false 88 | 89 | 90 | 427c71bd-b200-4421-ab49-12da610b369e 91 | 1 92 | 0 93 | 0 94 | tlbimp 95 | false 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 220.0.0.0 108 | 220.2.0.0 109 | 220.2.0 110 | true 111 | Jason Newell 112 | 113 | A single Interop Assembly containing all relevant Solid Edge API definitions. 114 | Updated to Solid Edge 2020 MP2. 115 | Interop.SolidEdge 116 | https://raw.githubusercontent.com/SolidEdgeCommunity/Interop.SolidEdge/master/media/icon.png 117 | https://github.com/SolidEdgeCommunity/Interop.SolidEdge 118 | https://github.com/SolidEdgeCommunity/Interop.SolidEdge/blob/master/LICENSE.md 119 | interop solidedge 120 | https://github.com/SolidEdgeCommunity/Interop.SolidEdge.git 121 | git 122 | 123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /src/Interop.SolidEdge/Interop.SolidEdge.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | none 5 | false 6 | 7 | 8 | 9 | 10 | bin\$(Configuration)\$(TargetFramework)\Interop.SolidEdge.xml 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | $(SolutionDir)\GenerateXmlDocumentation\bin\$(Configuration)\GenerateXmlDocumentation.exe "$(TargetPath)" 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | v2 50 | 51 | 52 | 53 | v4 54 | 55 | 56 | 57 | v4 58 | 59 | 60 | 61 | 62 | 63 | $(TargetDir)ILRepack\ 64 | /targetplatform:$(ILRepackTargetPlatform) /parallel /wildcards /xmldocs /out:"$(ILRepackDir)$(TargetFileName)" 65 | $(TargetDir)$(TargetFileName) @(COMReference->'$(TargetDir)Interop.%(Identity)', ' ') 66 | $(ILRepack) $(ILRepackSwitches) $(ILRepackArgs) 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /src/Interop.SolidEdge/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: ComVisible(false)] --------------------------------------------------------------------------------