Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to understand the graph hierarchy of RefSys, so it can be used to optimize the rendering output #10

Open
ghost opened this issue Mar 18, 2013 · 4 comments

Comments

@ghost
Copy link

ghost commented Mar 18, 2013

The idea here is simple.

If you only change the code for a single part, you would only wish to output the polygon (STL or collada) for that part of those it also changes.

This way the GUI layer will only need to make an update for those parts, rather than regenerate the whole model.

I assume this is NOT implemented yet ?

I am thinking that the compilation stage can use reflection to output a serialisable description of these linkages so that it is understood.

This will allow scaling the creation of the model in a Map Reduce type logic across many nodes for large speed up on complex models whihc i intend to work n with this code.

It would also allow the GUI to show to the end use this relationship between parts of the whole model, and to be taken to the code where that part applies.

Pretty nice i think to maximise the usability of this library.

The serialisation aspect of the linkages i am not sure how to do in c++ myself.

Any ideas / thoughts about this wish ?

@avalero
Copy link
Owner

avalero commented Mar 18, 2013

Wow :)

Linkage is already implemented, works well but it's not as "mathematically"
good as I would like. Need time to think about it. Regarding the RefSys,
you do not change it on the part you modify, but when you serialize you
propagate all the geometric operations to the RefSys in order to have the
final transformed RefSys.

I have not worried about "compilation timing" up to now, as in fact it only
takes milliseconds for the models I am used to work with, but for greater
models could be different.

As for a GUI. That's a TODO that unfortunately is delaying. I am not
anymore at the University (unfortunately) and have few free time to work on
this.

On Mon, Mar 18, 2013 at 12:51 PM, Gerard Webb notifications@github.comwrote:

The idea here is simple.

If you only change the code for a single part, you would only wish to
output the polygon (STL or collada) for that part of those it also changes.

This way the GUI layer will only need to make an update for those parts,
rather than regenerate the whole model.

I assume this is NOT implemented yet ?

I am thinking that the compilation stage can use reflection to output a
serialisable description of these linkages so that it is understood.

This will allow scaling the creation of the model in a Map Reduce type
logic across many nodes for large speed up on complex models whihc i intend
to work n with this code.

It would also allow the GUI to show to the end use this relationship
between parts of the whole model, and to be taken to the code where that
part applies.

Pretty nice i think to maximise the usability of this library.

The serialisation aspect of the linkages i am not sure how to do in c++
myself.

Any ideas / thoughts about this wish ?


Reply to this email directly or view it on GitHubhttps://github.com//issues/10
.

@ghost
Copy link
Author

ghost commented Mar 18, 2013

Hey.

Just to be clear i am happy to do all this myself. I am only wanting to raise the topic of the relationships between each part being understandable so that it can be reflected on and the architecture extended further. I have no idea how this code base works fully yet and need to get it compiling in windows in VS first.

Otherwise i am just asking stupid questions.

This is a decent exampl of what we are talking about.
https://github.com/avalero/OOML/blob/master/test/attachment.cpp

@avalero
Copy link
Owner

avalero commented Mar 18, 2013

I am not sure I have understood the issue.

Currently you declare links for Component_1. When you move Component_2 to some link of Component_1 it applies a translation and a rotation to make the RefSys of Component_2 match with the selected Link of Component_1.

Next step is to match Links with LInks. I have planned to do this this weekend and document it on the wiki :)

@ghost
Copy link
Author

ghost commented Mar 18, 2013

its a freaking nice design and allows so much to be done with this library.

thanks for offering to write up a wiki article on it. I hope its not too
much trouble, but it will really help me get my head around it.

f you do the wiki article it will be nice for me and others if you base it
on an actual test in you tests source i feel.
Avoids any confusion.

g

On 18 March 2013 13:53, Alberto Valero-Gómez notifications@github.comwrote:

I am not sure I have understood the issue.

Currently you declare links for Component_1. When you move Component_2 to
some link of Component_1 it applies a translation and a rotation to make
the RefSys of Component_2 match with the selected Link of Component_1.

Next step is to match Links with LInks. I have planned to do this this
weekend and document it on the wiki :)


Reply to this email directly or view it on GitHubhttps://github.com//issues/10#issuecomment-15052953
.

Contact details:
+49 1573 693 8595 (germany)
+46 73 364 67 96 (sweden)
skype: gedw99

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant