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, ...