FOSSIL icon indicating copy to clipboard operation
FOSSIL copied to clipboard

Missing makefile

Open AliE89 opened this issue 4 years ago • 5 comments

Hello Stefano,

It looks like you are one of the main fortran library dealer out there! :)

I am looking at this library to perform some is_inside operations on STL files in my code. I am trying to build FOSSIL and give it a go, but a makefile is missing and I am a bit stuck! I know you usually use fobis, but I am a very poor fortran person already using old style make file :p I can try to produce a makefile by myself, but before investing time in it, it is worth to ask you.

Many thanks!

AliE89 avatar Apr 04 '21 08:04 AliE89

Hello, I managed to compile fossil using a makefile. I can share it with you if you like. I have also built a make file for all the third party libs like VecFor that was missing as well.

AliE89 avatar Apr 06 '21 10:04 AliE89

@AliE89

Hi, sure, if you want to share your makefile it is really appreciated. I am working alone and I have not time to maintain other building systems than my own.

szaghi avatar Apr 06 '21 12:04 szaghi

also stefano, since I know i will ask you later on, can you suggest me a way to check if a point is inside or outside an stl? is this library working also with non-convex regions? I thing so but worth to ask :)

AliE89 avatar Apr 06 '21 13:04 AliE89

@AliE89

also stefano, since I know i will ask you later on, can you suggest me a way to check if a point is inside or outside an stl? is this library working also with non-convex regions? I thing so but worth to ask :)

FOSSIL provides some algorithms for computing the sign of distance, i.e. the sign means exactly if the checked-point is inside or not the surface. They should work also for non convex regions, but the surface must satisfy some requirements, e.g. being water tight.

szaghi avatar Apr 09 '21 09:04 szaghi

@szaghi,

I am messing around with FOSSIL, but I am not sure i am doing it in the correct way! In particular, I am loading up an stl file (a cylinder) and then translating it in space. For some reasons, the result of statistics() is always the same, regardeless the fact I am translating the cylinder. Here is my pseudo-code:

STLFile%load_from_file(facet=this%regionSTL%STLSurface%facet, file_name=stlFileName, is_ascii=.true.) STLSurface%translate(x=delta(1), y=delta(2), z=delta(3)) STLSurface%analize() print '(A)', STLSurface%statistics()

Anything wrong with this?

EDIT: just find out that the metrix is not recomputed by default... it looks all good then.

EDIT2: originally my cylinder's center was [0,0,0] with a radius of 0.125. After translating it i see that the center does not update, is just an info does not udating? Any reason why I am getting a negative volume? Maybe normal orientation? image

EDIT3: thanks for this lib, it works nicely for me :) that should have been an effort, much appreciated Stefano!

AliE89 avatar Apr 10 '21 13:04 AliE89