Hierarchy viewer filtering

I have added some extra functionality to the hierarchy viewer of ModelConverterX in the last two days. This feature to allow filtering in all the nodes was on the wishlist for quite a while already and since I needed it to debug an issue I have now finally added it.

The filtering can be done in two ways. First there is the checkbox in the toolbar to only show nodes of the active LOD. When this checkbox is off, all nodes of the model are shown. When it is selected only the nodes of the currently shown LOD in the preview are shown. So if you are looking for issues in a specific LOD this will help to narrow down the amount of nodes to check.

The second way to filter the nodes is even more powerful and that is the search box that you can now also find in the toolbar. If you type any text in this search box only nodes will be shown that match this text. The search is done in material names, animation names, visibility condition names and mouse rectangle names. The picture below shows the default Cessna 172 model where only the rudder parts of the active LOD are shown.

Image2015-08-17 1712.26.781

If you clear the search text after you have found the right node, that node will still be selected in the total scenegraph, so that should make it easier to evaluate the parent and child nodes of that specific node.

The isolate button at the toolbar is also new and it will isolate the selected node. What this means is that it will make the selected node the new root node of the model and prune all other nodes. This can be quite destructive so use with care.

Reading autogen configurations

I have changed the way the autogen configurations are read into scenProc. From tomorrow the development release will use the Flight Toolkit SimProp library to read the autogen configurations, instead of using spb2xml in the background to decompile to XML.

This change should not really be noticeable, since the new approach should return the same information for the auto completion. While switching to the new library I have also improved the way the autogen configuration is read a bit, so it should be even more stable. But if you notice any issues with the development release, just let me know.

Cell attributes and some other changes

Now that the stable release of scenProc is out, I can finally put some changes I have been working on in the past weeks in the development release. So here is a quick update of the things that I have added today:

  • The CamelCase step names I talked about before have been introduced. There is an option in the options to use UPPERCASE if you like that more.
  • Gridcells can now also have attributes. Before only features could have attributes, but cells can now also. These are now used to filter which cells should be assigned a texture or height settings. Obviously you also need steps then to add these cell attributes, three options are available now: AddCellAttribute, AddCellAttributeFeatureCount, AddCellAttributeIfInside. Hopefully the names speak for themselves, and else check the help tooltip.
  • You can compare two attributes in a filter now. Before you could only say attr>10, but now you can also say attr1>attr2.
  • And probably some other small changes I have forgotten about now…

Especially the changes in the second bullet can mean that you old script doesn’t work as before anymore. So be careful to check your script when updating to this release.

scenProc 1.0 released!

balloon-bouquetIt’s party time! The release of the first stable version of scenProc is there, I have just put scenProc 1.0 online.

Obviously it’s based on the latest development release, if you download the stable release now you will notice the main difference is the completed manual.

Now that I have a stable release out, I can go ahead and implement some of the changes I have planned for scenProc. These will change how certain things work and might give some discussion initially, but that’s why I think it’s good to have a stable release to fall back to in case of emergency.

So let’s celebrate this release now and from tomorrow I’ll continue to improve this tool in the 1.1 development release.

To save or not to save

save_dont_saveAbout a week ago I changed the default behaviour of scenProc. Before the configuration file was saved automatically every time you run it, but some users complained that this was not what they expected. Since I agreed it was not very “nice” to automatically save on each run, I changed the behaviour to only save when the save button was pressed.

All sounds fine so far, but since this change I noticed that I often lost changes I wanted to save, because I forgot to press the save button. So today I decided to add a warning when there are unsaved changes when you quit or try to load another document. The message will just ask you if you want to save before continuing or not. So hopefully this will minimize lost edits.

And to make clear there are unsaved changes I do now also display the asterisk behind the filename in the window tile when there are unsaved changes.

scenProc stable release almost there

Just this morning I realised that I have fixed all the remain issues I had marked for the scenProc 1.0 release. So except for finishing the user manual, release 1.0 of scenProc is done. So I think I’ll try to focus on the user manual first now. Having a stable release as a fallback is probably a good idea, since I have some new features in mind that will mean some things have to be recoded in scenProc. Such actions might always give new bugs, so then it’s good to have a stable fallback. Hopefully I can have the manual done in a week or two.

Bring out the camels

While working on some new scenProc feature I also decided to experiment with a new naming scheme for the steps. This was suggested on the forum a while ago to make the script more readable. I’m using CamelCase now for the step names. So that means that a step like ADDATTRIBUTEIFINSIDE would now become AddAttributeIfInside.

I think it’s an improvement so I plan to make this the default for all steps soon. To not break old scripts I’ll make sure the old names keep working as well of course (scenProc is case sensitive when it comes to validating the script).

SPLITGRID additional attribute

The scenProc SPLITGRID step has been updated and now requires an additional attribute. So if you just run your existing script with the latest development release you will notice an error. But it is very easy to fix this. If your line now is:

SPLITGRID|AGN

Just change it to:

SPLITGRID|AGN|*

What does the additional attribute do? It is a bounding rectangle for the area you want to process with the SPLITGRID step. This way you can process only part of the loaded data. Especially when running batch jobs I needed a way to make sure features outside the desired area were not processed. So that’s why I added this.

If you would like to process all features between N51 E5 and N52 E6, you would now write:

SPLITGRID|AGN|5;6;51;52

Of course the manual has also been updated for this change, so you can find the information there as well.