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

Buildup of useless surfaces in the ObjSurfMap #90

Open
SAnsell opened this issue Jan 28, 2018 · 0 comments
Open

Buildup of useless surfaces in the ObjSurfMap #90

SAnsell opened this issue Jan 28, 2018 · 0 comments
Assignees

Comments

@SAnsell
Copy link
Owner

SAnsell commented Jan 28, 2018

I have discovered that there is a logic flow issue with the ObjSurfMap (OSM).
The OSM is designed to keep a map of all objects and signed surfaces so that rapid line tracking can be carried out. (i.e. only check objects that actually share a surface of opposite sign). This obviously needs two things (a) the surfaces are unique (b) the reversed planes are removed. That is believe to be ok.

However, in the OSM build up -- it is possible that an object has surfaces removed and added BUT there is no explicit way to remove those surfaces. E.g. an object with surfaces 1 -2 3 4 is modified to be
1 2 101 -104 then the OSM will reflect 1 -2 3 4 101 -104 which is clearly wrong.

I am not aware that this actually causes the code to fail in any place [I accept it could in principle] but it is clearly inefficient, so should be removed. It can occur very badly as an object is split via a mergeTemplate or via the action objects, LD3 / LD1.

I have a rather tight deadline tonight so can't fix it until later this week -- but I wrote this issue so the work around I am doing in portItem etc is clearly not something to copy. (and it is such a horrific oversight -- the general reason for the oversight should be looked at [i.e. I made OSM is a singleton -- which was a very poor decision and should be addressed]).

Any comments / suggestions etc would be much appreciated.

@SAnsell SAnsell self-assigned this Jan 28, 2018
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