Skip to content
Snippets Groups Projects
Commit 3813c5e1 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

add error check for discrete curves
parent 092ed188
No related branches found
No related tags found
No related merge requests found
// $Id: ExtractContour.cpp,v 1.6 2005-01-01 19:35:28 geuzaine Exp $
// $Id: ExtractContour.cpp,v 1.7 2005-03-15 20:13:27 geuzaine Exp $
//
// Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle
//
......@@ -86,7 +86,7 @@ void recurFindLinkedEdges(int ed, List_T * edges, Tree_T * points, Tree_T * link
}
}
void createEdgeLinks(Tree_T *links)
int createEdgeLinks(Tree_T *links)
{
lnk li, *pli;
nxa na;
......@@ -96,6 +96,11 @@ void createEdgeLinks(Tree_T *links)
for(int i = 0; i < List_Nbr(temp); i++) {
List_Read(temp, i, &c);
if(!c->beg || !c->end){
List_Delete(temp);
Msg(GERROR, "Cannot link curves with no begin or end points");
return 0;
}
if(c->Num > 0) {
na.a = c->Num;
int ip[2];
......@@ -115,6 +120,7 @@ void createEdgeLinks(Tree_T *links)
}
}
List_Delete(temp);
return 1;
}
void orientAndSortEdges(List_T *edges, Tree_T *links)
......@@ -176,7 +182,8 @@ int allEdgesLinked(int ed, List_T * edges)
Tree_T *links = Tree_Create(sizeof(lnk), complink);
Tree_T *points = Tree_Create(sizeof(int), fcmp_int);
createEdgeLinks(links);
if(!createEdgeLinks(links))
return 0;
// initialize point tree with all hanging points
for(int i = 0; i < List_Nbr(edges); i++){
......
Discrete Line (1) = {12}
{
0,0,0,
0.008666908357418674,0,0,
0.01741059051494093,0,0,
0.02623968793850377,0,0,
0.03515556989052919,0,0,
0.04415202866465823,0,0,
0.0532426446041934,0,0,
0.0624120060694025,0,0,
0.07167921785688836,0,0,
0.0810265391141614,0,0,
0.09047240713174502,0,0,
0.1,0,0
};
Discrete Line (2) = {34}
{
0.1,0.3,0,
0.1,0.2909090909090913,0,
0.1,0.2818181818181826,0,
0.1,0.272727272727274,0,
0.1,0.2636363636363653,0,
0.1,0.2545454545454566,0,
0.1,0.245454545454548,0,
0.1,0.2363636363636393,0,
0.1,0.2272727272727306,0,
0.1,0.2181818181818216,0,
0.1,0.2090909090909125,0,
0.1,0.2000000000000035,0,
0.1,0.1909090909090944,0,
0.1,0.1818181818181853,0,
0.1,0.1727272727272762,0,
0.1,0.1636363636363671,0,
0.1,0.154545454545458,0,
0.1,0.1454545454545489,0,
0.1,0.1363636363636398,0,
0.1,0.1272727272727307,0,
0.1,0.1181818181818216,0,
0.1,0.1090909090909125,0,
0.1,0.1000000000000034,0,
0.1,0.09090909090909433,0,
0.1,0.08181818181818527,0,
0.1,0.07272727272727605,0,
0.1,0.06363636363636654,0,
0.1,0.05454545454545703,0,
0.1,0.04545454545454754,0,
0.1,0.03636363636363803,0,
0.1,0.02727272727272851,0,
0.1,0.018181818181819,0,
0.1,0.009090909090909483,0,
0.1,0,0
};
Discrete Line (3) = {12}
{
0.1,0.3,0,
0.09090909090909115,0.3,0,
0.0818181818181823,0.3,0,
0.07272727272727345,0.3,0,
0.06363636363636459,0.3,0,
0.05454545454545573,0.3,0,
0.0454545454545468,0.3,0,
0.03636363636363778,0.3,0,
0.02727272727272877,0.3,0,
0.01818181818181929,0.3,0,
0.009090909090909639,0.3,0,
0,0.3,0
};
Discrete Line (4) = {36}
{
0,0.3,0,
0,0.2909973636414624,0,
0,0.2819947272829249,0,
0.01,0.2730438656697747,0,
0.02,0.2640976732852516,0,
0.01,0.2551978447229378,0,
0.02,0.2463080963195167,0,
0.03,0.2374585496946034,0,
0.06,0.2286252452795079,0,
0.04,0.219825219879103,0,
0.02,0.2110483594596965,0,
0.01,0.2022970847862346,0,
0,0.1935766683700231,0,
0,0.1848733639512526,0,
0,0.176209391545889,0,
0,0.167553266739908,0,
0,0.1589457383531955,0,
0,0.1503382099664829,0,
0,0.1417849077882686,0,
0,0.1332338234281653,0,
0,0.1247260882725001,0,
0,0.1162314479471221,0,
0,0.1077605053582608,0,
0,0.09932087161239131,0,
0,0.09090627422926471,0,
0,0.08251660763823583,0,
0,0.07415176555653609,0,
0,0.06581227474114783,0,
0,0.05750037195565337,0,
0,0.04921307894911468,0,
0,0.04095028725862424,0,
0,0.03271188767963543,0,
0,0.0244977702583297,0,
0,0.01630782428387874,0,
0,0.008141938280599425,0,
0,0,0
};
Line Loop(1) = {4,1,-2,3};
Plane Surface(1) = {1};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment