https://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&limit=500&action=history&feed=atomPlugin FAQ - Revision history2024-03-28T08:11:43ZRevision history for this page on the wikiMediaWiki 1.9.0https://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=21277&oldid=prevBull: Reverted edits by Monday (Talk); changed back to last version by Mkpl2018-02-24T11:35:15Z<p>Reverted edits by <a href="/wiki/Special:Contributions/Monday" title="Special:Contributions/Monday">Monday</a> (<a href="/wiki/index.php?title=User_talk:Monday&action=edit" class="new" title="User talk:Monday">Talk</a>); changed back to last version by <a href="/wiki/User:Mkpl" title="User:Mkpl">Mkpl</a></p>
<a href="https://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=21277&oldid=21096">(Difference between revisions)</a>Bullhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=21096&oldid=prevMonday at 08:36, 11 January 20182018-01-11T08:36:23Z<p></p>
<a href="https://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=21096&oldid=16478">(Difference between revisions)</a>Mondayhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=16478&oldid=prevMkpl at 11:53, 13 February 20072007-02-13T11:53:38Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 11:53, 13 February 2007</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 111:</strong></td>
<td colspan="2" align="left"><strong>Line 111:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td><td> </td><td style="background: #eee; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">[[Category:<span style="color: red; font-weight: bold;">Plugins</span>]]</td><td>+</td><td style="background: #cfc; font-size: smaller;"> </td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"> </td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">[[Category:<span style="color: red; font-weight: bold;">Plugin development</span>]]</td></tr>
</table>Mkplhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=16369&oldid=prevWithak at 01:27, 12 February 20072007-02-12T01:27:35Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 01:27, 12 February 2007</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 1:</strong></td>
<td colspan="2" align="left"><strong>Line 1:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">==General==</td><td> </td><td style="background: #eee; font-size: smaller;">==General==</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===Is it possible to run binary plugins===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===Is it possible to run binary plugins<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===Which programming languages are supported===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===Which programming languages are supported<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Currently, '''VB.net''', '''C#''' and '''JScript.net''' in addition to pre-compiled binary plugins.</td><td> </td><td style="background: #eee; font-size: smaller;">Currently, '''VB.net''', '''C#''' and '''JScript.net''' in addition to pre-compiled binary plugins.</td></tr>
<tr><td colspan="2" align="left"><strong>Line 25:</strong></td>
<td colspan="2" align="left"><strong>Line 25:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Check [http://svn.sourceforge.net/viewvc/nasa-exp/trunk/WorldWind/WorldWindow/WorldWindow.cs?view=markup WorldWindow].RenderPositionInfo for ideas on how to draw text on screen.</td><td> </td><td style="background: #eee; font-size: smaller;">Check [http://svn.sourceforge.net/viewvc/nasa-exp/trunk/WorldWind/WorldWindow/WorldWindow.cs?view=markup WorldWindow].RenderPositionInfo for ideas on how to draw text on screen.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I subscribe to the event that fires when vertical exaggeration changes===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I subscribe to the event that fires when vertical exaggeration changes<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Currently events aren't used in World Wind. If you are writing a layer you can instead in the Update method store the current vertical exaggeration value. Next time your update method is called (by the background worker thread) you check if it has changed.</td><td> </td><td style="background: #eee; font-size: smaller;">Currently events aren't used in World Wind. If you are writing a layer you can instead in the Update method store the current vertical exaggeration value. Next time your update method is called (by the background worker thread) you check if it has changed.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I access the layer list (renderable objects)===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I access the layer list (renderable objects)<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.CurrentWorld.RenderableObjects</td><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.CurrentWorld.RenderableObjects</td></tr>
<tr><td colspan="2" align="left"><strong>Line 35:</strong></td>
<td colspan="2" align="left"><strong>Line 35:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">This [[RenderableObjectList]] contains a collection of [[RenderableObject]]s and RenderableObjectLists making it a tree.</td><td> </td><td style="background: #eee; font-size: smaller;">This [[RenderableObjectList]] contains a collection of [[RenderableObject]]s and RenderableObjectLists making it a tree.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I get the location of WW's main directory===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I get the location of WW's main directory<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> MainApplication.DirectoryPath</td><td> </td><td style="background: #eee; font-size: smaller;"> MainApplication.DirectoryPath</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I reference additional assemblies from my plugin===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I reference additional assemblies from my plugin<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Use the '''REFERENCES''' keyword in the [[Plugin Header]].</td><td> </td><td style="background: #eee; font-size: smaller;">Use the '''REFERENCES''' keyword in the [[Plugin Header]].</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I add my own property dialog for a layer===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I add my own property dialog for a layer<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Override '''OnPropertiesClick''' for example like this:</td><td> </td><td style="background: #eee; font-size: smaller;">Override '''OnPropertiesClick''' for example like this:</td></tr>
<tr><td colspan="2" align="left"><strong>Line 58:</strong></td>
<td colspan="2" align="left"><strong>Line 58:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> }</td><td> </td><td style="background: #eee; font-size: smaller;"> }</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I remote control World Wind===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I remote control World Wind<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.GotoLatLonAltitude(50.94299, 6.96291, 10000) for Latitude, Longitude, Altitude input</td><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.GotoLatLonAltitude(50.94299, 6.96291, 10000) for Latitude, Longitude, Altitude input</td></tr>
<tr><td colspan="2" align="left"><strong>Line 76:</strong></td>
<td colspan="2" align="left"><strong>Line 76:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> "&tilt=" + Tilt));</td><td> </td><td style="background: #eee; font-size: smaller;"> "&tilt=" + Tilt));</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I retrieve the current position===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I retrieve the current position<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.DrawArgs.WorldCamera.Latitude</td><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.DrawArgs.WorldCamera.Latitude</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.DrawArgs.WorldCamera.Longitude</td><td> </td><td style="background: #eee; font-size: smaller;"> ParentApplication.WorldWindow.DrawArgs.WorldCamera.Longitude</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===How do I detect what directory my plugin was loaded from===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===How do I detect what directory my plugin was loaded from<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">The Plugin base class has a property '''PluginDirectory''' that contains the path from which the plugin was loaded. This path may be used to find any additional files you may want to load.</td><td> </td><td style="background: #eee; font-size: smaller;">The Plugin base class has a property '''PluginDirectory''' that contains the path from which the plugin was loaded. This path may be used to find any additional files you may want to load.</td></tr>
</table>Withakhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=16368&oldid=prevWithak: /* How do I access the layer list (renderable objects) */2007-02-12T01:25:05Z<p><span class="autocomment">How do I access the layer list (renderable objects)</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 01:25, 12 February 2007</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 31:</strong></td>
<td colspan="2" align="left"><strong>Line 31:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">===How do I access the layer list (renderable objects)===</td><td> </td><td style="background: #eee; font-size: smaller;">===How do I access the layer list (renderable objects)===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"> ParentApplication.WorldWindow.CurrentWorld.<span style="color: red; font-weight: bold;">ChildObjects</span></td><td>+</td><td style="background: #cfc; font-size: smaller;"> ParentApplication.WorldWindow.CurrentWorld.<span style="color: red; font-weight: bold;">RenderableObjects</span></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">This [[RenderableObjectList]] contains a collection of [[RenderableObject]]s and RenderableObjectLists making it a tree.</td><td> </td><td style="background: #eee; font-size: smaller;">This [[RenderableObjectList]] contains a collection of [[RenderableObject]]s and RenderableObjectLists making it a tree.</td></tr>
</table>Withakhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=16367&oldid=prevWithak: Camera jitter fix for 1.42007-02-12T01:23:05Z<p>Camera jitter fix for 1.4</p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 01:23, 12 February 2007</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 11:</strong></td>
<td colspan="2" align="left"><strong>Line 11:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">==Troubleshooting==</td><td> </td><td style="background: #eee; font-size: smaller;">==Troubleshooting==</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">===Why doesn't World Wind unload my plugin cleanly===</td><td>+</td><td style="background: #cfc; font-size: smaller;">===Why doesn't World Wind unload my plugin cleanly<span style="color: red; font-weight: bold;">?</span>===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">It is the responsibilty of the plugin to restore World Wind to the original state when the plugin is unloaded. For example if the plugin adds menu items, the plugin must remove those menu items when unloading.</td><td> </td><td style="background: #eee; font-size: smaller;">It is the responsibilty of the plugin to restore World Wind to the original state when the plugin is unloaded. For example if the plugin adds menu items, the plugin must remove those menu items when unloading.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">===Why isn't my custom RenderableObject rendering where I put it?===</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">In World Wind 1.4 or newer, a change was made to the rendering code to try to reduce the camera jitter caused by precision error when zoomed in close to the terrain. In your overridden Render method you need to modify the 3d device to work relative to the camera's reference center before doing any rendering, then reset it afterwards. See [http://issues.worldwind.arc.nasa.gov/confluence/display/ADD/Version+1.3.6+Plugin+Compatibility this page] for an example.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">==How-to==</td><td> </td><td style="background: #eee; font-size: smaller;">==How-to==</td></tr>
</table>Withakhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=15249&oldid=prevBull: /* How to make a plugin into a dll */2006-12-07T20:25:05Z<p><span class="autocomment">How to make a plugin into a dll</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 20:25, 7 December 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 104:</strong></td>
<td colspan="2" align="left"><strong>Line 104:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">If you had the plugin.cs file under the 'WorldWind' project while you were developing it, and you have moved it to it's own new project, make sure that a copy didn't stay under the 'WorldWind' project...if it did, delete the duplicate copy from under the 'WorldWind' project.</td><td> </td><td style="background: #eee; font-size: smaller;">If you had the plugin.cs file under the 'WorldWind' project while you were developing it, and you have moved it to it's own new project, make sure that a copy didn't stay under the 'WorldWind' project...if it did, delete the duplicate copy from under the 'WorldWind' project.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">6. You will have to manually add references to your new project for 'WorldWind', 'PluginSDK', 'Microsoft.DirectX', 'WorldWindow', etc. Try a build and add the references it asks for in the References tree of your new project.</td><td>+</td><td style="background: #cfc; font-size: smaller;"><span style="color: red; font-weight: bold;">* </span>6. You will have to manually add references to your new project for 'WorldWind', 'PluginSDK', 'Microsoft.DirectX', 'WorldWindow', etc. Try a build and add the references it asks for in the References tree of your new project.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td><td> </td><td style="background: #eee; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">[[Category:Plugins]]</td><td> </td><td style="background: #eee; font-size: smaller;">[[Category:Plugins]]</td></tr>
</table>Bullhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=13676&oldid=prevBull: /* How-to */2006-12-07T20:24:43Z<p><span class="autocomment">How-to</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 20:24, 7 December 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 83:</strong></td>
<td colspan="2" align="left"><strong>Line 83:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> this.PluginDirectory</td><td> </td><td style="background: #eee; font-size: smaller;"> this.PluginDirectory</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">===How to make a plugin into a dll===</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">Plugins in WorldWind can also be DLL files as well as raw *.cs code. Like the *.cs plugins, they also have to be placed under the 'Plugins' folder so that WW can find them. A DLL plugin will show up in the Plugins-->Load box.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* 1. In solution explorer, Right-click 'Solution WorldWind(xx Projects)' and choose Add-->New Project</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* 2. In the 'VS installed templates' box, choose 'Class Library' and give it the name of your plugin (a class library is a dll project) and go OK.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* 3. Delete the created *.cs file from your new project and replace it with your plugin *.cs file if you have one.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* 4. Right-click your new project and choose 'Properties', it opens the project properties.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* 5. Click on the 'Build Events' item on the left, in the 'Post-build event command line:' box put:</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">mkdir $(SolutionDir)bin\Release\Plugins\"mypro ject"</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">copy $(TargetFileName) $(SolutionDir)\bin\Release\Plugins\"mypr oject"\</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">...replace what's in the quotes with the name of your plugin, eg: "AccessDemo" (make sure to leave out the quotes). This will place a copy of the dll (on successful build) where it needs to be relative to the Worldwind master tree for execution. Save your new project properties. You would put 'Debug' instead of 'Release' for a Debug build.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">If you had the plugin.cs file under the 'WorldWind' project while you were developing it, and you have moved it to it's own new project, make sure that a copy didn't stay under the 'WorldWind' project...if it did, delete the duplicate copy from under the 'WorldWind' project.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">6. You will have to manually add references to your new project for 'WorldWind', 'PluginSDK', 'Microsoft.DirectX', 'WorldWindow', etc. Try a build and add the references it asks for in the References tree of your new project.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">[[Category:Plugins]]</td><td> </td><td style="background: #eee; font-size: smaller;">[[Category:Plugins]]</td></tr>
</table>Bullhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=13675&oldid=prevBull: /* Is it possible to run binary plugins */2006-12-07T20:22:43Z<p><span class="autocomment">Is it possible to run binary plugins</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 20:22, 7 December 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 4:</strong></td>
<td colspan="2" align="left"><strong>Line 4:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">====How to make a plugin into a dll====</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">Plugins in WorldWind can also be DLL files as well as raw *.cs code. Like the *.cs plugins, they also have to be placed under the 'Plugins' folder so that WW can find them. A DLL plugin will show up in the Plugins-->Load box.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">1. In solution explorer, Right-click 'Solution WorldWind(xx Projects)' and choose Add-->New Project</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">2. In the 'VS installed templates' box, choose 'Class Library' and give it the name of your plugin (a class library is a dll project) and go OK.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">3. Delete the created *.cs file from your new project and replace it with your plugin *.cs file if you have one.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">4. Right-click your new project and choose 'Properties', it opens the project properties.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">5. Click on the 'Build Events' item on the left, in the 'Post-build event command line:' box put:</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">mkdir $(SolutionDir)bin\Release\Plugins\"mypro ject"</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">copy $(TargetFileName) $(SolutionDir)\bin\Release\Plugins\"mypr oject"\</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">...replace what's in the quotes with the name of your plugin, eg: "AccessDemo" (make sure to leave out the quotes). This will place a copy of the dll (on successful build) where it needs to be relative to the Worldwind master tree for execution. Save your new project properties. You would put 'Debug' instead of 'Release' for a Debug build.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">If you had the plugin.cs file under the 'WorldWind' project while you were developing it, and you have moved it to it's own new project, make sure that a copy didn't stay under the 'WorldWind' project...if it did, delete the duplicate copy from under the 'WorldWind' project.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">6. You will have to manually add references to your new project for 'WorldWind', 'PluginSDK', 'Microsoft.DirectX', 'WorldWindow', etc. Try a build and add the references it asks for in the References tree of your new project.</td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"></td><td colspan="2"> </td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td><td colspan="2"> </td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">===Which programming languages are supported===</td><td> </td><td style="background: #eee; font-size: smaller;">===Which programming languages are supported===</td></tr>
</table>Bullhttps://worldwindcentral.com/wiki/index.php?title=Plugin_FAQ&diff=13674&oldid=prevBull: /* Is it possible to run binary plugins */2006-12-07T20:21:24Z<p><span class="autocomment">Is it possible to run binary plugins</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 20:21, 7 December 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 4:</strong></td>
<td colspan="2" align="left"><strong>Line 4:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td><td> </td><td style="background: #eee; font-size: smaller;">In addition to loading source code plugins World Wind also probes for .dll files inside the '''Plugins''' directory that implement the plugin interface. If found they will be displayed in the [[Plugin Dialog]].</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">====How to make a plugin into a dll====</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">Plugins in WorldWind can also be DLL files as well as raw *.cs code. Like the *.cs plugins, they also have to be placed under the 'Plugins' folder so that WW can find them. A DLL plugin will show up in the Plugins-->Load box.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">1. In solution explorer, Right-click 'Solution WorldWind(xx Projects)' and choose Add-->New Project</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">2. In the 'VS installed templates' box, choose 'Class Library' and give it the name of your plugin (a class library is a dll project) and go OK.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">3. Delete the created *.cs file from your new project and replace it with your plugin *.cs file if you have one.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">4. Right-click your new project and choose 'Properties', it opens the project properties.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">5. Click on the 'Build Events' item on the left, in the 'Post-build event command line:' box put:</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">mkdir $(SolutionDir)bin\Release\Plugins\"mypro ject"</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">copy $(TargetFileName) $(SolutionDir)\bin\Release\Plugins\"mypr oject"\</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">...replace what's in the quotes with the name of your plugin, eg: "AccessDemo" (make sure to leave out the quotes). This will place a copy of the dll (on successful build) where it needs to be relative to the Worldwind master tree for execution. Save your new project properties. You would put 'Debug' instead of 'Release' for a Debug build.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">If you had the plugin.cs file under the 'WorldWind' project while you were developing it, and you have moved it to it's own new project, make sure that a copy didn't stay under the 'WorldWind' project...if it did, delete the duplicate copy from under the 'WorldWind' project.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">6. You will have to manually add references to your new project for 'WorldWind', 'PluginSDK', 'Microsoft.DirectX', 'WorldWindow', etc. Try a build and add the references it asks for in the References tree of your new project.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">Don't know if these instructions are flawless, but they'll get you most of the way</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">===Which programming languages are supported===</td><td> </td><td style="background: #eee; font-size: smaller;">===Which programming languages are supported===</td></tr>
</table>Bull