More precise clipping with implicit functions

david.pont at forestresearch.co.nz david.pont at forestresearch.co.nz
Tue Feb 22 18:09:07 EST 2000



John,
     Just a report from the trenches. My work with clipping etc prompted me to
update from vtk 2.2 to the latest nightly to try out Subdivision Surfaces.

I am using Borland C Builder 3. PCMAKER, and the command line make, built the
whole vtk DLL beautifully (applause to vtk). The only glitch (apart from some
out-of-memory failures) was with vtkDirectory. This has conditional code for
UNIX or WIN32, but is incompatible with Borland (findfirst, findnext). I cloned
the whole WIN32 block and tweaked it with the Borland specific functions, which
got it to compile OK. What is your experience with this?.

I downloaded BCBvtkRenderWindow.zip from your page. The links to
BCBvtkMappedRenderWindow.zip and vtkdemo.zip, which I was interested in, seemed
to be broken. I got  BCBvtkRenderWindow working quite painlessly (applause to
you) with the following changes:

BCBvtkRenderWindow.cpp:
//DP    if (FInteractor) tb =
vtkIsTypeMacro(vtkInteractorStyleTrackball,FInteractor->GetInteractorStyle());
    if (FInteractor) tb = (vtkInteractorStyleTrackball
*)FInteractor->GetInteractorStyle(); //DP

BCBvtkRenderWindow.h:
//DP    __property Anchors;
//DP    __property Constraints;
//DP    __property OnCanResize;
//DP    __property OnConstrainedResize;

BCBvtkRenderWindow does seem to suffer from one fault, which your earlier
VTK_PANEL shared. That is if you re-size the app window larger, the render panel
is sized up, but beyond a certain size the viewport is too small. The effect is
as though you are looking at the scene through a fixed size window placed at the
upper left of the panel. Any clues on how to fix this?.

I tried using an ImplicitBoolean setup to get better clipping. It did work, but
the resulting implicit function needs to be sampled at high resolution with
vtkSampleFuntion. At (60*60*60) resolution, and a wait of about 2hrs, I got a
result that was unacceptable. Forget that idea, especially with your data.

I then tried vtkLinearSubdivisionFilter on my polygonal data (preceded by
vtkTriangleFilter). Thanks to Bill Lorenson for the tip off about this class.
This allowed much better interaction between the polydata and the implicit
function, MUCH BETTER. For me this gives a perfectly acceptable solution, with 2
or 3 subdivision iterations the results are very good. I have some ideas about
extending the Subdivision Surfaces code to make it a better suited for this type
of problem, but first I would like to consider the issues in your application. I
am not completely clear about your problem. This "fresnel zone", is it a
cylindrical region?, which you want to intersect with a very large number of
polygons (buildings), over a very long path?.

     regards
          Dave Pont


--------------------------------------------------------------------
This is the private VTK discussion list. Please keep messages on-topic.
Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at public.kitware.com>. For help, send message body containing
"info vtkusers" to the same address.
--------------------------------------------------------------------



More information about the vtkusers mailing list