Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] meshing with hard feature boundary: using all edges as features

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] meshing with hard feature boundary: using all edges as features


Chronological Thread 
  • From: Michel Audette <>
  • To:
  • Subject: Re: [cgal-discuss] meshing with hard feature boundary: using all edges as features
  • Date: Tue, 14 Jun 2011 15:30:44 -0400

Hi again,

I managed to get a result by supplying an angle parameter to
detect_features...

  domain.detect_features(0.1);

Does such a low parameter in fact detect the whole surface input as domain?

On the other hand, I'm seeing a lot of slivers. Perhaps it's my choice
of parameters, but can you indicate to me the relationship between
edge_size, facet_size and cell_size? I thought it would be something
like r, root(3)/4 r^2, root(2)/12 r^3, but the example code that I'm
seeing

[examples/Mesh_3/mesh_polyhedral_domain_with_features.cpp , with
Mesh_criteria criteria(edge_size = 0.025,
facet_angle = 25, facet_size = 0.05,
facet_distance = 0.005,
cell_radius_edge_ratio = 3, cell_size = 0.05); ]

does not corroborate this.

Best wishes,

Michel

On Tue, Jun 14, 2011 at 2:27 PM, Michel Audette
<>
wrote:
>
> Hi Laurent,
>
> this polyline code was taken verbatim from the example
>
> examples/Mesh_3/mesh_two_implicit_spheres_with_balls.cpp
>
>  Polylines polylines (1);
>  Polyline& polyline = polylines.front();
>
>  for(int i = 0; i < 360; ++i)
>  {
>    Point p (1, std::cos(i*CGAL_PI/180), std::sin(i*CGAL_PI/180));
>    polyline.push_back(p);
>  }
>  polyline.push_back(polyline.front()); // close the line
>
>  // Insert edge in domain
>  domain.add_features(polylines.begin(), polylines.end());
>
> I don't understand why what is admissible for the implicit function example
> is inadmissible for the polyhedral surface input. Can you elaborate? Sorry
> to be a pest...
>
> Cheers,
>
> Michel
>
>
>
>
> On Tue, Jun 14, 2011 at 5:32 AM, Laurent Rineau (GeometryFactory)
> <>
> wrote:
> >
> > On vendredi 10 juin 2011 23:20:31 Michel Audette wrote:
> > > Hi Laurent,
> > >
> > > I'm seeing the following error, with a number of different choices for
> > > mesh
> > > size...
> > > *
> > > terminate called after throwing an instance of
> > > 'CGAL::Assertion_exception'
> > >  what():  CGAL ERROR: assertion violation!
> > > Expr: sq_d > 0
> > > File: /usr/local/include/CGAL/Mesh_3/Protect_edges_sizing_field.h
> > > Line: 416
> > > Aborted
> > > *
> > > I've been using the following code... See below. So far, I'm trying to
> > > get
> > > a result with constant tet size, even though the surface mesh size has
> > > edges varying between about 10 and 40mm.
> > >
> > > Is this a bug related to the new boundary faithfulness implementation
> > > or a
> > > consequence of a mismatched size objective?
> >
> > The set of polylines that you specify with domain.add_features(...) must
> > be a
> > graph. The vertices of this graph are the endpoints of the polylines (not
> > all
> > points, just the two endpoints of each polyline), and the edges of this
> > graph
> > are the polylines. The polylines must not intersect but at their
> > endpoints.
> >
> > I had a look at your code, and I saw that, as set of feature curves, you
> > entered only one polyline with all vertices of the input polyhedron, in
> > the
> > order of the vertices iterator. Depending on your polyhedron, that
> > polyline
> > probably intersects itself.
> >
> > --
> > Laurent Rineau, PhD
> > R&D Engineer at GeometryFactory           http://www.geometryfactory.com/
> > Release Manager of the CGAL Project       http://www.cgal.org/
> >
> > --
> > You are currently subscribed to cgal-discuss.
> > To unsubscribe or access the archives, go to
> > https://lists-sop.inria.fr/wws/info/cgal-discuss
> >
>
>
>
> --
> 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.



Archive powered by MHonArc 2.6.16.

Top of Page