An easy way of developing a plugin is by doing it inside the World Wind project. When your file is debugged you can just move the file into the '''Plugins''' directory where it should work as a plugin without modification. This tutorial shows how you could go about developing a plugin. There are many other ways, and a hard core developer could use a text editor. ;)

+

hll20180112

-

+

http://www.outletmichaelkorsonline.us.com

-

==1. Setting up SVN==

+

http://www.coach-outletonlines.us.com

-

+

http://www.mulberry-bags.me.uk

-

In order to write plugins you will want to have the latest version of World Wind.

+

http://www.ralphlaurensale-clearance.me.uk

-

+

http://www.adidasnmdr1.us.com

-

Refer to [http://sourceforge.net/svn/?group_id=69528 Setting Up SourceForge SVN] for information on how to download the World Wind source code.

+

http://www.ultraboost.us

-

+

http://wwwcanadagoose-uk.com.co

-

==2. Compiling the sources==

+

http://www.longchampoutletus.us.com

-

+

http://www.philippplein-outlet.com

-

Step number 2 is building World Wind. Refer to [[Compiling the sources]] for instructions.

+

http://www.polooutlets.us.org

-

+

http://www.katespadeonlineoutlet.us.com

-

==3. Adding the plugin class==

+

http://www.canadagoosesalejackets.us.com

-

+

http://www.hermes.us.org

-

For this first tutorial we're just going to create a plugin that adds itself as an item in the main menu, and displays a message when you click it.

+

http://www.ralphlaurensale-clearance.org.uk

-

*Open worldwind.sln in Visual Studio 2003. You will debug your plugin in this project

The comment header will be used by the Plugin Manager to give the user information about your plugin without actually having to compile it first. The header is optional, but recommended. While you are debugging your plugin inside WW this information will not show up (since it has been precompiled before launching WW).

+

http://www.fitflopssale-clearance.us.org

-

+

http://www.longchamp-outlet.us.com

-

==5. Debugging our plugin==

+

http://www.pandoracharms.name

-

+

http://www.outletcanadagoose.us

-

When you have fixed any compile errors, press Run and watch World Wind load. World Wind will when compiled in Debug mode automatically load up any objects deriving from the "Plugin" base class.

*You should now be able to find '''Tutorial1''' or the name you chose for your plugin in the list.

+

http://www.pandora-outlet.us.com

-

*Click it, and press the '''Load''' button.

+

http://www.jordanshoesforsale.us.com

-

**If you expect to be loading your new plugin many times it will usually be a good idea to check the '''Startup''' check box to avoid having to manually perform the load step each time you restart World Wind.

+

http://www.michaelkorsoutlet1.us.com

-

*If everything worked and your plugin was successfully initialized you will see a green lamp to the left of your plugin.

+

http://www.ralph-laurenoutlet.org.uk

-

*Close the plugin manager.

+

http://www.ralph-laurenuk.org.uk

-

*Drop down the '''Tools''' menu in World Wind, you should find your menu item there, it's name will be '''Tutorial test''' if you didn't change it.

+

http://www.coach-outletonline.us.org

-

*Click it

+

http://www.timberlandbootsoutlet.us.com

-

+

http://www.raybansunglasse.com

-

If a message pops up on screen, '''hooray''', you just wrote your first World Wind plugin.

+

http://www.adidas-superstar.us.com

-

+

http://www.northface-jackets.us.com

-

==5.1 Slightly more advanced Debugging==

+

http://www.coachoutletcanada.ca

-

+

http://www.canadagooseukjackets.org.uk

-

If you need to start up a debugger and see what is going on in your plugin you can use

+

http://www.michael-korsoutlets.us.com

-

System.Diagnostics.Debugger.Launch() [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsdebuggerclasslaunchtopic.asp] or System.Diagnostics.Debugger.Break() to trigger a breakpoint if a debugger is already attached (ie. you are running it from VS.NET)

+

http://www.ralphlaurenoutletsale.us.com

-

+

http://www.nikeshoes.us.com

-

==6. Using our plugin in World Wind 1.3.2==

+

http://www.supremeclothing.us.org

-

+

http://www.thenorthfacejacketsoutlet.us.com

-

To use our plugin in the official release of 1.3.2 we have to copy Tutorial1.cs from WorldWind\WorldWind to Program Files\NASA\World Wind 1.3\Plugins.

+

http://www.monclerjacketsuk.org.uk

-

+

http://www.uggoutletonlines.us

-

Then repeat the steps in section 5 to load Tutorial1.cs in plugin manager.

+

http://www.doudounemonclerpascher.fr

-

+

http://www.coachoutletus.us.com

-

==7. Alternate development method==

+

http://www.outletcoachoutlet.us.com

-

+

http://www.ugg-boots.net.co

-

If you are coding in a different language than C# or don't want to modify the World Wind project there is an alternate way to debug your code.

+

http://www.airjordanshoes.in.net

-

+

http://www.cheapjordans-shoes.us.com

-

*Create a new library (.dll) project in your favorite language

+

http://www.cheapjordanshoes.us.com

-

*Add a reference to '''WorldWind.exe'''. If you are using Visual Studio.net it might tell you it can't do this, but it's a lie. I suggest adding a reference to worldwindow.dll, and then open your project file in your favorite editor and change it to worldwind.exe. There is as far as I know no difference between .dll and .exe assemblies so why they decide to make vs.net behave this way is a big mystery to me.

+

http://www.raybanssunglassesoutlet.us.com

-

*Go to your project properties pages and adjust the '''Output path''' of your project to "Plugins/something" under the directory you have WorldWind.exe in.

+

http://www.moncleroutlet.me.uk

-

*Develop your plugin as usual by deriving from '''Plugin'''

+

http://www.michaelkorsoutlet.co.uk

-

*Build and then run WorldWind.exe, WorldWind should find and display your dll plugin in the '''Plugin->Load/Unload''' dialog.

+

http://www.uggbootsoutletstores.us.com

-

*After loading your plugin, attach your debugger and you should be able to debug your code.