gul-developers Mailing List for Geometry Utility Library
Status: Beta
Brought to you by:
nurbert
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(2) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Norbert I. <8i...@in...> - 2002-06-19 16:57:18
|
Hello, Some files like DAT.h,DAT.c and lex.Dat.c are created by Bison and Flex. Under Unix bison & flex are part of the operating system. For windows, have a look at the Mingw site. If i remember it right, they were part of the UnxTools package. -----Urspr=A8=B9ngliche Nachricht----- Von: gul...@li... [mailto:gul...@li...]Im Auftrag von Southpa= ss Gesendet: Samstag, 22. Juni 2002 14:42 An: gul...@li... Betreff: [Gul-developers] hello , everyone! Hi: Thank you for your reading this mail . I downloaded the gul-vdog-0.6-cvs yesterday . But a file named "DAT.h" which is included in file DATinterface.cpp can not be found . If you have this file , would you please mail it to me ? Thanks! sincerely Southpass xh...@ca... |
From: Southpass <xh...@ca...> - 2002-05-23 12:40:31
|
SGk6DQoNClRoYW5rIHlvdSBmb3IgeW91ciByZWFkaW5nIHRoaXMgbWFpbCAuDQoNCkkgZG93bmxv YWRlZCB0aGUgZ3VsLXZkb2ctMC42LWN2cyB5ZXN0ZXJkYXkgLiBCdXQgYSBmaWxlIG5hbWVkICJE QVQuaCIgd2hpY2ggaXMgaW5jbHVkZWQgaW4gZmlsZSBEQVRpbnRlcmZhY2UuY3BwIGNhbiBub3Qg YmUgZm91bmQgLiBJZiB5b3UgaGF2ZSB0aGlzIGZpbGUgLCB3b3VsZCB5b3UgcGxlYXNlIG1haWwg aXQgdG8gbWUgPyANCg0KVGhhbmtzIQ0KDQpzaW5jZXJlbHkgU291dGhwYXNzDQp4aHlhbmdAY2Fk LnpqdS5lZHUuY24NCg0K |
From: Norbert I. <nor...@he...> - 2000-11-16 01:38:16
|
Norbert Irmer wrote: > > Javier Martin Garcia wrote: > > > > I'd like to know if your project includes support for > > solids, in particular i am interested in boolean operations > > with solids. > > > No, currently not. Perhaps some day I will be able to calculate trimmed nurbs surfaces by intersection. I did some steps in this direction. Like calculating a linear approximation of the intersection curve of nurbs surfaces, and doing boolean operations with 2D polygons (for combining the regions formed by the intersection curve with already existing trim contours). But solid operations are more difficult, mainly because you need a reliable inside/outside test for them. (And there may be gaps between adjacent nurbs surfaces if you store solids only as groups of trimmed surfaces). I think the best solution to avoid the gap problem is to work with a fixed accuracy, but to store also the solids as a CSG tree. Then, if the user later requires a higher or lower accuracy, the whole calculation could be repeated. Best regards, Norbert |
From: Norbert I. <nor...@he...> - 2000-11-16 01:35:51
|
Due to very low traffic, I am forwarding this to the mailing list. Why does nobody write a word ? If you have problems, for example when compiling, please feel free to write ! -------- Original Message -------- Subject: About the project Date: Tue, 14 Nov 2000 07:59:14 -0800 From: Javier Martin Garcia <men...@te...> To: nor...@he... I'd like to know if your project includes support for solids, in particular i am interested in boolean operations with solids. Please respond ASAP Thanks. Excuse my bad english, i am Spanish. |
From: Norbert I. <nor...@he...> - 2000-09-14 01:49:19
|
Ronan GOLHEN wrote: > > You're library looks very good and the image that interpolate scattered data > points looks like exactly what I'm looking for. > > As far as I've understood, the function to use for this is > NUNU_MBAapproximate(). > > I've not found any sample using the function NUNU_MBAapproximate(). It would > help if you can provide me with one sample. > If you do not have, should I refer to the book : "The NURBS Book" ? Any > other idea ? > Hello, The MBA algorithm is based on Lee, S., Wolberg, G., and Shin, S.Y. "Scattered Data Interpolation with Multilevel B-Splines" IEEE Transactions on Visualization and Computer Graphics, VOL. 3, NO. 3, July-September 1997 But I would recommend the "The NURBS Book", too, since i use in my library the type of nurbs functions described in the nurbs book (with clamped knot vectors), and use the same functions for calculating their values, derivatives, etc. Some remarks in advance: There are two versions of the library. The old one is called "snurbs", and the new one is called "gul". (you find the new one at http://gul.sourceforge.net ) The new library makes much use of C++ and templates. I don't use the old version anymore, since in the new version I can use the same templates for algorithms with "float" and "double" coordinates, and 1-,2-,3-, or 4-dimensional control points. The new version also uses a "smart" pointer class, which remembers the storage class of allocated memory, and automatically deallocates it correctly when the last pointer which references it gets deleted. So you don't have to write cleanup code, and don't have to worry about memory leaks. This is very convenient. But the disadvantage is, that the new version of the library doesn't compiles anymore with VisualC++ 5.0/6.0 on Windows, since this compiler is quite old, and doesn't fully supports the new Ansi C++ standard from 1998. So you have to use Mingw32 or the free BorlandC++ 5.5.1 command line tools (with service pack 2) to get the thing compiled on windows. If you want to compile the library with BorlandC++ or Mingw32 on windows, you have to checkout the CVS version (see the project page), since the Makefiles for BorlandC or Mingw32 are not included in the distribution. But for this you must have cvs + ssh installed on your windows box, ... Phew, is that complicated ! Perhaps it's the best you write again to me if you want to compile the thing on windows, then I make a standalone distribution of the library, including the makefiles for borlandx++ and mingw32. Best regards, Norbert PS: Here is a simple example i made which shows how to call the MBA function (i also attached it to this mail) I hope this helps you. #include <gul_types.h> #include <gunu_mba_approximate.h> #include <iostream.h> #include <gul_io.h> using gul::point; using gul::Ptr; using gunu::SurfaceOverXYPlane; // test case with 6 data points int nTestPoints = 6; point<float> TestPoints[] = { {1330.76, 1650.00, 220.00}, {2198.50, 2033.20, 20.00}, {2872.27, 1052.20, 30.00}, {487.25, 4149.87, 1590.00}, {4334.40, 5134.66, 170.00}, {4977.55, 5458.02, -120.00} }; // main program int main() { int pu,pv,nu,nv,i,j; // data points Ptr< point<float> > pts; // standard deviations, will not be used, but must be given as a // function parameter Ptr<float> devs; // arrays for knot vectors, will be reserved by the Mba function Ptr<float> U,V; // array for control points, will be reserved by the Mba function Ptr< Ptr< point<float> > > Pw; // the "pts" pointer simply uses the already existing "TestPoints" // array pts.use_pointer( TestPoints, nTestPoints ); // here the mba algorithm is called pu = 3; pv = 3; SurfaceOverXYPlane< float,point<float> >( nTestPoints, // number of data points pts, // data points false, // don't use standard deviations devs, // standard deviations for data points (not used in // this example) false, // minimize area of base rectangle in xy-plane 2, // number of iterations pu, pv, // degree for u and v direction of the calculated surface &nu, &U, &nv, &V, &Pw // knot vectors and control points of the calculated // data points (nu and nv will contain the number of // knots - 1 !!!) ); // dump the result surface cout << "U knot vector:\n"; for( i = 0; i < nu + pu + 2; i++ ) cout << U[i] << " "; cout << "\n"; cout << "V knot vector:\n"; for( i = 0; i < nv + pv + 2; i++ ) cout << V[i] << " "; cout << "\n"; cout << "Control point matrix:\n"; for( i = 0; i <= nv; i++ ) { for( j = 0; j <= nu; j++ ) cout << Pw[i][j] << " "; cout << "\n"; } // no cleanup code neccessary, everything gets deallocated automatically // when the destructors of the pointers are called :)) } |