Skip to Content.
Sympa Menu

cgal-discuss - Re:[cgal-discuss] Location of point relative to polyhedron

Subject: CGAL users discussion list

List archive

Re:[cgal-discuss] Location of point relative to polyhedron


Chronological Thread 
  • From: "Thomas Zangl - Home" <>
  • To: "cgal-discuss" <>
  • Subject: Re:[cgal-discuss] Location of point relative to polyhedron
  • Date: Thu, 19 Jul 2007 18:32:02 +0200


Am Thu, 19 Jul 2007 11:57:20 +0200, schrieb "Peter Hachenberger"
<>:

Hi!

>A Nef_polyhedron is a decomposition of the 3-space into
>vertices, edges, facets, and volumes. That means, the outer volume is
>also modeled as a volume. You can distinguish the inner and outer volume
>by its mark.
>
>Volume_handle c;
>Object_handle o;
>o = myNef.locate(Point_3(5,3,2));
>if(assign(c, o))
> if(c->mark())
> std::cerr << "found inner volume" << std::endl;
> else
> std::cerr << "found outer volume" << std::endl;

Thanks!

I now have an issue with the Nef_Polyhedron. My typedefs:

typedef CGAL::Exact_predicates_exact_constructions_kernel K;
typedef CGAL::Nef_polyhedron_3<K> Nef_polyhedron;
typedef Nef_polyhedron::Object_handle Nef_object_handle;
typedef Nef_polyhedron::Volume_const_handle Nef_volume_handle;

I then added a member "pNef_" of type Nef_Polyhedron to my class:

class MyClass {
private:
std::string name_;
Polyhedron p_;
Nef_polyhedron pNef_;
..

and my compiler complains:
/home/TZi/CGAL-3.3/include/CGAL/Lazy_exact_nt.h: In member function `void
CGAL::Lazy_exact_Div<ET, ET1, ET2>::update_exact() [with ET = CGAL::MP_Float,
ET1 = CGAL::MP_Float, ET2 = CGAL::MP_Float]':
src/myClass.cpp:123: instantiated from here
/home/TZi/CGAL-3.3/include/CGAL/Lazy_exact_nt.h:325: error: no match for
'operator/' in '((CGAL::Lazy<CGAL::Interval_nt< false>, CGAL::MP_Float,
CGAL::Lazy_exact_nt<CGAL::MP_Float>, CGAL::To_interval<CGAL::MP_Float>
>*)(((CGAL::Lazy_exact_nt<CGAL::MP_Float>*)((CGAL::Lazy_exact_binary<CGAL::MP_Float,
CGAL::MP_Float, CGAL::MP_Float>*)((CGAL::Lazy_exact_Div<CGAL::MP_Float,
CGAL::MP_Float, CGAL::MP_Float>*)this))) + 28u))->CGAL::Lazy<AT, ET, EFT,
E2A>::exact [with AT_ = CGAL::Interval_nt< false>, ET_ = CGAL::MP_Float, EFT
= CGAL::Lazy_exact_nt<CGAL::MP_Float>, E2A =
CGAL::To_interval<CGAL::MP_Float>]() / ((CGAL::Lazy<CGAL::Interval_nt<
false>, CGAL::MP_Float, CGAL::Lazy_exact_nt<CGAL::MP_Float>,
CGAL::To_interval<CGAL::MP_Float>
>*)(((CGAL::Lazy_exact_nt<CGAL::MP_Float>*)((CGAL::Lazy_exact_binary<CGAL::MP_Float,
CGAL::MP_Float, CGAL::MP_Float>*)((CGAL::Lazy_exact_Div<CGAL::MP_Float,
CGAL::MP_Float, CGAL::MP_Float>*)this))) + 36u))->CGAL::Lazy<AT, ET, EFT,
E2A>::exact [with AT_ =!
CGAL::Interval_nt< false>, ET_ = CGAL::MP_Float, EFT =
CGAL::Lazy_exact_nt<CGAL::MP_Float>, E2A =
CGAL::To_interval<CGAL::MP_Float>]()'
make: *** [src/myClass.o] Error 1

Whats that...?

Best regards,
--
----------------------------------------------------------------
,yours Thomas Zangl, Bakk.rer.soc.oec. -

-
- Freelancer - IT Consulting & Software Development -
- Student of Software Development-Economy (Master) -



Archive powered by MHonArc 2.6.16.

Top of Page