Using HDS

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Using HDS

Sandeep Dey-2
Hi,

I need to use Half Edge Data structure for storing planar sub-division in 2-D.
I need to store faces. And split face and merge face operations will be required.
How should I create faces and store it?
How are vertex, half edge and face are connected in HDS? 
is it like by vertex we define half edge and then by collection of half edges we define face.
 Many variants of HDS are given:
Halfedge default, HalfedgeDS min base, HalfedgeDS_list, HalfedgeDS_vector...
Any suggestions will be helpful, which one should be used for storing planar sub-division in 2-D and how it should be used?


Thanks and Best Regards,

Sandeep.


Reply | Threaded
Open this post in threaded view
|

Re: Using HDS

efif
Sandeep Dey wrote:

> Hi,
>
> I need to use Half Edge Data structure for storing planar sub-division
> in 2-D.
> I need to store faces. And split face and merge face operations will
> be required.
> How should I create faces and store it?
> How are vertex, half edge and face are connected in HDS?
> is it like by vertex we define half edge and then by collection of
> half edges we define face.
>  Many variants of HDS are given:
> Halfedge default, HalfedgeDS min base, HalfedgeDS_list,
> HalfedgeDS_vector...
> Any suggestions will be helpful, which one should be used for
> storing planar sub-division in 2-D and how it should be used?
>
>
> Thanks and Best Regards,
>
> Sandeep.
>
>
Use the Arrangement_2 type. It is derived from the the
Arrangement_on_surface_2 type which uses the HDS to represent the
incident relations between vertices, halfedges, and faces.

--
  ____  _        ____             _
 /_____/_) o    /__________  __  //
(____ (   (    (    (_/ (_/-(-'_(/
                        _/


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss

Reply | Threaded
Open this post in threaded view
|

Re: Using HDS

Sebastien Loriot (GeometryFactory)
In reply to this post by Sandeep Dey-2
Sandeep Dey wrote:

> Hi,
>
> I need to use Half Edge Data structure for storing planar sub-division
> in 2-D.
> I need to store faces. And split face and merge face operations will be
> required.
> How should I create faces and store it?
> How are vertex, half edge and face are connected in HDS?
> is it like by vertex we define half edge and then by collection of half
> edges we define face.
>  Many variants of HDS are given:
> Halfedge default, HalfedgeDS min base, HalfedgeDS_list, HalfedgeDS_vector...
> Any suggestions will be helpful, which one should be used for
> storing planar sub-division in 2-D and how it should be used?
>
>
> Thanks and Best Regards,
>
> Sandeep.
>
>
Have a look here:

http://www.cgal.org/Manual/latest/doc_html/cgal_manual/HalfedgeDS/Chapter_main.html

for simple examples

and here:

http://www.cgal.org/Manual/latest/doc_html/cgal_manual/HalfedgeDS_ref/Concept_HalfedgeDS.html#Cross_link_anchor_1102

for complete reference manual of HDS class.

Function you may want to have a closer look are HDS::faces_push_back,
HDS::edges_push_back and HDS::vertices_push_back.

Connectivity in the HDS can be managed using halfedge member function
set_opposite, set_vertex, set_face, set_next, ...



--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss

Reply | Threaded
Open this post in threaded view
|

Re: Using HDS

Sandeep Dey-2
In reply to this post by Sandeep Dey-2
Hi,

 Is there a balance tree provided to store segments in 2-D? 
The collection of segments is always y-monotone and changing continuously.
And if we shoot a ray and need to find the intersection with the segment stored in the tree,  Is there a method provided to determine the intersection of a ray with the balanced tree ?

Thanks and Best Regards,

Sandeep.

Reply | Threaded
Open this post in threaded view
|

Re: Using HDS

Sandeep Dey-2
In reply to this post by Sebastien Loriot (GeometryFactory)
Hi,

I need suggestions for the following problem:
I was planning to have a half edge default data structure instance and insert Vertex objects in to it, by specifying coordinates as points (Point_2) one by one.
However, I was able to find a way to construct a Vertex from a Point, which prevented me from using vertices_push_back() method of HDS decorator.

Maybe I could not find the related information in documentation, or maybe there is another way to do this.So, could you please provide some suggestions on this?

Also, my another query is:  
Is it possible to create a rectangular Face from 4 Points?
Because I was trying to use faces_push_back() method to insert a face in HDS, but I could not find a way to construct a face from 4 Points.

I found split_face and split_vertex methods in the decorator class. 
I am giving a new vertex which would be a Point_2 and which basically lie with in one of the edges of HDS. Now I need to split the edge in to two edges.
Is there a method by which I could split an edge given a new vertex lie on that edge?

Thanks and best regards,

Sandeep.

  


On Mon, Jul 19, 2010 at 4:34 PM, Sebastien Loriot (GeometryFactory) <sloriot.ml@gmail.com> wrote:
Sandeep Dey wrote:
Hi,

I need to use Half Edge Data structure for storing planar sub-division in 2-D.
I need to store faces. And split face and merge face operations will be required.
How should I create faces and store it?
How are vertex, half edge and face are connected in HDS? is it like by vertex we define half edge and then by collection of half edges we define face.
 Many variants of HDS are given:
Halfedge default, HalfedgeDS min base, HalfedgeDS_list, HalfedgeDS_vector...
Any suggestions will be helpful, which one should be used for storing planar sub-division in 2-D and how it should be used?


Thanks and Best Regards,

Sandeep.


Have a look here:

http://www.cgal.org/Manual/latest/doc_html/cgal_manual/HalfedgeDS/Chapter_main.html

for simple examples

and here:

http://www.cgal.org/Manual/latest/doc_html/cgal_manual/HalfedgeDS_ref/Concept_HalfedgeDS.html#Cross_link_anchor_1102

for complete reference manual of HDS class.

Function you may want to have a closer look are HDS::faces_push_back,
HDS::edges_push_back and HDS::vertices_push_back.

Connectivity in the HDS can be managed using halfedge member function
set_opposite, set_vertex, set_face, set_next, ...




--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss