You can subscribe to this list here.
2000 
_{Jan}

_{Feb}
(2) 
_{Mar}
(6) 
_{Apr}
(3) 
_{May}
(17) 
_{Jun}
(8) 
_{Jul}
(3) 
_{Aug}
(5) 
_{Sep}
(5) 
_{Oct}
(8) 
_{Nov}
(11) 
_{Dec}
(26) 

2001 
_{Jan}
(17) 
_{Feb}
(38) 
_{Mar}

_{Apr}
(30) 
_{May}
(48) 
_{Jun}
(9) 
_{Jul}
(1) 
_{Aug}
(26) 
_{Sep}
(7) 
_{Oct}
(12) 
_{Nov}
(25) 
_{Dec}
(18) 
2002 
_{Jan}
(12) 
_{Feb}
(5) 
_{Mar}
(48) 
_{Apr}
(26) 
_{May}
(50) 
_{Jun}
(27) 
_{Jul}
(21) 
_{Aug}
(5) 
_{Sep}
(17) 
_{Oct}
(25) 
_{Nov}
(43) 
_{Dec}
(14) 
2003 
_{Jan}
(39) 
_{Feb}
(22) 
_{Mar}
(95) 
_{Apr}
(33) 
_{May}
(6) 
_{Jun}
(2) 
_{Jul}
(6) 
_{Aug}
(13) 
_{Sep}
(20) 
_{Oct}
(17) 
_{Nov}
(16) 
_{Dec}
(22) 
2004 
_{Jan}
(24) 
_{Feb}
(28) 
_{Mar}
(39) 
_{Apr}
(6) 
_{May}
(8) 
_{Jun}
(19) 
_{Jul}
(19) 
_{Aug}
(19) 
_{Sep}
(14) 
_{Oct}
(41) 
_{Nov}
(16) 
_{Dec}
(13) 
2005 
_{Jan}
(23) 
_{Feb}
(14) 
_{Mar}
(28) 
_{Apr}
(27) 
_{May}
(19) 
_{Jun}
(22) 
_{Jul}
(18) 
_{Aug}
(21) 
_{Sep}
(29) 
_{Oct}
(22) 
_{Nov}
(47) 
_{Dec}
(48) 
2006 
_{Jan}
(20) 
_{Feb}
(18) 
_{Mar}
(23) 
_{Apr}
(10) 
_{May}
(2) 
_{Jun}
(19) 
_{Jul}
(40) 
_{Aug}
(34) 
_{Sep}
(4) 
_{Oct}
(14) 
_{Nov}
(10) 
_{Dec}
(1) 
2007 
_{Jan}
(11) 
_{Feb}
(6) 
_{Mar}
(10) 
_{Apr}
(29) 
_{May}
(5) 
_{Jun}
(8) 
_{Jul}
(7) 
_{Aug}
(1) 
_{Sep}
(14) 
_{Oct}
(17) 
_{Nov}
(1) 
_{Dec}
(15) 
2008 
_{Jan}
(14) 
_{Feb}
(6) 
_{Mar}
(3) 
_{Apr}
(4) 
_{May}
(7) 
_{Jun}
(3) 
_{Jul}
(2) 
_{Aug}
(16) 
_{Sep}
(2) 
_{Oct}
(15) 
_{Nov}
(12) 
_{Dec}
(13) 
2009 
_{Jan}
(25) 
_{Feb}
(3) 
_{Mar}
(23) 
_{Apr}
(2) 
_{May}
(16) 
_{Jun}
(2) 
_{Jul}
(14) 
_{Aug}
(22) 
_{Sep}
(12) 
_{Oct}
(19) 
_{Nov}
(21) 
_{Dec}
(4) 
2010 
_{Jan}

_{Feb}
(16) 
_{Mar}
(15) 
_{Apr}
(11) 
_{May}
(6) 
_{Jun}

_{Jul}

_{Aug}
(5) 
_{Sep}
(2) 
_{Oct}

_{Nov}
(1) 
_{Dec}

2011 
_{Jan}

_{Feb}
(1) 
_{Mar}
(18) 
_{Apr}

_{May}

_{Jun}
(1) 
_{Jul}

_{Aug}

_{Sep}
(1) 
_{Oct}

_{Nov}

_{Dec}

2012 
_{Jan}
(3) 
_{Feb}

_{Mar}

_{Apr}

_{May}
(9) 
_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2013 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}
(4) 
_{Jul}
(1) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

2014 
_{Jan}

_{Feb}
(5) 
_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 





1

2

3

4

5

6

7

8

9

10

11

12
(1) 
13
(4) 
14

15
(2) 
16
(3) 
17

18
(1) 
19
(4) 
20
(1) 
21

22

23

24

25

26
(1) 
27

28

29
(8) 
30

31

From: Michel Audette <michel.audette@ki...>  20090129 18:43:43

Subject: Symposium "Image Processing and Visualization in Solid Mechanics Processes" within the ESMC2009 Conference – Announce & Call for Papers  (Apologies for crossposting) Symposium on "Image Processing and Visualization in Solid Mechanics Processes" 7th EUROMECH Solid Mechanics Conference (ESMC2009) Instituto Superior Técnico, Lisbon, PORTUGAL, September 711, 2009 http://www.dem.ist.utl.pt/esmc2009/ (We would appreciate if you could distribute this information by your colleagues and coworkers.)  Dear Colleague, Within the 7th EUROMECH Solid Mechanics Conference (ESMC2009), to be held in Instituto Superior Técnico, Lisbon, Portugal, September 711, 2009, we are organizing the Symposium "Image Processing and Visualization in Solid Mechanics Processes". Examples of some topics that will be considered are: Image Analysis; Image Restoration, Compression, Segmentation and Description; Object Tracking, Matching, Recognition, and Reconstruction; Visual Inspection; 3D Vision; Medical Imaging; Data Processing, Modeling and Analysis; Scientific Visualization; Enhanced Visualization; Human Computer Interaction; Virtual Reality; Simulation and Animation; Software Development for Image Processing and Visualization; Grid Computing in Image Processing and Visualization; Applications of Image Processing and Visualization. Due to your research activities in those fields, we would like to invite you to submit your work and participate in the Symposium "Image Processing and Visualization in Solid Mechanics Processes". For instructions and submission, please access to the conference website at: http://www.dem.ist.utl.pt/esmc2009/ Please note that, when submitting your work, you should select the Symposium MS08 – "Image Processing and Visualization in Solid Mechanics Processes". Important dates:  Abstract submission: February 20, 2009;  Notification of acceptance: March 15, 2009;  Conference Events: September 711, 2009. Kind regards, João Manuel R. S. Tavares (University of Porto, Portugal, tavares@...) Michel A. Audette (Kitware, USA, michel.audette@...) (Symposium organizers)  Michel Audette, Ph.D. R & D Engineer, Kitware Inc., Chapel Hill, N.C.  Michel Audette, Ph.D. R & D Engineer, Kitware Inc., Chapel Hill, N.C. 
From: Wolfgang Weidner <w.weidner@cy...>  20090129 11:20:24

david@... wrote: > does this mean that the gts boolean operations are just broken and I need > to figure out how to use some other library? or am I missing something? Please tell me if you find any other library :) > I will note that I initially ran into problems using Cycas, so those fixes > are insufficant. Cycas does not fix anything in GTS but does some post processing on GTS' boolean results. This solves some special cases (intersection of surfaces with coplanar triangles) and this way allows recursive use of GTS' boolean ops. It does not solve the cases with "touching" surfaces or geometrical robustness and accuracy problems. I proposed our post processing approach to this list. Cheers, Wolfgang 
From: <david@la...>  20090129 09:36:13

On Thu, 29 Jan 2009, Toby Breckon wrote: > David, > > Please read the previous posts on this mailing list regarding boolean > ops. in GTS. I've gone back through the archives through Jan 2006 reading everything that has a subject that including 'boolean' with the exception of one post by the author of Cycas I don't see any fixes or suggestions, just lots of people identifying various similar problems. does this mean that the gts boolean operations are just broken and I need to figure out how to use some other library? or am I missing something? I will note that I initially ran into problems using Cycas, so those fixes are insufficant. David Lang 
From: Aniruddh Satpute <anisatpute@gm...>  20090129 09:16:13

I have tried using it...the code is as follows: #include <iostream> #include <fstream> #include <string> # include <gts.h> using namespace std; int main() { char FileName[100]; ofstream out("ani.txt"); FILE *fp; GtsFile *file1; cout<<"Enter file name "<<" : "; cin>>FileName; out<<FileName<<"\n"; fp=fopen(FileName,"rb"); out<<fp<<endl; file1 = gts_file_new(fp); out<<file1; fclose(fp); return 0; } This is giving an error as follows: GtsCRITICAL **: file misc.c: line 51: assertion `fp != NULL' failed Plz help... Regards Aniruddh On Thu, Jan 29, 2009 at 2:20 PM, Toby Breckon <toby.breckon@...>wrote: > 2009/1/29 Aniruddh Satpute <anisatpute@...>: > > Hi, > > > > I'm new to using this library. I'm using this library on MSVC 6..Can > > anybody tell me how to use this function gts_file_new. > > A good example of it's usage (for input) is available here: > http://tinyurl.com/blqfqy > > T. > > >  > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sfspreadtheword > _______________________________________________ > Gtsgeneral mailing list > Gtsgeneral@... > https://lists.sourceforge.net/lists/listinfo/gtsgeneral >  Aniruddh D Satpute II Yr ME(Mechanical) Indian Institute of Science, Bangalore  560012. 
From: Toby Breckon <toby.breckon@cr...>  20090129 08:52:30

David, Please read the previous posts on this mailing list regarding boolean ops. in GTS. T. 
From: Toby Breckon <toby.breckon@cr...>  20090129 08:50:49

2009/1/29 Aniruddh Satpute <anisatpute@...>: > Hi, > > I'm new to using this library. I'm using this library on MSVC 6..Can > anybody tell me how to use this function gts_file_new. A good example of it's usage (for input) is available here: http://tinyurl.com/blqfqy T. 
From: <david@la...>  20090129 07:39:22

resending and also sending to the devel list as there was no reponse in the last week. David Lang On Tue, 20 Jan 2009, david@... wrote: > Date: Tue, 20 Jan 2009 03:44:18 0800 (PST) > From: david@... > To: gtsgeneral@... > Subject: bug in boolean operation > > I was trying to track down problems with a CAD program that uses gts, so I > set up a simple test. > > I created two 1x1x1 blocks, offset by 0.7 and did > /usr/src/gtssnapshot081005/examples/set all cyc1.gts cyc2.gts > mv s1in2.gts 1in2.gts > mv s1out2.gts 1out2.gts > mv s2in1.gts 2in1.gts > mv s2out1.gts 2out1.gts > > on them > > the resulting files are available at http://gts.lang.hm/gts > > instead of each of the objects being a rectangular solid (the expected > result), it appears that in the overlapping area something very strange is > happening, where three sides of the center rectangle show up in each file. > > I am running on ubuntu 8.10 64 bit. > > can someone else verify that the problem isn't in my system and help me > figure what's wrong? > > David Lang > 
From: Aniruddh Satpute <anisatpute@gm...>  20090129 07:17:37

Hi, I'm new to using this library. I'm using this library on MSVC 6..Can anybody tell me how to use this function gts_file_new. Regard Aniruddh Satpute 
From: Tim Hattrell <timh@av...>  20090126 23:40:05

Dear all, I'm having trouble doing a boolean operation between two surfaces. It fails during a call to "gts_surface_inter_new". "gts_surface_inter_new" in turn calls "new_ear" which fails at line 1322 of "boolean.c" The line causing the problem is: g_assert (or > 1e6); As it is not a functional line I'm tempted to comment it out and recompile gts. Unless anyone can suggest a proper resolution? Thanks, Tim 
From: <david@la...>  20090120 10:41:00

I was trying to track down problems with a CAD program that uses gts, so I set up a simple test. I created two 1x1x1 blocks, offset by 0.7 and did /usr/src/gtssnapshot081005/examples/set all cyc1.gts cyc2.gts mv s1in2.gts 1in2.gts mv s1out2.gts 1out2.gts mv s2in1.gts 2in1.gts mv s2out1.gts 2out1.gts on them the resulting files are available at http://gts.lang.hm/gts instead of each of the objects being a rectangular solid (the expected result), it appears that in the overlapping area something very strange is happening, where three sides of the center rectangle show up in each file. I am running on ubuntu 8.10 64 bit. can someone else verify that the problem isn't in my system and help me figure what's wrong? David Lang 
From: Tim Hattrell <timh@av...>  20090119 17:46:37

Think I can answer my own question. The following seems to work: GtsVertex *get_first_vertex_on_surface(GtsSurface *s) { GList *hash_table; GtsFace * first_face; GtsVertex *first_vertex; /* Find the first vertex in the hash table of s. As far * as I'm aware the selection of the vertex (i.e. which * vertex is returned) will be random. */ hash_table = g_hash_table_get_values(s>faces); first_face = (GtsFace *) hash_table>data; first_vertex = first_face>triangle.e1>segment.v1; return first_vertex; } 
From: Olumide <50295@we...>  20090119 17:42:01

> I'm interested in extra information coming from triangles. in fact I > want to calculate > the normal vector of each triangle and select a region (subset of > triangles) with > approximately the same normal vector. Do you mean to say that the (only) extra information is used in the selection process is the triangle normal vector? ... The GTS function gts_triangle_normal can calculate the (unnormalized) normal vector. I suppose you'll have to perform this normal computation as preprocess. (You can use the function gts_vector_normalize to normalize a vector which you can construct from the result of the previous function.) > I also tried to build a graph with the function gts_surface_graph_new > but I don't know how to navigate it since his nodes are GtsFNode and > all the functions to traverse the graph are based on GtsGNode > and I don't know how to link them. As I said previously, I don't think a graph is necessary. Consider that the edge connection between vertexes that form a mesh is a sort of graph, and also looks like one. > So what is the best way to build this marching algorithm you mentioned > before? > My idea was to start from a triangle and visit all his neighbors, mark > them and going on > recursively. but how can I mark the triangles with a flag? Here's a very rough sketch of how the selection process can proceed, consider that a GtsVertex knows all the triangles that use/share it (see gts_vertex_triangles). Knowledge of C++ STL can will make implementing this a lot simpler:  Starting from an initial triangle T1, with a known normal vector N, get all neighboring triangles of T1  compute the dot product of the normal of each of the neighboring triangle and N, in order to decide if a its normal is close to N  Add those neighboring triangles with a large enough dot product to a an array whose initial member is T1. The triangles in the array form a region  For each region, keep a list of outermost vertexes that form the region boundary. The outermost vertexes will be the two vertexes opposite the vertex from which the search was extended. Searches for neighboring triangles are extended from outermost vertexes.  Important note: no triangle that has been added to a region may be considered again.  If a the dot product of neighboring triangle's normal and N is too small, add it to a new array, and start a parallel search for all neighboring triangles that share its normal, after the first search has terminated  All searches terminates when no neighboring triangles that share a normal are found As I said, this is just a sketch, and I'm sure there are special case I've overlooked, so you'll have to be careful and watch out for exceptions.  Something for you to think about: how might your proposed algorithm work, if the normal vector changed only slightly from one adjacent triangle to the next? Would such a triangles be grouped together i.e. you're interested only in sharp boundaries? Or are you interested in absolute deviations of each triangle normal from that of the initial, starting triangle? 
From: Masa Prodanovic <masha.p@gm...>  20090119 16:32:36

Hi Matteo, quick suggestion on flagging: every object has 'flags' that you can (ab)use for the purpose, just set 'object>flags' to some integer of choice. Masha On Mon, Jan 19, 2009 at 9:50 AM, Matteo Icardi <mat.icardi@...> wrote: > Hi Olumide, > > thanks for your answer. > > for my application it's not so important if 2 triangles are connected > sharing an edge or a vertex because I'm interested in finding an approximate > region. However suppose we consider triangles sharing edges. > > I'm interested in extra information coming from triangles. in fact I want to > calculate > the normal vector of each triangle and select a region (subset of triangles) > with > approximately the same normal vector. > > So what is the best way to build this marching algorithm you mentioned > before? > My idea was to start from a triangle and visit all his neighbors, mark them > and going on > recursively. but how can I mark the triangles with a flag? > > I also tried to build a graph with the function gts_surface_graph_new () > but I don't know how to navigate it since his nodes are GtsFNode and > all the functions to traverse the graph are based on GtsGNode > and I don't know how to link them... > > can you help me? > > matteo > > >> > I start from a specific face (a triangle) of a surface and I have to >> > find a connected subset of triangles (containing T) with a specific >> > properties. >> >> You still haven't told us what you mean by connected at geometric level. >> Is it sufficient for triangles to share an edge or a single vertex >> (sharing an edge a stricter requirement that sharing a vertex  each >> edge shares two vertexes). The extra topological information which you >> likened to color will only be considered for a pair of triangles that >> meet the first criteria of connectedness. >> >> Furthermore, the approach to be taken will depend on whether the extra >> topological information is stored at vertex or face (triangle) level? >> Which is it? I don't think a graph is necessary. A marching algorithm >> along the surface should suffice. (Last week, I used the same principle >> to write a program that selects all vertexes enclosed within a path on a >> mesh.) >> >>  Olumide > > > On Thu, Jan 15, 2009 at 2:09 PM, Matteo Icardi <mat.icardi@...> wrote: >> >> I have a gts surface and I should find all the triangles with a specific >> normal vector. How can I navigate through all the triangles connected to a >> starting triangle with a simple and efficient algorithm? >> Now I use the neighbor function but in this way there will be many cycles >> and the recursive algorithm will never stop. Otherwise using the usual >> function to navigate through all the triangles (gts_surface_foreach_face) >> how can I know if two triangles are connected? >> >> can anybody help me? >> >> thanks >> >> matteo > > >  > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sfspreadtheword > _______________________________________________ > Gtsgeneral mailing list > Gtsgeneral@... > https://lists.sourceforge.net/lists/listinfo/gtsgeneral > >  Masha  http://www.ices.utexas.edu/~masha 
From: Matteo Icardi <mat.icardi@gm...>  20090119 15:50:53

Hi Olumide, thanks for your answer. for my application it's not so important if 2 triangles are connected sharing an edge or a vertex because I'm interested in finding an approximate region. However suppose we consider triangles sharing edges. I'm interested in extra information coming from triangles. in fact I want to calculate the normal vector of each triangle and select a region (subset of triangles) with approximately the same normal vector. So what is the best way to build this marching algorithm you mentioned before? My idea was to start from a triangle and visit all his neighbors, mark them and going on recursively. but how can I mark the triangles with a flag? I also tried to build a graph with the function gts_surface_graph_new () but I don't know how to navigate it since his nodes are GtsFNode and all the functions to traverse the graph are based on GtsGNode and I don't know how to link them... can you help me? matteo > > I start from a specific face (a triangle) of a surface and I have to > > find a connected subset of triangles (containing T) with a specific > > properties. > > You still haven't told us what you mean by connected at geometric level. > Is it sufficient for triangles to share an edge or a single vertex > (sharing an edge a stricter requirement that sharing a vertex  each > edge shares two vertexes). The extra topological information which you > likened to color will only be considered for a pair of triangles that > meet the first criteria of connectedness. > > Furthermore, the approach to be taken will depend on whether the extra > topological information is stored at vertex or face (triangle) level? > Which is it? I don't think a graph is necessary. A marching algorithm > along the surface should suffice. (Last week, I used the same principle > to write a program that selects all vertexes enclosed within a path on a > mesh.) > >  Olumide On Thu, Jan 15, 2009 at 2:09 PM, Matteo Icardi <mat.icardi@...> wrote: > I have a gts surface and I should find all the triangles with a specific > normal vector. How can I navigate through all the triangles connected to a > starting triangle with a simple and efficient algorithm? > Now I use the neighbor function but in this way there will be many cycles > and the recursive algorithm will never stop. Otherwise using the usual > function to navigate through all the triangles (gts_surface_foreach_face) > how can I know if two triangles are connected? > > can anybody help me? > > thanks > > matteo > 
From: Tim Hattrell <timh@av...>  20090118 18:25:31

Hi all, Can anyone tell me how to get the coordinates of a single vertex from a surface. I only need to know one vertex, which one doesn't matter. After a full afternoon of trying I can't decipher the intricacies of glib, gts, hash tables and how they all work together. Thanks, Tim 
From: Olumide <50295@we...>  20090116 13:59:29

> I start from a specific face (a triangle) of a surface and I have to > find a connected subset of triangles (containing T) with a specific > properties. You still haven't told us what you mean by connected at geometric level. Is it sufficient for triangles to share an edge or a single vertex (sharing an edge a stricter requirement that sharing a vertex  each edge shares two vertexes). The extra topological information which you likened to color will only be considered for a pair of triangles that meet the first criteria of connectedness. Furthermore, the approach to be taken will depend on whether the extra topological information is stored at vertex or face (triangle) level? Which is it? I don't think a graph is necessary. A marching algorithm along the surface should suffice. (Last week, I used the same principle to write a program that selects all vertexes enclosed within a path on a mesh.)  Olumide 
From: Matteo Icardi <mat.icardi@gm...>  20090116 09:13:39

> > Date: Thu, 15 Jan 2009 13:59:02 +0000 > From: Olumide <50295@...> > Subject: Re: [gtsgeneral] algorithm to navigate through triangles > To: general discussion about GTS <gtsgeneral@...> > MessageID: <496F4126.6090801@...> > ContentType: text/plain; charset=UTF8; format=flowed > > > I have a gts surface and I should find all the triangles with a specific > > normal vector. How can I navigate through all the triangles connected to > > a starting triangle with a simple and efficient algorithm? > > Now I use the neighbor function but in this way there will be many > > cycles and the recursive algorithm will never stop. Otherwise using the > > usual function to navigate through all the triangles > > (gts_surface_foreach_face) how can I know if two triangles are connected? > > You haven't phrased your question very well. If you wish to examine or > analyze all faces that belong to a surface, use gts_surface_foreach_face. > > You may have to explain what you mean by two triangles being connected. > One definition could be sharing an edge, another would be sharing a > vertex. Which do you mean? > > I start from a specific face (a triangle) of a surface and I have to find a connected subset of triangles (containing T) with a specific properties. So from my point of view connected means topologically connected, i.e.you cannot have two separate regions. It's something like the algorithm in photoshop that gives the possibility to select a zone with approximately the same color. So I should navigate through all the neighbors of T. I thought also to create a graph starting from T and navigate it. what do you think? thank you matteo 
From: Ashvinikumar <ashvinikumar@gm...>  20090116 06:22:25

Hi, Can someone send me the instructions for compiling the gts library using MSVC2008. thank you ashvinikumar On Sat, Dec 27, 2008 at 2:24 AM, Steven Lu <stevenlu443@...> wrote: > Great, thanks! > If anyone has gotten it to work under mingw, though, I would prefer that. > > The reason being, that way I wouldn't have to figure out how to statically > link the C runtime library (or whatever it is that makes programs compiled > in MSVC capable of running on computers without .NET installed). > > Thanks > Steven > > On Fri, Dec 26, 2008 at 3:38 PM, Olumide <50295@...> wrote: > >> Hi Steven, >> >> I have successfully compiled the library with Visual Studio .NET 2003 >> under Windows. Attached are the instructions for doing so. >> >>  Olumide >> >> >> Hi all, >>> >>> I am having trouble getting this library to work under Windows. I am >>> using it for the Constrained Delaunay Triangulation, and so far it is >>> working wonderfully on linux. I simply installed the gtsdev package from >>> the repositories on ubuntu. >>> However, the most recent binaries I have been able to find that were >>> built for win32 were for GTS v0.7.0, and it came with glib1.3. I found this >>> on the sourceforge download site. I tried to use this, and I got it to >>> compile but it would crash/segfault when my CDT code was executed. I am >>> currently using MingGW with Eclipse CDT. >>> I figured that maybe this was because my code only works with a more >>> recent version of GTS, so I got the source, screwed around with the config >>> headers, and got it to compile with glib 2.18. I get similar crashes when I >>> run the CDT code. >>> Any ideas? >>> >>> Would I have better luck with the Microsoft compiler? Can anybody show me >>> a way (that has been tried) that works to get this library compiled under >>> windows? The reason is that I am working on a game, and the majority of >>> users are bound to be Windows users. >>> Since I don't see why the MS compiler would fix my issue, the only other >>> option i see is Cygwin, and I am not certain about how that works. If I use >>> cygwin to get the library compiled, will it still work natively in windows? >>> Could I still release it and use it as a native windows application? I know >>> that I can't just compile the library under linux and copy over the binaries >>> to link to on windows, so how would Cygwin be any different? >>> Thanks, Steven >>> >> > > >  > > _______________________________________________ > Gtsgeneral mailing list > Gtsgeneral@... > https://lists.sourceforge.net/lists/listinfo/gtsgeneral > >  Warm regards, Ashvinikumar 
From: Olumide <50295@we...>  20090115 13:59:33

> I have a gts surface and I should find all the triangles with a specific > normal vector. How can I navigate through all the triangles connected to > a starting triangle with a simple and efficient algorithm? > Now I use the neighbor function but in this way there will be many > cycles and the recursive algorithm will never stop. Otherwise using the > usual function to navigate through all the triangles > (gts_surface_foreach_face) how can I know if two triangles are connected? You haven't phrased your question very well. If you wish to examine or analyze all faces that belong to a surface, use gts_surface_foreach_face. You may have to explain what you mean by two triangles being connected. One definition could be sharing an edge, another would be sharing a vertex. Which do you mean? 
From: Matteo Icardi <mat.icardi@gm...>  20090115 13:09:49

I have a gts surface and I should find all the triangles with a specific normal vector. How can I navigate through all the triangles connected to a starting triangle with a simple and efficient algorithm? Now I use the neighbor function but in this way there will be many cycles and the recursive algorithm will never stop. Otherwise using the usual function to navigate through all the triangles (gts_surface_foreach_face) how can I know if two triangles are connected? can anybody help me? thanks matteo 
From: Ruhollah Tavakoli <rohtav@gm...>  20090113 09:40:47

Tim, Yes, i mean that you implied Let me to stress that boolean operations can be performed with a good accuracy on voxelized geometry, to get better accuracy it's possible to use multiresolution voxelization (e.g. octree), as efficiency is very good the only penalthy is memory. further, you can use embeded geometry on a cartesian grid, so your geometry is not essentially stairecase like, a good implementation of this approach is what is used by Gerris flow solver (by S. Popinet, author of GTS) on top of GTS lib however, selection of method if largely depends on your application and the desired accuracy, what is your application? if you look for a simple voxelization tool as well as its octree realization, you can refer to my code and paper in this regard: http://mehr.sharif.ir/~tav/cartgen.htm cheers RT On Tue, Jan 13, 2009 at 12:46 PM, Tim Hattrell <timh@...> wrote: > Hi Ruhollah, > > Thanks for the reply. Am I correct in thinking that by "voxelize" you mean > generate a solid from a surface where the solid is represented by by a > number of voxels. Then, for example, take the Boolean intersection of the > objects. Compare both original objects with the result of the intersection: > If one original object is identical to the intersection then that surface is > entirely enclosed by the other. > > Here the only limit on accuracy would be the size of the voxels. Don't yet > know if this would be a problem, will have to investigate. > > Thanks for the input. Tim > >  > *From:* Ruhollah Tavakoli [mailto:rohtav@...] > *Sent:* 13 January 2009 07:15 > *To:* Tim Hattrell; general discussion about GTS > *Subject:* Re: [gtsgeneral] How to tell if one surface is totally > enclosed by another > > Tim, > > > I think that efficient way to do this is to use volumetric approach, for > this purpose you should convert your surfaces to volumetric data, e.g. you > can use a heviside function or level set function (or a distance field) > defined on a uniform cartesian grid that its zero set coincides to your > surface (of course it has approximation), in fact fist you should voxelize > your surfaces, i think that GTS has tools for this purpose, > > after this you will have a uniform cartesian grid each cell has an id about > inout related to each surface. it is just required do a simple boolean > operation to detect your goal, as well as do other boolean operations. > > > the uniform version of "cartgen" also does voxelization for you very > efficiently (i think that it is the fastest method!), if GTS does not > > > cheers > > RT > > On Tue, Jan 13, 2009 at 10:21 AM, Tim Hattrell <timh@...> wrote: > >> Dear all, >> >> First post and I am new to the GTS library so excuse me if I am asking >> obvious questions... >> >> I'm trying to do boolean operations between two closed surfaces. In >> certain situations one surface may totally enclose the other, in which >> case the boolean operation fails. >> >> My question is: How can I tell if one surface is completely enclosed by >> another and if this is the case, which surface is the "inner" and which >> the "outer"? I have (I think) some idea but I'd like to canvas for >> opinions in case there is already a built in function which I've missed >> (or I'm going about it completely the wrong way). >> >> My solution would be to calculate surface normals for the surfaces. If >> one surface is inside the other then it is (I think) guaranteed that >> every normal vector, if travelled in the positive direction, from that >> surface will intersect a face from the other surface. Is this the >> correct way to do it or is there a simpler algorithm which I don't know >> about? >> >> Thanks, Tim >> >> >>  >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sfspreadtheword >> _______________________________________________ >> Gtsgeneral mailing list >> Gtsgeneral@... >> https://lists.sourceforge.net/lists/listinfo/gtsgeneral >> > > 
From: Tim Hattrell <timh@av...>  20090113 09:17:07

Hi Ruhollah, Thanks for the reply. Am I correct in thinking that by "voxelize" you mean generate a solid from a surface where the solid is represented by by a number of voxels. Then, for example, take the Boolean intersection of the objects. Compare both original objects with the result of the intersection: If one original object is identical to the intersection then that surface is entirely enclosed by the other. Here the only limit on accuracy would be the size of the voxels. Don't yet know if this would be a problem, will have to investigate. Thanks for the input. Tim ________________________________ From: Ruhollah Tavakoli [mailto:rohtav@...] Sent: 13 January 2009 07:15 To: Tim Hattrell; general discussion about GTS Subject: Re: [gtsgeneral] How to tell if one surface is totally enclosed by another Tim, I think that efficient way to do this is to use volumetric approach, for this purpose you should convert your surfaces to volumetric data, e.g. you can use a heviside function or level set function (or a distance field) defined on a uniform cartesian grid that its zero set coincides to your surface (of course it has approximation), in fact fist you should voxelize your surfaces, i think that GTS has tools for this purpose, after this you will have a uniform cartesian grid each cell has an id about inout related to each surface. it is just required do a simple boolean operation to detect your goal, as well as do other boolean operations. the uniform version of "cartgen" also does voxelization for you very efficiently (i think that it is the fastest method!), if GTS does not cheers RT On Tue, Jan 13, 2009 at 10:21 AM, Tim Hattrell <timh@...> wrote: Dear all, First post and I am new to the GTS library so excuse me if I am asking obvious questions... I'm trying to do boolean operations between two closed surfaces. In certain situations one surface may totally enclose the other, in which case the boolean operation fails. My question is: How can I tell if one surface is completely enclosed by another and if this is the case, which surface is the "inner" and which the "outer"? I have (I think) some idea but I'd like to canvas for opinions in case there is already a built in function which I've missed (or I'm going about it completely the wrong way). My solution would be to calculate surface normals for the surfaces. If one surface is inside the other then it is (I think) guaranteed that every normal vector, if travelled in the positive direction, from that surface will intersect a face from the other surface. Is this the correct way to do it or is there a simpler algorithm which I don't know about? Thanks, Tim   This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sfspreadtheword _______________________________________________ Gtsgeneral mailing list Gtsgeneral@... https://lists.sourceforge.net/lists/listinfo/gtsgeneral 
From: Ruhollah Tavakoli <rohtav@gm...>  20090113 07:14:50

Tim, I think that efficient way to do this is to use volumetric approach, for this purpose you should convert your surfaces to volumetric data, e.g. you can use a heviside function or level set function (or a distance field) defined on a uniform cartesian grid that its zero set coincides to your surface (of course it has approximation), in fact fist you should voxelize your surfaces, i think that GTS has tools for this purpose, after this you will have a uniform cartesian grid each cell has an id about inout related to each surface. it is just required do a simple boolean operation to detect your goal, as well as do other boolean operations. the uniform version of "cartgen" also does voxelization for you very efficiently (i think that it is the fastest method!), if GTS does not cheers RT On Tue, Jan 13, 2009 at 10:21 AM, Tim Hattrell <timh@...> wrote: > Dear all, > > First post and I am new to the GTS library so excuse me if I am asking > obvious questions... > > I'm trying to do boolean operations between two closed surfaces. In > certain situations one surface may totally enclose the other, in which > case the boolean operation fails. > > My question is: How can I tell if one surface is completely enclosed by > another and if this is the case, which surface is the "inner" and which > the "outer"? I have (I think) some idea but I'd like to canvas for > opinions in case there is already a built in function which I've missed > (or I'm going about it completely the wrong way). > > My solution would be to calculate surface normals for the surfaces. If > one surface is inside the other then it is (I think) guaranteed that > every normal vector, if travelled in the positive direction, from that > surface will intersect a face from the other surface. Is this the > correct way to do it or is there a simpler algorithm which I don't know > about? > > Thanks, Tim > > >  > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sfspreadtheword > _______________________________________________ > Gtsgeneral mailing list > Gtsgeneral@... > https://lists.sourceforge.net/lists/listinfo/gtsgeneral > 
From: Tim Hattrell <timh@av...>  20090113 06:51:30

Dear all, First post and I am new to the GTS library so excuse me if I am asking obvious questions... I'm trying to do boolean operations between two closed surfaces. In certain situations one surface may totally enclose the other, in which case the boolean operation fails. My question is: How can I tell if one surface is completely enclosed by another and if this is the case, which surface is the "inner" and which the "outer"? I have (I think) some idea but I'd like to canvas for opinions in case there is already a built in function which I've missed (or I'm going about it completely the wrong way). My solution would be to calculate surface normals for the surfaces. If one surface is inside the other then it is (I think) guaranteed that every normal vector, if travelled in the positive direction, from that surface will intersect a face from the other surface. Is this the correct way to do it or is there a simpler algorithm which I don't know about? Thanks, Tim 
From: <daikyo_san@ho...>  20090112 22:30:57

Hello, First, I have to tell : I am French, apologies from my english. I am a student, I have to use the GTS lib and specially use the Surface Boolean Operations. My job consists in writing a simple OpenGL program that shows those boolean operations. I don't understand how I can match OpenGL and the class that we have to use in GTS. I will be very glad if somebody has an example source code using these boolean operations. The test about this topic is soon and I just freak out... Have a nice day/evening... and hope I will have answers ! Thank you 