Dan's Orbiter page

Orbiter English => Orbiter English => Topic started by: GXE3 on 12 November 2007, 18:54:39

Title: A New Surface Base Editor
Post by: GXE3 on 12 November 2007, 18:54:39
I'm creating a website that will host a section for orbiter users and fans. This is where my surface base editor will be available. I might submit it to orbithangar.com, but I haven't decided whether to do so. The website along with the editor is still in development and is going pretty well.

Some features of the program are:

1) Easier user interface
2) Fewer bugs than that of the SBW.
3) **Custom Objects
4) and more.



Post Edited ( 12-11-07 14:33 )
Title: Re: A New Surface Base Editor
Post by: OmegaRidley on 13 November 2007, 02:23:18
hmmm, this sounds cool, if you arn't gonna already do it, make it where I can copy the base runways and landing ports and
place as many as I want anywhere


Now THAT would be cool!

:up:

Title: Re: A New Surface Base Editor
Post by: tl8roy on 13 November 2007, 06:45:02
Quote
OmegaRidley wrote:
hmmm, this sounds cool, if you arn't gonna already do it, make it where I can copy the base runways and landing ports and
place as many as I want anywhere


Now THAT would be cool!

:up:


Rename the cfg file to what you want it to be called and fix the coordinates in notepad. EASY

Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 16:57:55
Quote
OmegaRidley wrote:
hmmm, this sounds cool, if you arn't gonna already do it, make it where I can copy the base runways and landing
ports and
place as many as I want anywhere


Now THAT would be cool!

:up:


Copying is another important feature I plan to add with the first release of the program.
Another feature a eventually want to add is the "Group" feature that will allow the user to create groups of objects.
That way, one could copy a large group of objects instead of one object at a time.
Cool? ;)

Title: Re: A New Surface Base Editor
Post by: picto on 13 November 2007, 17:30:20
Cool, but, don't you think it could be a better way to create real mesh groups to optimize the rendering ?
I mean, a base could be a single mesh with 20 groups for example and not 300 single buildings using the same texture which is really not friendly for the renderer.



Message modifié ( 13-11-2007 17:35 )
Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 17:33:55
Quote
picto wrote:

Cool, but, don't you think it could be a better way to create real mesh groups to optimize the rendering ?


Unfortunately, the purpose of my surface base editor is to promote making bases with the standard Orbiter objects
(Block, Hangar, etc). Meshes will eventually become a feature of my program, but I don't think they will be included in
the first release.

Title: Re: A New Surface Base Editor
Post by: picto on 13 November 2007, 17:40:44
By the way, it's a good idea.
I'm really waiting to use your tool.
And I'm strongly waiting for the V2  that will allow the use of custom meshes ;)



Message modifié ( 13-11-2007 17:41 )
Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 18:30:17
Quote
picto wrote:
By the way, it's a good idea.
I'm really waiting to use your tool.
And I'm strongly waiting for the V2  that will allow the use of custom meshes ;)

The purpose of custom objects are to allow the user to create a more advanced objects out of the standard objects
defined in the Orbiter package. This more advanced object can be treated as one of the standard objects and can be
created with just the click of a button. For example, a bridge is composed of MANY blocks, tanks and other objects. If
someone wanted to create two bridges, they'd have to copy the objects from the original bridge one piece at a time.
However, with my program, one may define the bridge as a custom object and they'd be able to create the bridge as
if it were a normal block. Cool?

Anyway, I never thought about custom meshes. Could you or someone else expand on the idea. It could be a great
idea.

Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 22:06:09
One major problem that the program will have is that it is Java based. This means that one must have the Java
Runtime Environment in order for the program to operate. I will, however, provide the installer for the JRE in the
release of the program.

Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 23:17:45
Does anyone here know the vector sum formula?  :)
I need it for the program calculator.

Title: Re: A New Surface Base Editor
Post by: picto on 13 November 2007, 23:32:35
In C++, you can act this way on vectors

void vector3::operator += (double add)
{
  x+=add;
  y+=add;
  z+=add;  
}


Where operator keyword declares a function specifying what operator-symbol
means when applied to instances of a class. This gives the operator more
than one meaning, or "overloads" it. The compiler distinguishes between
the different meanings of an operator by examining the types of its operands.

And add a double variable that shifts current Vector3 value of X, Y and Z

Hope it help ?



Message modifié ( 13-11-2007 23:35 )
Title: Re: A New Surface Base Editor
Post by: tl8roy on 13 November 2007, 23:37:02
This would really make things complicated, but integrating a surface tile viewer or even better surface tile maker.

Title: Re: A New Surface Base Editor
Post by: GXE3 on 13 November 2007, 23:43:28
Thanks picto, but the programming language I'm using is Java. Second, vector sum is a math formula for calculating
points on the base.

Thanks Anyway.

Title: Re: A New Surface Base Editor
Post by: OmegaRidley on 14 November 2007, 03:04:54
Quote
GXE3 wrote:
Quote
OmegaRidley wrote:
hmmm, this sounds cool, if you arn't gonna already do it, make it where I can copy the base runways and landing
ports and
place as many as I want anywhere


Now THAT would be cool!

:up:


Copying is another important feature I plan to add with the first release of the program.
Another feature a eventually want to add is the "Group" feature that will allow the user to create groups of objects.
That way, one could copy a large group of objects instead of one object at a time.
Cool? ;)


Sounds even better

I would also like something that can attach multiple objects that cannot dock, and if they can, not using docking mode in
SCNEditer, Make a whole bunch of rockets into 1 rocket that goes really fast!


Orbiter rules!

Title: Re: A New Surface Base Editor
Post by: tl8roy on 14 November 2007, 03:22:53
how about multi-stage dll, also made be vinka

Title: Re: A New Surface Base Editor
Post by: tl8roy on 14 November 2007, 03:25:11
an idea, taxiways

Title: Re: A New Surface Base Editor
Post by: James.Denholm on 14 November 2007, 07:44:15
Taxiways... you mean those paths between the pads and so on?  That would be nice.

Good luck GXE3, now just don't take 6 months! Actualy, christmas hollidays are coming up, that will make a nice
opportunity. And if you live in America or Canada or Europe or Russia or wherever, it's probably going to snow a fair
bit. I'll be thinking of all of you who are stuck indoors as I swim under an Australian sun... :)
Title: Re: A New Surface Base Editor
Post by: GXE3 on 14 November 2007, 13:28:00
Quote
tl8roy wrote:
an idea, taxiways


I do plan to add taxiways to the program.
Taxiways are a priority :)

Title: Re: A New Surface Base Editor
Post by: GXE3 on 14 November 2007, 13:29:34
Quote
James.Denholm wrote:
Taxiways... you mean those paths between the pads and so on?  That would be nice.

Good luck GXE3, now just don't take 6 months! Actualy, christmas hollidays are coming up, that will make a nice
opportunity. And if you live in America or Canada or Europe or Russia or wherever, it's probably going to snow a fair
bit. I'll be thinking of all of you who are stuck indoors as I swim under an Australian sun... :)

Don't rush me. I want to create a bug free program, not a low quality program that was created in 2 weeks!

Title: Re: A New Surface Base Editor
Post by: GXE3 on 14 November 2007, 18:39:01
The following are requests that I plan to include in the program.
Make requests and I'll update this list.  

1) Taxiways (by Tl8roy)
2) Custom Meshes (by Picto)

Title: Re: A New Surface Base Editor
Post by: ar81 on 14 November 2007, 19:41:38
Working full time it would take entire weeks (a few months) to do that.
Depending on how it is debugged and how complex the program is, it may take longer.

To me it looks reasonable to take 6 months or more for an Orbiter project.
But of course, if you are a user who is eager to use it, one day of waiting could be an eternity.

If the project ends up being what you say it could be, I can imagine it like the Orbiter version of Simcity... :beer:
Title: Re: A New Surface Base Editor
Post by: picto on 14 November 2007, 20:16:40

Ar81, is your program only a base editor or does it allow a dynamic rendering of objects in Orbiter ?
I mean, does it render only the objects in the field of camera ( for optimization of perfs ) ?
Do you plan to try this ?

Title: Re: A New Surface Base Editor
Post by: ar81 on 14 November 2007, 22:21:39
What do you mean with "dynamic rendering"?
If you mean 3D, no.
It has a blueprints view only.

When you enable mesh display it will display ALL meshes.
Not only the ones in the field of view.
When I made it I was more focused on standard objects, not really mesh display.
Mesh display is very slow with my app.
Blame visual basic which is about 280 times slower than C++ for math ops.
So I left mesh display severly undeveloped.

It is slow because it does not load the mesh into memory, but it reads the file and it displays as it reads the file.
I am still trying to figure out about an efficient method to load multiple meshes.
Even Mesh Wizard method is very uncomfortable to add groups, let alone dynamically allocate multiple meshes.
Title: Re: A New Surface Base Editor
Post by: ar81 on 14 November 2007, 22:22:31
I have not too much time since I got married and got my current job.
As a freelancer I used to have more time.
But at least I have a paycheck for sure every month...
Title: Re: A New Surface Base Editor
Post by: GXE3 on 14 November 2007, 23:30:31
Quote
ar81 wrote:
What do you mean with "dynamic rendering"?
If you mean 3D, no.
It has a blueprints view only.


Sorry, but my program will only display the blueprints of objects as well; it will not display the objects as 3D shapes.
However, I plan to include validation tools in the program. For example, I plan to include a tool that will search for
incomplete objects or objects that contain default values.

By the way, I just want to say thanks to ar81 for creating the Surface Base Wizard and the idea of a surface base program.
:applause:

Title: Re: A New Surface Base Editor
Post by: James.Denholm on 19 November 2007, 01:45:33
Quote
ar81 wrote:
I have not too much time since I got married and got my current job.
As a freelancer I used to have more time.
But at least I have a paycheck for sure every month...

The paycheck and the wife is the most important thing. So long as we are happy, nothing else matters (exept our
health).
Title: Re: A New Surface Base Editor
Post by: GXE3 on 20 November 2007, 18:55:07
First, ar81, may I use maps and some other files included in the SBW program for my program? I'd have your name in
bold on the credits section of the documentation.

Second, can someone provide me with the formulas for the Calc ops in the SBW. Unfortunately, I'm only in 15 years
old and I haven't learned math that advanced yet. So if someone would just give me the formulas that would be
great.

Quote
Sorry, but my program will only display the blueprints of objects as well; it will not display the objects as 3D
shapes.
However, I plan to include validation tools in the program. For example, I plan to include a tool that will search for
incomplete objects or objects that contain default values.

By the way, I just want to say thanks to ar81 for creating the Surface Base Wizard and the idea of a surface base
program.

Scratch what said earlier about the 3D rendering. My program will have 3D rendering, but not in the first release.  
:)

Title: Re: A New Surface Base Editor
Post by: James.Denholm on 21 November 2007, 00:04:50
Remember, ar81, your name will be in BOLD. Not even I get that... :D
Title: Re: A New Surface Base Editor
Post by: GXE3 on 22 November 2007, 05:20:48
I updated the first post on the topic with some information on how to get weekly builds of the program.

Title: Re: A New Surface Base Editor
Post by: picto on 07 December 2007, 00:19:40

GXE3,

I was thinking about a really useful feature for your program.

If it could allow to show and edit on a unique window Tiles and objects, it will be really
easier to build nice spaceports as it is very difficult to adjust objects that we can't see
on a unique prog. If we except Orbiter itself off course. :)

Title: Re: A New Surface Base Editor
Post by: GXE3 on 07 December 2007, 13:26:33
Quote
picto wrote:

GXE3,

I was thinking about a really useful feature for your program.

If it could allow to show and edit on a unique window Tiles and objects, it will be really
easier to build nice spaceports as it is very difficult to adjust objects that we can't see
on a unique prog. If we except Orbiter itself off course. :)


I kind of understand what you're saying, but could you try to explain what you mean a little better? I'm not really
understanding what you mean by a "..unique window..".
:wonder:

Title: Re: A New Surface Base Editor
Post by: picto on 07 December 2007, 17:46:36

Excuse me for my poor english. :sad:
same window .... only one window .... :grat:

Title: Re: A New Surface Base Editor
Post by: ar81 on 07 December 2007, 20:18:37
See http://www.orbitersim.com/forum/Default.aspx?g=posts&t=4666&p=2

For rotation you may need matrix operations.
For 2D projection in the drawing area you will need the formulas I provided in that link.

The rest you will need is to manage objects, according to the rules of Orbiter SDK.
If you draw meshes, you will need to either find a good way to store meshes in memory, or to load meshes each time
it redraws meshes (which is far slower, what SBW does because it is not focused on mesh viewing).

If you read meshes, either to store in memory or to read when redrawing, you will find that many meshes will crash
your app if you do not make a good loader.  So you need to test it with as many meshes as possible.  I learned that
when making Mesh Wizard.

Even if those rules to manage objects seem pretty simple, you may have lots of work.
The tough part is to make it to handle many things, not only in a consistent manner, but also following a logical way
for user.
Title: Re: A New Surface Base Editor
Post by: GXE3 on 07 December 2007, 20:31:44
Quote
picto wrote:

Excuse me for my poor english. :sad:
same window .... only one window .... :grat:


OHHHHHHHHHHHHHH!
I understand!!!

Don't worry!. The GUI for the editor is coming along great. I want the user interface to be absolutely perfect and easy
to follow.

PS: Picto, your english isn't that bad. :)

Title: Re: A New Surface Base Editor
Post by: ar81 on 07 December 2007, 21:27:54
Easy to follow... there is a career called "usability engineering".
It is about how to make things better and more usable.
Title: Re: A New Surface Base Editor
Post by: GXE3 on 10 December 2007, 16:58:34
Quote
ar81 wrote:
Easy to follow... there is a career called "usability engineering".
It is about how to make things better and more usable.

I assure you, it will be easy to follow.
By the way, I'm creating a website with a section for obiter users. The main reason I'm doing this is to get opinions of
the editor. I also plan to eventually create my own tutorials, but don't be expecting them really soon.

Title: Re: A New Surface Base Editor
Post by: ar81 on 10 December 2007, 17:33:55
Yes I know it will be easy to follow.
I never had a doubt about it.
I know that your program will be cool!!
Title: Re: A New Surface Base Editor
Post by: GXE3 on 10 December 2007, 18:23:05
Quote
ar81 wrote:
Yes I know it will be easy to follow.
I never had a doubt about it.
I know that your program will be cool!!

Hope you aren't being sarcastic :)

Title: Re: A New Surface Base Editor
Post by: ar81 on 10 December 2007, 18:50:23
Not sarcastic at all.  I believe in you.  :beer:
The good thing about Orbiter is that you always can make something better.
Someone should be sarcastic if he felt envy.
But why should I feel that?
I only would feel that if we were competing.
What would be the point of competing?  None.  Orbiter is filled wioth collaborations and you never compete with a
collaborator.  You are a collaborator, so my role as collaborator too is to collaborate.

If you are improving your skills, good for you and good for me.
I disclosed already the tricks and code to make it.
Now it is time for you to shine.

TEAM = Together Everyone Achieves More.
Title: Re: A New Surface Base Editor
Post by: James.Denholm on 11 December 2007, 02:11:01
True. Rome wasn't built in a day, and nor by one person.
Title: Re: A New Surface Base Editor
Post by: reekchaa on 11 December 2007, 05:48:58
True.  But Rome had lions and tigers and monkeys with spherical trigonometry.
Title: Re: A New Surface Base Editor
Post by: GXE3 on 11 December 2007, 23:33:12
Quote
reekchaa wrote:
True.  But Rome had lions and tigers and monkeys with spherical trigonometry.

Very true!

Title: Re: A New Surface Base Editor
Post by: James.Denholm on 17 December 2007, 04:30:47
And the Egyptians had those funnt tractor beam thingys. I've seen the pyramids, thet are MASSIVE.
Title: Re: A New Surface Base Editor
Post by: GXE3 on 17 December 2007, 05:36:26
Quote
And the Egyptians had those funnt tractor beam thingys. I've seen the pyramids, thet are MASSIVE.

..Massive isn't the Word.
...
..
....They are GARGANTUAN! :)

Title: Re: A New Surface Base Editor
Post by: GXE3 on 05 January 2008, 22:31:07
Programming is going well so far. I ran into several "brick walls", but I've found my way around them. The biggest set back
was when I discovered that the java 2d API had a different coordinate system than the standard graphing system. After several
attempts to convert java 2d coordinates to graphing coordinates, I gave up and decided to use the java 3d API instead. The
good thing is that there will be 3d rendering for surface bases in the program eventually. :) The bad thing is that I have no
familiarity with the 3d API which means I'm learning as I'm working.

Title: Re: A New Surface Base Editor
Post by: ar81 on 10 January 2008, 19:46:54
If screen coordinates in the top left of the screen is (0,0) then you may use the formulas from the second post here.
http://www.orbitersim.com/forum/Default.aspx?g=posts&t=4666&p=2
Title: Re: A New Surface Base Editor
Post by: GXE3 on 10 January 2008, 20:42:54
Quote
ar81 wrote:
If screen coordinates in the top left of the screen is (0,0) then you may use the formulas from the second post here.
http://www.orbitersim.com/forum/Default.aspx?g=posts&t=4666&p=2

Thankyou! Thankyou! Thankyou!....etc
I thought really hard on how to convert the coordinates and I gave up under pressure. This is really helpful, but at
some point, I do plan to have 3d surfacebase rendering. But still, Thankyou!!!!!!!!!!!!!!!!

Title: Re: A New Surface Base Editor
Post by: ar81 on 10 January 2008, 21:32:01
Those simple formulas kept me having a headache for days...
It meets your definition of "brick walls".

The problem there is that you have
-Surface base coordinates
-Screen coordinates

It is quite a mess because you have to start with a centered axis around the center of the screen, and you have
translation and zooming.
So it is a bit confusing to handle so many things in a single formula.

This time I put down this brick wall.
But next time if the brick wall is too thick, I might not be able to help you.
Brick walls are a test of persistence.

Another brick wall I had was when I had to make shuttle scenario generator.
I had to convert latitude/longitude to meters and back to calculate platform parts and shuttle position.
Title: Re: A New Surface Base Editor
Post by: GXE3 on 10 January 2008, 22:28:06
Because of my current knowledge of math, this was a very thick brick wall for me, but I did have some ideas as to
how to covert the coordinates.

Anyway, I was confident in the java 3d api because its screen coordinates were similar to surface base coordinates.
The first release of the "Surface Base Studio" (I finally thought of a name for the program) will have blueprints just as
the SBW did. For the second or third release, however, i'd like to explore the world of 3d.

By the way, ar81, do you have any tutorials on the .msh format? Perhaps when I become familiar with .msh, I'll help you add it to wikipedia. :)



Post Edited ( 01-10-08 22:29 )
Title: Re: A New Surface Base Editor
Post by: ar81 on 11 January 2008, 14:16:53
If you download Mesh Wizard, you will have everything I know about meshes in the manual.
SBW is not very efficient for meshes, for it reads the mesh as it draws, but SBW was not designed to work on meshes.
The msh format is not the challenging factor, what is challenging is to design a good way to accommodate all data in
memory in a very efficient way, for you may find meshes that have 200k polygons (like Merlin transport) or 90k like
Greg's vessels.

When handling high volume of data you need dynamic alocation and efficiency so the balance between performance
and memory usage is good.

I am still trying to figure out a good way to do it.