[OpendTect_Developers] OpendTect 4.3.0 Pre-release

Raman Singh raman.singh at dgbes.com
Tue Jul 26 06:28:09 CEST 2011


Hi all,

We have made a pre-release of OpendTect 4.3.0 for fellow developers. The 
packages can be found at
ftp://ftp.opendtect.org/pub/devel/pkgs/

Earlier, Bert did a compile test of 4.2 plugins in 4.3 environment and 
came up with the following results:

/First of all, for gcc users, a couple of new warning flags have been
added: -Woverloaded-virtual -Wshadow -Wmissing-declarations. Look them
up in your gcc documentation. Because we also use -Werror, warnings will
cause a failed compilation.

This may have a large impact on your code - as it did for the OpendTect
code. I would advise you to go through your code and solve this; the
warnings are extremely useful and they revealed quite a few problems
with the OpendTect code. But - it's still possible to go on without
them. You can filter out each warning that you don't like with the
COPTSFILTER variable. For example:
make lib COPTSFILTER="-Woverloaded-virtual"
The -Woverloaded-virtual was the hardest to tackle, but also the most
rewarding in finding real bugs.

As a result, the 'normal' way of declaring the plugin functions will no
longer work. This is because every function needs a prototype before it
can be defined. To make life easier, there is a new header file with
macros. For example usage see the Tut and uiTut plugins, in short:

#include "odplugin.h"

mDefODPluginInfo(MyPlugin)
{ /* Impl */ return myplugininfo; }

mDefODInitPlugin(MyPlugin)
{ /* Impl */ return 0; }

For batch-type plugins, that need early load, you can add:

mDefODPluginEarlyLoad(MyPlugin)

Note 1: odplugin.h is already in 4.2.0, so you don't need ifdefs to use
the macros.
Note 2: no need to include "plugin.h"



Interface changes that surfaced:

* enums.h: eString(), eEnum() and eKey() gone. Class will now have
paseEnum() and toString().
* uiSelLineStyle was reworked, for example constructor now expects a
uiSelLineStyle::Setup
* FlatView::DataDispPars::Common (i.e. VD and WVA) now hold a
ColTab::MapperSetup rather than range, cipping etc. separately.
* Introduction of Stats::UpscaleType, replacing local
Well::LogDataExtracter::SamplePol.
* ioobject.h has disappeared. Replace with ioobj.h.
* IOObjContext no longer has maychdir (no longer supported so always false).
* visBase::TextBox::size and setSize gone; Font now supported.
* Attrib::Provider::initSteering() no longer takes an argument/


/That's all I picked out. Of course there's always stuff that the test
didn't touch.
/

Happy coding!

Cheers,
Raman


- Raman K Singh
- Opendtect Developer
-
- dGB Earth Sciences
- 304, Gateway Plaza, Hiranandani Gardens, Powai, Mumbai 400 076, India
- Phone: +91 22 25704984 , Fax: +91 22 25704977, Mobile: +91 9833452542
-mailto:raman.singh at dgbes.com,http://www.dgbes.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opendtect.org/pipermail/developers/attachments/20110726/d8002a53/attachment.html>


More information about the Developers mailing list