Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Creating a surface mesh segment as the ROI in Surface mesh deformation

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Creating a surface mesh segment as the ROI in Surface mesh deformation


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Creating a surface mesh segment as the ROI in Surface mesh deformation
  • Date: Mon, 05 Sep 2016 12:48:41 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:PWRCtx9C4B4W2/9uRHKM819IXTAuvvDOBiVQ1KB+2uMcTK2v8tzYMVDF4r011RmSDNydtqIP0bue8/i5HzdfsdDZ6DFKWacPfiFGoP1epxYnDs+BBB+zB9/RRAt+Iv5/UkR49WqwK0lfFZW2TVTTpnqv8WxaQU2nZkImbtjyT4XdhsDy2+Gp8IDIeC1JgiC8aPV8NkaYtwLU44MtjIFrMbowxx2BhnxSeuNKjSNHKFWWkgrm9+m594Jk6TUR8bp17MpHS6T9Y+I9SZRXCT0nNyY+48i95kqLdheG+nZJCjZeqRFPGQWQtBw=
  • Organization: GeometryFactory

Could you provide a full example reproducing the issue?

Thanks,

Sebastien.

On 09/02/2016 07:24 PM, Sukhraj Singh wrote:
Hello,

I am trying to create a particular segment (which is the output of
surface mesh segmentation) as ROI in Surface Mesh Deformation.

I implemented following code, which is crashing( psb comment below)

==========================================================

void set_all_vertices_as_roi()

{

vertex_iterator vb, ve;

for(boost::tie(vb, ve) = vertices(*polyhedron()); vb != ve; ++vb)

{

insert_roi_vertex(*vb);

}

}



//Implement it likewise all mesh vertices as roi


void set_segment_vertices_as_roi(Polyhedron mesh)

{

std::size_t number_of_clusters;

double smoothing_lambda ;


// create a property-map for segment-ids

typedef std::map<Polyhedron::Facet_const_handle, std::size_t>
Facet_int_map;

Facet_int_map internal_segment_map;

boost::associative_property_map<Facet_int_map>
segment_property_map(internal_segment_map);


//Run the sdf segmentation algo

int nb_segments =
SegmentPolyhedron(segment_property_map,number_of_clusters, smoothing_lambda
,mesh);


std::vector <Polyhedron> PolySegments;

PolySegments.resize(nb_segments);


//Get the segement of the mesh

GetSegments(mesh,segment_property_map,nb_segments,PolySegments,0);



vertex_iterator vb, ve;



//Make zeroth segment as ROI

for(boost::tie(vb, ve) = vertices(PolySegments[0]); vb != ve;
++vb)

{

//std::cout << __LINE__ << std::endl;

insert_roi_vertex(*vb); // GIVES CRASH

}





}



===============================================================================


Perhaps it is because of size of deform_mesh, which was equal to
complete non-segmented mesh size. ?

There is k-ring selection as well, which is used when picked by mouse.

Can someone suggest me some other way maybe, so that I could make the
mesh segment as ROI


Thanks to provide input.


--
Sukhraj Singh




Archive powered by MHonArc 2.6.18.

Top of Page