Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
gmsh
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Larry Price
gmsh
Commits
a743e275
Commit
a743e275
authored
8 years ago
by
Christophe Geuzaine
Browse files
Options
Downloads
Patches
Plain Diff
OCC translate
parent
209efcf2
No related branches found
No related tags found
No related merge requests found
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
Geo/GModelIO_OCC.cpp
+30
-9
30 additions, 9 deletions
Geo/GModelIO_OCC.cpp
Geo/GModelIO_OCC.h
+12
-5
12 additions, 5 deletions
Geo/GModelIO_OCC.h
Parser/Gmsh.tab.cpp
+428
-421
428 additions, 421 deletions
Parser/Gmsh.tab.cpp
Parser/Gmsh.y
+8
-1
8 additions, 1 deletion
Parser/Gmsh.y
with
478 additions
and
436 deletions
Geo/GModelIO_OCC.cpp
+
30
−
9
View file @
a743e275
...
...
@@ -654,12 +654,12 @@ void OCC_Internals::getBoundary(std::vector<int> inTags[4],
bool
combined
)
{
for
(
unsigned
int
i
=
0
;
i
<
inTags
[
3
].
size
();
i
++
){
TopExp_Explorer
exp0
,
exp1
;
if
(
!
_tagSolid
.
IsBound
(
inTags
[
3
][
i
])){
Msg
::
Error
(
"Unknown OpenCASCADE region with tag %d"
,
inTags
[
3
][
i
]);
return
;
}
TopoDS_Solid
solid
=
TopoDS
::
Solid
(
_tagSolid
.
Find
(
inTags
[
3
][
i
]));
TopExp_Explorer
exp0
,
exp1
;
for
(
exp0
.
Init
(
solid
,
TopAbs_SHELL
);
exp0
.
More
();
exp0
.
Next
()){
TopoDS_Shell
shell
=
TopoDS
::
Shell
(
exp0
.
Current
());
for
(
exp1
.
Init
(
shell
,
TopAbs_FACE
);
exp1
.
More
();
exp1
.
Next
()){
...
...
@@ -687,17 +687,38 @@ void OCC_Internals::getBoundary(std::vector<int> inTags[4],
}
}
/*
void OCC_Internals::translate(std::std::vector<double> dx, int addToTheModel)
void
OCC_Internals
::
translate
(
std
::
vector
<
int
>
inTags
[
4
],
double
dx
,
double
dy
,
double
dz
)
{
gp_Trsf
t
;
t
.
SetTranslation
(
gp_Pnt
(
0
,
0
,
0
),
gp_Pnt
(
dx
,
dy
,
dz
));
BRepBuilderAPI_Transform
tfo
(
t
);
for
(
unsigned
int
i
=
0
;
i
<
inTags
[
3
].
size
();
i
++
){
if
(
!
_tagSolid
.
IsBound
(
inTags
[
3
][
i
])){
Msg
::
Error
(
"Unknown OpenCASCADE region with tag %d"
,
inTags
[
3
][
i
]);
return
;
}
TopoDS_Solid
solid
=
TopoDS
::
Solid
(
_tagSolid
.
Find
(
inTags
[
3
][
i
]));
tfo
.
Perform
(
solid
,
Standard_False
);
if
(
!
tfo
.
IsDone
()){
Msg
::
Error
(
"Could not apply translation"
);
return
;
}
TopoDS_Solid
result
=
TopoDS
::
Solid
(
tfo
.
Shape
());
bind
(
result
,
inTags
[
3
][
i
]);
}
if
(
inTags
[
2
].
size
()
||
inTags
[
1
].
size
()
||
inTags
[
0
].
size
()){
Msg
::
Error
(
"OCC TODO translation of surfaces, curves and vertices"
);
}
}
void
OCC_Internals
::
copy
(
std
::
vector
<
int
>
inTags
[
4
],
std
::
vector
<
int
>
outTags
[
4
])
{
gp_Trsf transformation;
transformation.SetTranslation(gp_Pnt(0,0,0), gp_Pnt(dx[0],dx[1],dx[2]));
BRepBuilderAPI_Transform aTransformation(gm->_occ_internals->getShape(),
transformation, Standard_False);
TopoDS_Shape temp = aTransformation.Shape();
}
*/
void
OCC_Internals
::
importShapes
(
const
std
::
string
&
fileName
,
std
::
vector
<
int
>
outTags
[
4
])
...
...
This diff is collapsed.
Click to expand it.
Geo/GModelIO_OCC.h
+
12
−
5
View file @
a743e275
...
...
@@ -71,6 +71,10 @@ class OCC_Internals {
{
std
::
vector
<
int
>
tags
[
4
];
importShapes
(
s
,
tags
);
}
GVertex
*
addVertexToModel
(
GModel
*
model
,
TopoDS_Vertex
v
);
GEdge
*
addEdgeToModel
(
GModel
*
model
,
TopoDS_Edge
e
);
GFace
*
addFaceToModel
(
GModel
*
model
,
TopoDS_Face
f
);
GRegion
*
addRegionToModel
(
GModel
*
model
,
TopoDS_Solid
r
);
// *** FIXME end of stuff that will be removed ***
public
:
...
...
@@ -125,6 +129,10 @@ class OCC_Internals {
void
getBoundary
(
std
::
vector
<
int
>
inTags
[
4
],
std
::
vector
<
int
>
outTags
[
4
],
bool
combined
=
false
);
// apply transformations
void
translate
(
std
::
vector
<
int
>
inTags
[
4
],
double
dx
,
double
dy
,
double
dz
);
void
copy
(
std
::
vector
<
int
>
inTags
[
4
],
std
::
vector
<
int
>
outTags
[
4
]);
// import shapes from file
void
importShapes
(
const
std
::
string
&
fileName
,
std
::
vector
<
int
>
outTags
[
4
]);
...
...
@@ -134,17 +142,14 @@ class OCC_Internals {
// export all tagged shapes to file
void
exportShapes
(
const
std
::
string
&
fileName
);
// synchronize
all shapes in maps
with the given GModel
// synchronize
internal CAD data
with the given GModel
void
synchronize
(
GModel
*
model
);
// get the GEntity corresponding to an OCC shape
GVertex
*
getOCCVertexByNativePtr
(
GModel
*
model
,
TopoDS_Vertex
toFind
);
GEdge
*
getOCCEdgeByNativePtr
(
GModel
*
model
,
TopoDS_Edge
toFind
);
GFace
*
getOCCFaceByNativePtr
(
GModel
*
model
,
TopoDS_Face
toFind
);
GRegion
*
getOCCRegionByNativePtr
(
GModel
*
model
,
TopoDS_Solid
toFind
);
GVertex
*
addVertexToModel
(
GModel
*
model
,
TopoDS_Vertex
v
);
GEdge
*
addEdgeToModel
(
GModel
*
model
,
TopoDS_Edge
e
);
GFace
*
addFaceToModel
(
GModel
*
model
,
TopoDS_Face
f
);
GRegion
*
addRegionToModel
(
GModel
*
model
,
TopoDS_Solid
r
);
};
#else
...
...
@@ -174,6 +179,8 @@ public:
bool
removeTool
=
true
){}
void
getBoundary
(
std
::
vector
<
int
>
inTags
[
4
],
std
::
vector
<
int
>
outTags
[
4
],
bool
combined
=
false
){}
void
translate
(
std
::
vector
<
int
>
inTags
[
4
],
double
dx
,
double
dy
,
double
dz
){}
void
copy
(
std
::
vector
<
int
>
inTags
[
4
],
std
::
vector
<
int
>
outTags
[
4
]){}
void
importShapes
(
const
std
::
string
&
fileName
,
std
::
vector
<
int
>
outTags
[
4
]){}
void
exportShapes
(
const
std
::
string
&
fileName
){}
void
synchronize
(
GModel
*
model
){}
...
...
This diff is collapsed.
Click to expand it.
Parser/Gmsh.tab.cpp
+
428
−
421
View file @
a743e275
...
...
@@ -1376,45 +1376,45 @@ static const yytype_uint16 yyrline[] =
1717, 1727, 1755, 1798, 1821, 1850, 1871, 1889, 1929, 1959,
1977, 1995, 2022, 2051, 2056, 2074, 2120, 2138, 2177, 2183,
2189, 2196, 2237, 2263, 2287, 2312, 2329, 2333, 2352, 2386,
2433, 2451, 2468, 2486, 2490, 2506, 2554, 25
64
, 25
74
, 25
84
,
2
594
, 26
04
, 265
1
, 266
2
, 26
7
8, 26
79
, 26
84
, 26
87
, 269
1
, 272
0
,
27
49
, 27
7
8, 281
2
, 28
3
4, 286
0
, 288
2
, 29
05
, 29
26
, 298
2
, 30
06
,
303
1
, 30
57
, 317
0
, 31
8
9, 323
2
, 32
46
, 325
2
, 32
6
7, 3
295
, 331
2
,
332
1
, 33
35
, 33
49
, 33
55
, 336
1
, 337
0
, 33
79
, 33
88
, 340
2
, 34
64
,
348
2, 349
9, 35
14
, 35
43
, 355
5
, 35
79
, 358
3
, 35
88
, 359
6
, 360
1
,
36
07
, 361
2
, 36
18
, 36
26
, 363
0
, 36
3
4, 36
39
, 3
699
, 37
15
, 373
2
,
37
49
, 377
1, 3793
, 38
28
, 383
6
, 384
4
, 385
0
, 3857, 3864, 38
84
,
391
0
, 392
2
, 39
3
4, 394
2
, 395
0
, 39
59
, 395
8
, 39
73
, 397
2
, 39
87
,
39
86
, 400
1
, 400
0, 4014
, 4021, 4028, 4035, 4042, 4049, 4056,
4063,
4070, 407
8
, 40
77
, 409
1
, 409
0
, 41
04
, 410
3
, 41
17
, 41
16
,
413
0
, 41
29
, 41
43
, 414
2
, 41
5
6, 41
55
, 416
9
, 41
68
, 418
2
, 418
1
,
4198,
420
1
, 420
7
, 421
9
, 42
39
, 426
3
, 42
6
7, 427
1
, 427
5
, 42
79
,
42
83
, 42
8
9, 4
295
, 4
299
, 430
3
, 43
07
, 431
1
, 433
0
, 43
43
, 43
44
,
43
4
5, 43
46
, 434
7
, 435
1
, 435
2
, 43
53
, 43
5
6, 438
1
, 44
07
, 44
29
,
443
2, 4448
, 445
1
, 44
6
8, 447
1
, 447
7
, 448
0
, 4487, 449
0
, 4497,
45
53
, 46
2
3, 46
28
, 4
695
, 473
1
, 47
39
, 478
2
, 482
1
, 484
1
, 48
73
,
490
0
, 49
26
, 495
2
, 49
7
8, 50
04
, 50
26
, 50
54
, 508
2
, 511
0
, 51
38
,
51
66
, 52
05
, 52
44
, 52
65
, 52
86
, 53
13
, 53
17
, 53
27
, 536
2
, 53
63
,
53
64
, 53
68
, 53
74
, 53
86
, 54
04
, 543
2
, 54
33
, 54
3
4, 54
35
, 543
6
,
54
37
, 54
38
, 54
39
, 544
0
, 544
7
, 54
48
, 54
49
, 545
0
, 545
1
, 545
2
,
54
53
, 54
54
, 54
55
, 54
5
6, 54
57
, 545
8
, 54
59
, 546
0
, 546
1
, 546
2
,
54
63
, 54
64
, 54
65
, 54
66
, 54
6
7, 54
68
, 546
9
, 547
0
, 547
1
, 547
2
,
54
73
, 54
74
, 54
75
, 54
76
, 54
77
, 54
7
8, 54
79
, 54
88
, 54
8
9, 549
0
,
549
1
, 549
2
, 5
493
, 5
494
, 5
495
, 5
496
, 5
497
, 5
498
, 550
3
, 550
2
,
551
0
, 55
15
, 552
0
, 55
37
, 55
55
, 55
73
, 559
1
, 56
09
, 561
4
, 562
0
,
56
35
, 56
54
, 56
74
, 5
694
, 571
4
, 57
37
, 574
2
, 574
7
, 57
57
, 57
6
7,
577
2, 5783
, 579
2
, 579
7
, 580
2
, 58
2
9, 583
3
, 58
37
, 584
1
, 584
5
,
585
2
, 58
5
6, 586
0, 5864
, 5871, 587
6
, 5883, 58
88
, 589
2
, 5
897
,
590
1
, 59
09
, 592
0
, 59
24
, 593
6
, 59
44
, 595
2
, 59
59
, 596
9
,
5998
,
600
2
, 60
06
, 601
0
, 601
4
, 60
18
, 602
2
, 60
26
, 603
0
, 60
59
, 60
88
,
61
17, 6146
, 615
9
, 61
72
, 61
85
, 619
8
, 620
8
, 621
8
, 622
8
, 624
0
,
62
53
, 62
65
, 626
9
, 62
73
, 62
77
, 628
1
, 6
299
, 63
17
, 632
5
, 63
33
,
636
2
, 63
75
, 638
0
, 63
84
, 63
88
, 640
0
, 64
04
, 64
16
, 64
33
, 64
43
,
644
7
, 646
2
, 64
6
7, 64
74
, 64
7
8, 649
1
, 65
05
, 65
19
, 65
33
, 654
7
,
65
55, 656
6, 657
0
, 657
4
, 658
2
, 658
8
, 659
4
, 660
2
, 66
1
0, 6617,
662
5
, 664
0
, 66
54
, 66
68
, 668
0
, 6
696
, 67
05
, 671
4
, 67
24
, 67
35
,
67
43
, 675
1
, 67
55, 6774
, 6781, 678
7
, 6794, 680
2
, 680
1
, 681
4
,
68
19
, 682
5
, 68
3
4, 684
7
, 685
0
, 68
54
2433, 2451, 2468, 2486, 2490, 2506, 2554, 25
71
, 25
81
, 25
91
,
2
601
, 26
11
, 265
8
, 266
9
, 268
5
, 26
86
, 26
91
, 26
94
, 269
8
, 272
7
,
27
56
, 278
5
, 281
9
, 284
1
, 286
7
, 288
9
, 29
12
, 29
33
, 298
9
, 30
13
,
303
8
, 30
64
, 317
7
, 319
6
, 323
9
, 32
53
, 325
9
, 327
4
, 3
302
, 331
9
,
332
8
, 33
42
, 33
56
, 33
62
, 336
8
, 337
7
, 33
86
, 33
95
, 340
9
, 34
71
,
3489, 35
06
, 35
21
, 355
0
, 35
62
, 358
6
, 35
90
, 359
5, 3603
, 360
8
,
36
14
, 361
9
, 36
25
, 36
33
, 363
7
, 364
1
, 36
46
, 3
706
, 37
22
, 373
9
,
37
56
, 377
8
, 38
00
, 383
5
, 384
3
, 385
1
, 3857, 3864, 38
71, 3891
,
391
7
, 392
9
, 394
1
, 394
9
, 395
7
, 39
66
, 39
6
5, 39
80
, 397
9
, 39
94
,
39
93
, 400
8
, 400
7
, 4021, 4028, 4035, 4042, 4049, 4056,
4063,
4070, 407
7, 4085
, 40
84
, 409
8
, 409
7
, 41
11
, 41
1
0, 41
24
, 41
23
,
413
7
, 41
36
, 41
50
, 414
9
, 416
3
, 41
62
, 41
7
6, 41
75
, 418
9
, 418
8
,
420
5
, 420
8
, 421
4
, 42
26
, 42
4
6, 427
0
, 427
4
, 427
8
, 42
82, 4286
,
42
90
, 429
6
, 4
302
, 4
306
, 43
1
0, 43
14
, 431
8
, 433
7
, 43
50
, 43
51
,
435
2
, 43
53
, 43
5
4, 435
8
, 435
9
, 43
60
, 436
3
, 438
8
, 44
14
, 44
36
,
443
9
, 445
5
, 44
5
8, 447
5
, 447
8
, 448
4
, 4487, 449
4
, 4497,
4504,
45
60
, 463
0
, 46
35
, 4
702
, 473
8
, 47
46
, 478
9
, 482
8
, 484
8
, 48
80
,
490
7
, 49
33
, 495
9
, 498
5
, 50
11
, 50
33
, 50
61
, 508
9
, 511
7
, 51
45
,
51
73
, 52
12
, 52
51
, 52
72
, 52
93
, 53
20
, 53
24
, 53
34
, 536
9
, 53
70
,
53
71
, 53
75
, 53
81
, 53
93
, 54
11
, 543
9
, 54
40
, 544
1
, 54
42
, 54
4
3,
54
44
, 54
45
, 54
46
, 544
7
, 54
5
4, 54
55
, 54
56
, 545
7
, 545
8
, 545
9
,
54
60
, 54
61
, 54
62
, 546
3
, 54
64
, 54
6
5, 54
66
, 546
7
, 546
8
, 546
9
,
54
70
, 54
71
, 54
72
, 54
73
, 547
4
, 54
75
, 54
7
6, 547
7
, 547
8
, 547
9
,
54
80
, 54
81
, 54
82
, 54
83
, 54
84
, 548
5
, 54
86
, 54
95
, 549
6
, 549
7
,
549
8
, 549
9
, 5
500
, 5
501
, 5
502
, 5
503
, 5
504
, 5
505
, 55
1
0, 550
9
,
551
7
, 55
22
, 552
7
, 55
44
, 55
62
, 55
80
, 559
8
, 56
16
, 56
2
1, 562
7
,
56
42
, 56
61
, 56
81
, 5
701
, 57
2
1, 57
44
, 574
9
, 57
5
4, 57
64
, 577
4
,
577
9
, 579
0
, 579
9
, 580
4
, 58
0
9, 583
6
, 58
40
, 584
4
, 584
8, 5852
,
585
9
, 586
3
, 586
7
, 5871, 587
8
, 5883, 58
90, 5895
, 589
9
, 5
904
,
590
8
, 59
16
, 592
7
, 59
31
, 59
4
3, 59
51
, 595
9
, 59
66
, 59
7
6,
6005
,
600
9
, 60
13
, 601
7
, 60
2
1, 60
25
, 602
9
, 60
33
, 603
7
, 60
66
, 60
95
,
61
24
, 615
3
, 61
66
, 61
79
, 619
2
, 620
5
, 621
5
, 622
5, 6235
, 624
7
,
62
60
, 62
72
, 62
7
6, 62
80
, 62
84
, 628
8
, 6
306
, 63
24
, 63
3
2, 63
40
,
636
9
, 63
82
, 638
7
, 63
91
, 63
95
, 640
7
, 64
11
, 64
23
, 64
40
, 64
50
,
64
5
4, 646
9
, 647
4
, 64
81
, 648
5
, 649
8
, 65
12
, 65
26
, 65
40
, 65
5
4,
656
2
, 657
3
, 657
7
, 658
1
, 658
9
, 659
5
, 660
1
, 660
9
, 6617,
6624,
66
3
2, 664
7
, 66
6
1
, 66
75
, 668
7
, 6
703
, 67
12
, 67
2
1, 67
31
, 67
42
,
67
50
, 675
8
, 67
62
, 6781, 678
8
, 6794, 680
1, 6809
, 680
8
, 68
2
1,
68
26
, 68
3
2, 684
1
, 68
5
4, 685
7
, 68
61
};
#endif
...
...
@@ -8628,7 +8628,14 @@ yyreduce:
#line 2555 "Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Translate");
std::vector<int> in[4];
Shape TheShape;
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
List_Read((yyvsp[(4) - (5)].l), i, &TheShape);
int dim = TheShape.Type / 100 - 1;
if(dim >= 0 && dim <= 3) in[dim].push_back(TheShape.Num);
}
GModel::current()->getOCCInternals()->translate(in, (yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2]);
}
else{
TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l));
...
...
@@ -8638,7 +8645,7 @@ yyreduce:
break;
case 207:
#line 25
65
"Gmsh.y"
#line 25
72
"Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Rotate");
...
...
@@ -8651,7 +8658,7 @@ yyreduce:
break;
case 208:
#line 25
75
"Gmsh.y"
#line 25
82
"Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Symmetry");
...
...
@@ -8664,7 +8671,7 @@ yyreduce:
break;
case 209:
#line 25
85
"Gmsh.y"
#line 25
92
"Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Dilate");
...
...
@@ -8677,7 +8684,7 @@ yyreduce:
break;
case 210:
#line 2
595
"Gmsh.y"
#line 2
602
"Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Dilate");
...
...
@@ -8690,7 +8697,7 @@ yyreduce:
break;
case 211:
#line 26
05
"Gmsh.y"
#line 26
12
"Gmsh.y"
{
(yyval.l) = List_Create(3, 3, sizeof(Shape));
if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){
...
...
@@ -8740,7 +8747,7 @@ yyreduce:
break;
case 212:
#line 265
2
"Gmsh.y"
#line 265
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
...
...
@@ -8754,7 +8761,7 @@ yyreduce:
break;
case 213:
#line 26
63
"Gmsh.y"
#line 26
70
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape*));
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
...
...
@@ -8770,31 +8777,31 @@ yyreduce:
break;
case 214:
#line 26
7
8 "Gmsh.y"
#line 268
5
"Gmsh.y"
{ (yyval.l) = (yyvsp[(1) - (1)].l); ;}
break;
case 215:
#line 26
79
"Gmsh.y"
#line 26
86
"Gmsh.y"
{ (yyval.l) = (yyvsp[(1) - (1)].l); ;}
break;
case 216:
#line 26
84
"Gmsh.y"
#line 26
91
"Gmsh.y"
{
(yyval.l) = List_Create(3, 3, sizeof(Shape));
;}
break;
case 217:
#line 26
88
"Gmsh.y"
#line 26
95
"Gmsh.y"
{
List_Add((yyval.l), &(yyvsp[(2) - (2)].s));
;}
break;
case 218:
#line 269
2
"Gmsh.y"
#line 269
9
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
double d;
...
...
@@ -8826,7 +8833,7 @@ yyreduce:
break;
case 219:
#line 272
1
"Gmsh.y"
#line 272
8
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
double d;
...
...
@@ -8858,7 +8865,7 @@ yyreduce:
break;
case 220:
#line 275
0
"Gmsh.y"
#line 275
7
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
double d;
...
...
@@ -8890,7 +8897,7 @@ yyreduce:
break;
case 221:
#line 27
79
"Gmsh.y"
#line 27
86
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
double d;
...
...
@@ -8922,7 +8929,7 @@ yyreduce:
break;
case 222:
#line 28
13
"Gmsh.y"
#line 28
20
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){
...
...
@@ -8947,7 +8954,7 @@ yyreduce:
break;
case 223:
#line 28
35
"Gmsh.y"
#line 28
42
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
int t = (int)(yyvsp[(4) - (10)].d);
...
...
@@ -8976,7 +8983,7 @@ yyreduce:
break;
case 224:
#line 286
2
"Gmsh.y"
#line 286
9
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(12) - (14)].l)) == 0){
...
...
@@ -9000,7 +9007,7 @@ yyreduce:
break;
case 225:
#line 28
84
"Gmsh.y"
#line 28
91
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(14) - (16)].l)) == 0){
...
...
@@ -9025,7 +9032,7 @@ yyreduce:
break;
case 226:
#line 29
06
"Gmsh.y"
#line 29
13
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){
...
...
@@ -9049,7 +9056,7 @@ yyreduce:
break;
case 227:
#line 29
28
"Gmsh.y"
#line 29
35
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
...
...
@@ -9107,7 +9114,7 @@ yyreduce:
break;
case 228:
#line 29
84
"Gmsh.y"
#line 29
91
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){
...
...
@@ -9133,7 +9140,7 @@ yyreduce:
break;
case 229:
#line 30
08
"Gmsh.y"
#line 30
15
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){
...
...
@@ -9160,7 +9167,7 @@ yyreduce:
break;
case 230:
#line 30
33
"Gmsh.y"
#line 30
40
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(List_Nbr((yyvsp[(12) - (14)].l)) == 5){
...
...
@@ -9188,7 +9195,7 @@ yyreduce:
break;
case 231:
#line 305
8
"Gmsh.y"
#line 30
6
5 "Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(!strcmp((yyvsp[(2) - (8)].c), "Union")){
...
...
@@ -9304,7 +9311,7 @@ yyreduce:
break;
case 232:
#line 317
1
"Gmsh.y"
#line 317
8
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){
...
...
@@ -9326,7 +9333,7 @@ yyreduce:
break;
case 233:
#line 319
0
"Gmsh.y"
#line 319
7
"Gmsh.y"
{
#if defined(HAVE_DINTEGRATION)
if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){
...
...
@@ -9367,7 +9374,7 @@ yyreduce:
break;
case 234:
#line 32
33
"Gmsh.y"
#line 32
40
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
Shape TheShape;
...
...
@@ -9384,7 +9391,7 @@ yyreduce:
break;
case 235:
#line 324
7
"Gmsh.y"
#line 32
5
4 "Gmsh.y"
{
#if defined(HAVE_MESH)
GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d));
...
...
@@ -9393,7 +9400,7 @@ yyreduce:
break;
case 236:
#line 32
53
"Gmsh.y"
#line 32
60
"Gmsh.y"
{
#if defined(HAVE_POST)
if(!strcmp((yyvsp[(2) - (6)].c), "View")){
...
...
@@ -9411,7 +9418,7 @@ yyreduce:
break;
case 237:
#line 32
68
"Gmsh.y"
#line 32
75
"Gmsh.y"
{
if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){
ClearProject();
...
...
@@ -9442,7 +9449,7 @@ yyreduce:
break;
case 238:
#line 3
296
"Gmsh.y"
#line 3
303
"Gmsh.y"
{
#if defined(HAVE_POST)
if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){
...
...
@@ -9457,7 +9464,7 @@ yyreduce:
break;
case 239:
#line 33
13
"Gmsh.y"
#line 33
20
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
Shape TheShape;
...
...
@@ -9469,7 +9476,7 @@ yyreduce:
break;
case 240:
#line 332
2
"Gmsh.y"
#line 332
9
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){
Shape TheShape;
...
...
@@ -9481,7 +9488,7 @@ yyreduce:
break;
case 241:
#line 333
6
"Gmsh.y"
#line 33
4
3 "Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
Shape TheShape;
...
...
@@ -9493,7 +9500,7 @@ yyreduce:
break;
case 242:
#line 335
0
"Gmsh.y"
#line 335
7
"Gmsh.y"
{
for(int i = 0; i < 4; i++)
VisibilityShape((yyvsp[(2) - (3)].c), i, 1, false);
...
...
@@ -9502,7 +9509,7 @@ yyreduce:
break;
case 243:
#line 33
5
6 "Gmsh.y"
#line 336
3
"Gmsh.y"
{
for(int i = 0; i < 4; i++)
VisibilityShape((yyvsp[(2) - (3)].c), i, 0, false);
...
...
@@ -9511,7 +9518,7 @@ yyreduce:
break;
case 244:
#line 336
2
"Gmsh.y"
#line 336
9
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
Shape TheShape;
...
...
@@ -9523,7 +9530,7 @@ yyreduce:
break;
case 245:
#line 337
1
"Gmsh.y"
#line 337
8
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
Shape TheShape;
...
...
@@ -9535,7 +9542,7 @@ yyreduce:
break;
case 246:
#line 338
0
"Gmsh.y"
#line 338
7
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){
Shape TheShape;
...
...
@@ -9547,7 +9554,7 @@ yyreduce:
break;
case 247:
#line 33
8
9 "Gmsh.y"
#line 339
6
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
Shape TheShape;
...
...
@@ -9559,7 +9566,7 @@ yyreduce:
break;
case 248:
#line 340
3
"Gmsh.y"
#line 34
1
0 "Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (3)].c), "Include")){
std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c));
...
...
@@ -9624,7 +9631,7 @@ yyreduce:
break;
case 249:
#line 34
65
"Gmsh.y"
#line 34
72
"Gmsh.y"
{
int n = List_Nbr((yyvsp[(3) - (5)].l));
if(n == 1){
...
...
@@ -9645,7 +9652,7 @@ yyreduce:
break;
case 250:
#line 34
83
"Gmsh.y"
#line 34
90
"Gmsh.y"
{
#if defined(HAVE_POST)
if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){
...
...
@@ -9665,7 +9672,7 @@ yyreduce:
break;
case 251:
#line 350
0
"Gmsh.y"
#line 350
7
"Gmsh.y"
{
#if defined(HAVE_POST) && defined(HAVE_MESH)
if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){
...
...
@@ -9683,7 +9690,7 @@ yyreduce:
break;
case 252:
#line 35
15
"Gmsh.y"
#line 35
22
"Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){
SleepInSeconds((yyvsp[(2) - (3)].d));
...
...
@@ -9715,7 +9722,7 @@ yyreduce:
break;
case 253:
#line 35
44
"Gmsh.y"
#line 35
51
"Gmsh.y"
{
#if defined(HAVE_PLUGINS)
try {
...
...
@@ -9730,7 +9737,7 @@ yyreduce:
break;
case 254:
#line 35
5
6 "Gmsh.y"
#line 356
3
"Gmsh.y"
{
#if defined(HAVE_POST)
if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews"))
...
...
@@ -9757,14 +9764,14 @@ yyreduce:
break;
case 255:
#line 358
0
"Gmsh.y"
#line 358
7
"Gmsh.y"
{
Msg::Exit(0);
;}
break;
case 256:
#line 35
84
"Gmsh.y"
#line 35
91
"Gmsh.y"
{
gmsh_yyerrorstate = 999; // this will be checked when yyparse returns
YYABORT;
...
...
@@ -9772,7 +9779,7 @@ yyreduce:
break;
case 257:
#line 35
8
9 "Gmsh.y"
#line 359
6
"Gmsh.y"
{
// FIXME: this is a hack to force a transfer from the old DB to
// the new DB. This will become unnecessary if/when we fill the
...
...
@@ -9783,7 +9790,7 @@ yyreduce:
break;
case 258:
#line 3
597
"Gmsh.y"
#line 3
604
"Gmsh.y"
{
new GModel();
GModel::current(GModel::list.size() - 1);
...
...
@@ -9791,7 +9798,7 @@ yyreduce:
break;
case 259:
#line 360
2
"Gmsh.y"
#line 360
9
"Gmsh.y"
{
CTX::instance()->forcedBBox = 0;
GModel::current()->importGEOInternals();
...
...
@@ -9800,7 +9807,7 @@ yyreduce:
break;
case 260:
#line 36
08
"Gmsh.y"
#line 36
15
"Gmsh.y"
{
CTX::instance()->forcedBBox = 1;
SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d));
...
...
@@ -9808,7 +9815,7 @@ yyreduce:
break;
case 261:
#line 36
13
"Gmsh.y"
#line 36
20
"Gmsh.y"
{
#if defined(HAVE_OPENGL)
drawContext::global()->draw();
...
...
@@ -9817,7 +9824,7 @@ yyreduce:
break;
case 262:
#line 36
19
"Gmsh.y"
#line 36
26
"Gmsh.y"
{
#if defined(HAVE_OPENGL)
CTX::instance()->mesh.changed = ENT_ALL;
...
...
@@ -9828,21 +9835,21 @@ yyreduce:
break;
case 263:
#line 36
27
"Gmsh.y"
#line 36
34
"Gmsh.y"
{
GModel::current()->createTopologyFromMesh();
;}
break;
case 264:
#line 363
1
"Gmsh.y"
#line 363
8
"Gmsh.y"
{
GModel::current()->createTopologyFromMesh(1);
;}
break;
case 265:
#line 36
35
"Gmsh.y"
#line 36
42
"Gmsh.y"
{
GModel::current()->importGEOInternals();
GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear);
...
...
@@ -9850,7 +9857,7 @@ yyreduce:
break;
case 266:
#line 364
1
"Gmsh.y"
#line 364
8
"Gmsh.y"
{
int lock = CTX::instance()->lock;
CTX::instance()->lock = 0;
...
...
@@ -9907,7 +9914,7 @@ yyreduce:
break;
case 267:
#line 370
0
"Gmsh.y"
#line 370
7
"Gmsh.y"
{
#if defined(HAVE_POPPLER)
std::vector<int> is;
...
...
@@ -9922,7 +9929,7 @@ yyreduce:
break;
case 268:
#line 37
16
"Gmsh.y"
#line 37
23
"Gmsh.y"
{
LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d);
LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d);
...
...
@@ -9942,7 +9949,7 @@ yyreduce:
break;
case 269:
#line 37
33
"Gmsh.y"
#line 37
40
"Gmsh.y"
{
LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d);
LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d);
...
...
@@ -9962,7 +9969,7 @@ yyreduce:
break;
case 270:
#line 375
0
"Gmsh.y"
#line 375
7
"Gmsh.y"
{
LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d);
LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d);
...
...
@@ -9987,7 +9994,7 @@ yyreduce:
break;
case 271:
#line 377
2
"Gmsh.y"
#line 377
9
"Gmsh.y"
{
LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d);
LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d);
...
...
@@ -10012,7 +10019,7 @@ yyreduce:
break;
case 272:
#line 3
794
"Gmsh.y"
#line 3
801
"Gmsh.y"
{
if(ImbricatedLoop <= 0){
yymsg(0, "Invalid For/EndFor loop");
...
...
@@ -10050,7 +10057,7 @@ yyreduce:
break;
case 273:
#line 38
29
"Gmsh.y"
#line 38
36
"Gmsh.y"
{
if(!FunctionManager::Instance()->createFunction
(std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
...
...
@@ -10061,7 +10068,7 @@ yyreduce:
break;
case 274:
#line 38
37
"Gmsh.y"
#line 38
44
"Gmsh.y"
{
if(!FunctionManager::Instance()->createFunction
(std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno))
...
...
@@ -10072,7 +10079,7 @@ yyreduce:
break;
case 275:
#line 38
4
5 "Gmsh.y"
#line 385
2
"Gmsh.y"
{
if(!FunctionManager::Instance()->leaveFunction
(&gmsh_yyin, gmsh_yyname, gmsh_yylineno))
...
...
@@ -10081,7 +10088,7 @@ yyreduce:
break;
case 276:
#line 385
1
"Gmsh.y"
#line 385
8
"Gmsh.y"
{
if(!FunctionManager::Instance()->enterFunction
(std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
...
...
@@ -10091,7 +10098,7 @@ yyreduce:
break;
case 277:
#line 385
8
"Gmsh.y"
#line 38
6
5 "Gmsh.y"
{
if(!FunctionManager::Instance()->enterFunction
(std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno))
...
...
@@ -10101,7 +10108,7 @@ yyreduce:
break;
case 278:
#line 38
65
"Gmsh.y"
#line 38
72
"Gmsh.y"
{
ImbricatedTest++;
if(ImbricatedTest > MAX_RECUR_TESTS-1){
...
...
@@ -10124,7 +10131,7 @@ yyreduce:
break;
case 279:
#line 38
85
"Gmsh.y"
#line 38
92
"Gmsh.y"
{
if(ImbricatedTest > 0){
if (statusImbricatedTests[ImbricatedTest]){
...
...
@@ -10153,7 +10160,7 @@ yyreduce:
break;
case 280:
#line 391
1
"Gmsh.y"
#line 391
8
"Gmsh.y"
{
if(ImbricatedTest > 0){
if(statusImbricatedTests[ImbricatedTest]){
...
...
@@ -10168,7 +10175,7 @@ yyreduce:
break;
case 281:
#line 39
2
3 "Gmsh.y"
#line 393
0
"Gmsh.y"
{
ImbricatedTest--;
if(ImbricatedTest < 0)
...
...
@@ -10177,7 +10184,7 @@ yyreduce:
break;
case 282:
#line 39
35
"Gmsh.y"
#line 39
42
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l),
...
...
@@ -10188,7 +10195,7 @@ yyreduce:
break;
case 283:
#line 39
43
"Gmsh.y"
#line 39
50
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l),
...
...
@@ -10199,7 +10206,7 @@ yyreduce:
break;
case 284:
#line 395
1
"Gmsh.y"
#line 395
8
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l),
...
...
@@ -10210,7 +10217,7 @@ yyreduce:
break;
case 285:
#line 39
59
"Gmsh.y"
#line 39
66
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10219,7 +10226,7 @@ yyreduce:
break;
case 286:
#line 39
65
"Gmsh.y"
#line 39
72
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l),
...
...
@@ -10230,7 +10237,7 @@ yyreduce:
break;
case 287:
#line 39
73
"Gmsh.y"
#line 39
80
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10239,7 +10246,7 @@ yyreduce:
break;
case 288:
#line 39
79
"Gmsh.y"
#line 39
86
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l),
...
...
@@ -10250,7 +10257,7 @@ yyreduce:
break;
case 289:
#line 39
87
"Gmsh.y"
#line 39
94
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10259,7 +10266,7 @@ yyreduce:
break;
case 290:
#line
3993
"Gmsh.y"
#line
4000
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l),
...
...
@@ -10270,7 +10277,7 @@ yyreduce:
break;
case 291:
#line 400
1
"Gmsh.y"
#line 400
8
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10279,7 +10286,7 @@ yyreduce:
break;
case 292:
#line 40
07
"Gmsh.y"
#line 40
14
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
...
...
@@ -10289,7 +10296,7 @@ yyreduce:
break;
case 293:
#line 40
15
"Gmsh.y"
#line 40
22
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d),
...
...
@@ -10299,7 +10306,7 @@ yyreduce:
break;
case 294:
#line 402
2
"Gmsh.y"
#line 402
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d),
...
...
@@ -10309,7 +10316,7 @@ yyreduce:
break;
case 295:
#line 40
29
"Gmsh.y"
#line 40
36
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d),
...
...
@@ -10319,7 +10326,7 @@ yyreduce:
break;
case 296:
#line 403
6
"Gmsh.y"
#line 40
4
3 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10329,7 +10336,7 @@ yyreduce:
break;
case 297:
#line 40
43
"Gmsh.y"
#line 40
50
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10339,7 +10346,7 @@ yyreduce:
break;
case 298:
#line 405
0
"Gmsh.y"
#line 405
7
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10349,7 +10356,7 @@ yyreduce:
break;
case 299:
#line 40
57
"Gmsh.y"
#line 40
64
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d),
...
...
@@ -10359,7 +10366,7 @@ yyreduce:
break;
case 300:
#line 40
64
"Gmsh.y"
#line 40
71
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d),
...
...
@@ -10369,7 +10376,7 @@ yyreduce:
break;
case 301:
#line 407
1
"Gmsh.y"
#line 407
8
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d),
...
...
@@ -10379,7 +10386,7 @@ yyreduce:
break;
case 302:
#line 40
7
8 "Gmsh.y"
#line 408
5
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10388,7 +10395,7 @@ yyreduce:
break;
case 303:
#line 40
84
"Gmsh.y"
#line 40
91
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10398,7 +10405,7 @@ yyreduce:
break;
case 304:
#line 409
1
"Gmsh.y"
#line 409
8
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10407,7 +10414,7 @@ yyreduce:
break;
case 305:
#line 4
097
"Gmsh.y"
#line 4
104
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10417,7 +10424,7 @@ yyreduce:
break;
case 306:
#line 41
04
"Gmsh.y"
#line 41
11
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10426,7 +10433,7 @@ yyreduce:
break;
case 307:
#line 411
0
"Gmsh.y"
#line 411
7
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d),
...
...
@@ -10436,7 +10443,7 @@ yyreduce:
break;
case 308:
#line 41
17
"Gmsh.y"
#line 41
24
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10445,7 +10452,7 @@ yyreduce:
break;
case 309:
#line 41
2
3 "Gmsh.y"
#line 413
0
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d),
...
...
@@ -10455,7 +10462,7 @@ yyreduce:
break;
case 310:
#line 413
0
"Gmsh.y"
#line 413
7
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10464,7 +10471,7 @@ yyreduce:
break;
case 311:
#line 413
6
"Gmsh.y"
#line 41
4
3 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d),
...
...
@@ -10474,7 +10481,7 @@ yyreduce:
break;
case 312:
#line 41
43
"Gmsh.y"
#line 41
50
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10483,7 +10490,7 @@ yyreduce:
break;
case 313:
#line 41
49
"Gmsh.y"
#line 41
56
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d),
...
...
@@ -10493,7 +10500,7 @@ yyreduce:
break;
case 314:
#line 41
5
6 "Gmsh.y"
#line 416
3
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10502,7 +10509,7 @@ yyreduce:
break;
case 315:
#line 416
2
"Gmsh.y"
#line 416
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d),
...
...
@@ -10512,7 +10519,7 @@ yyreduce:
break;
case 316:
#line 416
9
"Gmsh.y"
#line 41
7
6 "Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10521,7 +10528,7 @@ yyreduce:
break;
case 317:
#line 41
75
"Gmsh.y"
#line 41
82
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d),
...
...
@@ -10531,7 +10538,7 @@ yyreduce:
break;
case 318:
#line 418
2
"Gmsh.y"
#line 418
9
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false;
extr.mesh.QuadToTri = NO_QUADTRI;
...
...
@@ -10540,7 +10547,7 @@ yyreduce:
break;
case 319:
#line 41
88
"Gmsh.y"
#line 41
95
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d),
...
...
@@ -10550,19 +10557,19 @@ yyreduce:
break;
case 320:
#line 4
199
"Gmsh.y"
#line 4
206
"Gmsh.y"
{
;}
break;
case 321:
#line 420
2
"Gmsh.y"
#line 420
9
"Gmsh.y"
{
;}
break;
case 322:
#line 42
08
"Gmsh.y"
#line 42
15
"Gmsh.y"
{
int n = (int)fabs((yyvsp[(3) - (5)].d));
if(n){ // we accept n==0 to easily disable layers
...
...
@@ -10577,7 +10584,7 @@ yyreduce:
break;
case 323:
#line 422
0
"Gmsh.y"
#line 422
7
"Gmsh.y"
{
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l));
...
...
@@ -10600,7 +10607,7 @@ yyreduce:
break;
case 324:
#line 424
0
"Gmsh.y"
#line 424
7
"Gmsh.y"
{
yymsg(0, "Explicit region numbers in layers are deprecated");
extr.mesh.ExtrudeMesh = true;
...
...
@@ -10626,42 +10633,42 @@ yyreduce:
break;
case 325:
#line 42
64
"Gmsh.y"
#line 42
71
"Gmsh.y"
{
extr.mesh.ScaleLast = true;
;}
break;
case 326:
#line 42
68
"Gmsh.y"
#line 42
75
"Gmsh.y"
{
extr.mesh.Recombine = true;
;}
break;
case 327:
#line 427
2
"Gmsh.y"
#line 427
9
"Gmsh.y"
{
extr.mesh.Recombine = (yyvsp[(2) - (3)].d) ? true : false;
;}
break;
case 328:
#line 42
76
"Gmsh.y"
#line 42
83
"Gmsh.y"
{
yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead.");
;}
break;
case 329:
#line 428
0
"Gmsh.y"
#line 428
7
"Gmsh.y"
{
yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead.");
;}
break;
case 330:
#line 42
84
"Gmsh.y"
#line 42
91
"Gmsh.y"
{
yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, "
"which has no requirement for the number of extrusion layers and meshes "
...
...
@@ -10670,7 +10677,7 @@ yyreduce:
break;
case 331:
#line 429
0
"Gmsh.y"
#line 429
7
"Gmsh.y"
{
yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, "
"which has no requirement for the number of extrusion layers and meshes "
...
...
@@ -10679,35 +10686,35 @@ yyreduce:
break;
case 332:
#line 4
296
"Gmsh.y"
#line 4
303
"Gmsh.y"
{
extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1;
;}
break;
case 333:
#line 430
0
"Gmsh.y"
#line 430
7
"Gmsh.y"
{
extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB;
;}
break;
case 334:
#line 43
04
"Gmsh.y"
#line 43
11
"Gmsh.y"
{
extr.mesh.QuadToTri = QUADTRI_NOVERTS_1;
;}
break;
case 335:
#line 43
08
"Gmsh.y"
#line 43
15
"Gmsh.y"
{
extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB;
;}
break;
case 336:
#line 431
2
"Gmsh.y"
#line 431
9
"Gmsh.y"
{
int num = (int)(yyvsp[(3) - (9)].d);
if(FindSurface(num)){
...
...
@@ -10729,7 +10736,7 @@ yyreduce:
break;
case 337:
#line 433
1
"Gmsh.y"
#line 433
8
"Gmsh.y"
{
if(!strcmp((yyvsp[(2) - (6)].c), "Index"))
extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d);
...
...
@@ -10740,47 +10747,47 @@ yyreduce:
break;
case 338:
#line 43
43
"Gmsh.y"
#line 43
50
"Gmsh.y"
{ (yyval.i) = OCC_Internals::Union; ;}
break;
case 339:
#line 43
44
"Gmsh.y"
#line 43
51
"Gmsh.y"
{ (yyval.i) = OCC_Internals::Intersection; ;}
break;
case 340:
#line 43
4
5 "Gmsh.y"
#line 435
2
"Gmsh.y"
{ (yyval.i) = OCC_Internals::Difference; ;}
break;
case 341:
#line 43
46
"Gmsh.y"
#line 43
53
"Gmsh.y"
{ (yyval.i) = OCC_Internals::Section; ;}
break;
case 342:
#line 434
7
"Gmsh.y"
#line 43
5
4 "Gmsh.y"
{ (yyval.i) = OCC_Internals::Fragments; ;}
break;
case 343:
#line 435
1
"Gmsh.y"
#line 435
8
"Gmsh.y"
{ (yyval.i) = 0; ;}
break;
case 344:
#line 435
2
"Gmsh.y"
#line 435
9
"Gmsh.y"
{ (yyval.i) = 1; ;}
break;
case 345:
#line 43
53
"Gmsh.y"
#line 43
60
"Gmsh.y"
{ (yyval.i) = (yyvsp[(2) - (3)].d); ;}
break;
case 346:
#line 435
8
"Gmsh.y"
#line 43
6
5 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
...
...
@@ -10807,7 +10814,7 @@ yyreduce:
break;
case 347:
#line 438
2
"Gmsh.y"
#line 438
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(Shape));
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
...
...
@@ -10833,7 +10840,7 @@ yyreduce:
break;
case 348:
#line 44
09
"Gmsh.y"
#line 44
16
"Gmsh.y"
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
std::vector<int> shape[4], tool[4];
...
...
@@ -10853,14 +10860,14 @@ yyreduce:
break;
case 349:
#line 44
29
"Gmsh.y"
#line 44
36
"Gmsh.y"
{
(yyval.v)[0] = (yyval.v)[1] = 1.;
;}
break;
case 350:
#line 44
33
"Gmsh.y"
#line 44
40
"Gmsh.y"
{
if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power"))
(yyval.v)[0] = 1.;
...
...
@@ -10876,14 +10883,14 @@ yyreduce:
break;
case 351:
#line 44
48
"Gmsh.y"
#line 44
55
"Gmsh.y"
{
(yyval.i) = -1; // left
;}
break;
case 352:
#line 445
2
"Gmsh.y"
#line 445
9
"Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (1)].c), "Right"))
(yyval.i) = 1;
...
...
@@ -10900,49 +10907,49 @@ yyreduce:
break;
case 353:
#line 44
68
"Gmsh.y"
#line 44
75
"Gmsh.y"
{
(yyval.l) = List_Create(1, 1, sizeof(double));
;}
break;
case 354:
#line 447
2
"Gmsh.y"
#line 447
9
"Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
;}
break;
case 355:
#line 44
77
"Gmsh.y"
#line 44
84
"Gmsh.y"
{
(yyval.i) = 45;
;}
break;
case 356:
#line 448
1
"Gmsh.y"
#line 448
8
"Gmsh.y"
{
(yyval.i) = (int)(yyvsp[(2) - (2)].d);
;}
break;
case 357:
#line 44
87
"Gmsh.y"
#line 44
94
"Gmsh.y"
{
(yyval.l) = List_Create(1, 1, sizeof(double));
;}
break;
case 358:
#line 449
1
"Gmsh.y"
#line 449
8
"Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
;}
break;
case 359:
#line 4
498
"Gmsh.y"
#line 4
505
"Gmsh.y"
{
int type = (int)(yyvsp[(6) - (7)].v)[0];
double coef = fabs((yyvsp[(6) - (7)].v)[1]);
...
...
@@ -11001,7 +11008,7 @@ yyreduce:
break;
case 360:
#line 45
54
"Gmsh.y"
#line 45
61
"Gmsh.y"
{
int k = List_Nbr((yyvsp[(4) - (6)].l));
if(k != 0 && k != 3 && k != 4){
...
...
@@ -11074,7 +11081,7 @@ yyreduce:
break;
case 361:
#line 46
24
"Gmsh.y"
#line 46
31
"Gmsh.y"
{
yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)");
List_Delete((yyvsp[(7) - (8)].l));
...
...
@@ -11082,7 +11089,7 @@ yyreduce:
break;
case 362:
#line 46
29
"Gmsh.y"
#line 46
36
"Gmsh.y"
{
int k = List_Nbr((yyvsp[(4) - (5)].l));
if(k != 0 && k != 6 && k != 8){
...
...
@@ -11152,7 +11159,7 @@ yyreduce:
break;
case 363:
#line 4
696
"Gmsh.y"
#line 4
703
"Gmsh.y"
{
if(!(yyvsp[(2) - (3)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes);
...
...
@@ -11191,7 +11198,7 @@ yyreduce:
break;
case 364:
#line 473
2
"Gmsh.y"
#line 473
9
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(4) - (8)].l)); i++){
double d;
...
...
@@ -11202,7 +11209,7 @@ yyreduce:
break;
case 365:
#line 474
0
"Gmsh.y"
#line 474
7
"Gmsh.y"
{
if(!(yyvsp[(3) - (5)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces);
...
...
@@ -11248,7 +11255,7 @@ yyreduce:
break;
case 366:
#line 47
83
"Gmsh.y"
#line 47
90
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes);
...
...
@@ -11290,7 +11297,7 @@ yyreduce:
break;
case 367:
#line 482
2
"Gmsh.y"
#line 482
9
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
double d;
...
...
@@ -11313,7 +11320,7 @@ yyreduce:
break;
case 368:
#line 48
43
"Gmsh.y"
#line 48
50
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
yymsg(0, "Number of master lines (%d) different from number of "
...
...
@@ -11347,7 +11354,7 @@ yyreduce:
break;
case 369:
#line 48
75
"Gmsh.y"
#line 48
82
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){
yymsg(0, "Number of master faces (%d) different from number of "
...
...
@@ -11376,7 +11383,7 @@ yyreduce:
break;
case 370:
#line 490
2
"Gmsh.y"
#line 490
9
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
yymsg(0, "Number of master edges (%d) different from number of "
...
...
@@ -11404,7 +11411,7 @@ yyreduce:
break;
case 371:
#line 49
28
"Gmsh.y"
#line 49
35
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){
yymsg(0, "Number of master faces (%d) different from number of "
...
...
@@ -11432,7 +11439,7 @@ yyreduce:
break;
case 372:
#line 49
54
"Gmsh.y"
#line 49
61
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
yymsg(0, "Number of master edges (%d) different from number of "
...
...
@@ -11460,7 +11467,7 @@ yyreduce:
break;
case 373:
#line 498
0
"Gmsh.y"
#line 498
7
"Gmsh.y"
{
if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){
yymsg(0, "Number of master faces (%d) different from number of "
...
...
@@ -11488,7 +11495,7 @@ yyreduce:
break;
case 374:
#line 50
06
"Gmsh.y"
#line 50
13
"Gmsh.y"
{
if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){
yymsg(0, "Number of master surface edges (%d) different from number of "
...
...
@@ -11512,7 +11519,7 @@ yyreduce:
break;
case 375:
#line 50
27
"Gmsh.y"
#line 50
34
"Gmsh.y"
{
Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d));
if(s){
...
...
@@ -11543,7 +11550,7 @@ yyreduce:
break;
case 376:
#line 50
55
"Gmsh.y"
#line 50
62
"Gmsh.y"
{
Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d));
if(s){
...
...
@@ -11574,7 +11581,7 @@ yyreduce:
break;
case 377:
#line 50
83
"Gmsh.y"
#line 50
90
"Gmsh.y"
{
Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d));
if(v){
...
...
@@ -11605,7 +11612,7 @@ yyreduce:
break;
case 378:
#line 511
1
"Gmsh.y"
#line 511
8
"Gmsh.y"
{
Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d));
if(v){
...
...
@@ -11636,7 +11643,7 @@ yyreduce:
break;
case 379:
#line 51
39
"Gmsh.y"
#line 51
46
"Gmsh.y"
{
Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d));
if(v){
...
...
@@ -11667,7 +11674,7 @@ yyreduce:
break;
case 380:
#line 51
6
7 "Gmsh.y"
#line 517
4
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces);
...
...
@@ -11709,7 +11716,7 @@ yyreduce:
break;
case 381:
#line 52
06
"Gmsh.y"
#line 52
13
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves);
...
...
@@ -11751,7 +11758,7 @@ yyreduce:
break;
case 382:
#line 52
4
5 "Gmsh.y"
#line 525
2
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
for(GModel::viter it = GModel::current()->firstVertex();
...
...
@@ -11775,7 +11782,7 @@ yyreduce:
break;
case 383:
#line 52
66
"Gmsh.y"
#line 52
73
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
for(GModel::eiter it = GModel::current()->firstEdge();
...
...
@@ -11799,7 +11806,7 @@ yyreduce:
break;
case 384:
#line 52
87
"Gmsh.y"
#line 52
94
"Gmsh.y"
{
if(!(yyvsp[(3) - (4)].l)){
for(GModel::fiter it = GModel::current()->firstFace();
...
...
@@ -11823,14 +11830,14 @@ yyreduce:
break;
case 385:
#line 531
4
"Gmsh.y"
#line 53
2
1 "Gmsh.y"
{
ReplaceAllDuplicates();
;}
break;
case 386:
#line 53
18
"Gmsh.y"
#line 53
25
"Gmsh.y"
{
if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
ReplaceAllDuplicates();
...
...
@@ -11843,7 +11850,7 @@ yyreduce:
break;
case 387:
#line 53
28
"Gmsh.y"
#line 53
35
"Gmsh.y"
{
if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){
double d;
...
...
@@ -11876,22 +11883,22 @@ yyreduce:
break;
case 388:
#line 536
2
"Gmsh.y"
#line 536
9
"Gmsh.y"
{ (yyval.c) = (char*)"Homology"; ;}
break;
case 389:
#line 53
63
"Gmsh.y"
#line 53
70
"Gmsh.y"
{ (yyval.c) = (char*)"Cohomology"; ;}
break;
case 390:
#line 53
64
"Gmsh.y"
#line 53
71
"Gmsh.y"
{ (yyval.c) = (char*)"Betti"; ;}
break;
case 391:
#line 536
9
"Gmsh.y"
#line 53
7
6 "Gmsh.y"
{
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < 4; i++) dim.push_back(i);
...
...
@@ -11900,7 +11907,7 @@ yyreduce:
break;
case 392:
#line 53
75
"Gmsh.y"
#line 53
82
"Gmsh.y"
{
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
...
...
@@ -11915,7 +11922,7 @@ yyreduce:
break;
case 393:
#line 53
87
"Gmsh.y"
#line 53
94
"Gmsh.y"
{
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
...
...
@@ -11936,7 +11943,7 @@ yyreduce:
break;
case 394:
#line 54
05
"Gmsh.y"
#line 54
12
"Gmsh.y"
{
std::vector<int> domain, subdomain, dim;
for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){
...
...
@@ -11962,47 +11969,47 @@ yyreduce:
break;
case 395:
#line 543
2
"Gmsh.y"
#line 543
9
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}
break;
case 396:
#line 54
33
"Gmsh.y"
#line 54
40
"Gmsh.y"
{ (yyval.d) = (yyvsp[(2) - (3)].d); ;}
break;
case 397:
#line 54
3
4 "Gmsh.y"
#line 544
1
"Gmsh.y"
{ (yyval.d) = -(yyvsp[(2) - (2)].d); ;}
break;
case 398:
#line 54
35
"Gmsh.y"
#line 54
42
"Gmsh.y"
{ (yyval.d) = (yyvsp[(2) - (2)].d); ;}
break;
case 399:
#line 543
6
"Gmsh.y"
#line 54
4
3 "Gmsh.y"
{ (yyval.d) = !(yyvsp[(2) - (2)].d); ;}
break;
case 400:
#line 54
37
"Gmsh.y"
#line 54
44
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;}
break;
case 401:
#line 54
38
"Gmsh.y"
#line 54
45
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;}
break;
case 402:
#line 54
39
"Gmsh.y"
#line 54
46
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;}
break;
case 403:
#line 544
1
"Gmsh.y"
#line 544
8
"Gmsh.y"
{
if(!(yyvsp[(3) - (3)].d))
yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));
...
...
@@ -12012,232 +12019,232 @@ yyreduce:
break;
case 404:
#line 544
7
"Gmsh.y"
#line 54
5
4 "Gmsh.y"
{ (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;}
break;
case 405:
#line 54
48
"Gmsh.y"
#line 54
55
"Gmsh.y"
{ (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;}
break;
case 406:
#line 54
49
"Gmsh.y"
#line 54
56
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;}
break;
case 407:
#line 545
0
"Gmsh.y"
#line 545
7
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;}
break;
case 408:
#line 545
1
"Gmsh.y"
#line 545
8
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;}
break;
case 409:
#line 545
2
"Gmsh.y"
#line 545
9
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;}
break;
case 410:
#line 54
53
"Gmsh.y"
#line 54
60
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;}
break;
case 411:
#line 54
54
"Gmsh.y"
#line 54
61
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;}
break;
case 412:
#line 54
55
"Gmsh.y"
#line 54
62
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;}
break;
case 413:
#line 54
5
6 "Gmsh.y"
#line 546
3
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;}
break;
case 414:
#line 54
57
"Gmsh.y"
#line 54
64
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}
break;
case 415:
#line 545
8
"Gmsh.y"
#line 54
6
5 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}
break;
case 416:
#line 54
59
"Gmsh.y"
#line 54
66
"Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}
break;
case 417:
#line 546
0
"Gmsh.y"
#line 546
7
"Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}
break;
case 418:
#line 546
1
"Gmsh.y"
#line 546
8
"Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}
break;
case 419:
#line 546
2
"Gmsh.y"
#line 546
9
"Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}
break;
case 420:
#line 54
63
"Gmsh.y"
#line 54
70
"Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}
break;
case 421:
#line 54
64
"Gmsh.y"
#line 54
71
"Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}
break;
case 422:
#line 54
65
"Gmsh.y"
#line 54
72
"Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}
break;
case 423:
#line 54
66
"Gmsh.y"
#line 54
73
"Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}
break;
case 424:
#line 54
6
7 "Gmsh.y"
#line 547
4
"Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}
break;
case 425:
#line 54
68
"Gmsh.y"
#line 54
75
"Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
break;
case 426:
#line 546
9
"Gmsh.y"
#line 54
7
6 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
break;
case 427:
#line 547
0
"Gmsh.y"
#line 547
7
"Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
break;
case 428:
#line 547
1
"Gmsh.y"
#line 547
8
"Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
break;
case 429:
#line 547
2
"Gmsh.y"
#line 547
9
"Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}
break;
case 430:
#line 54
73
"Gmsh.y"
#line 54
80
"Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
break;
case 431:
#line 54
74
"Gmsh.y"
#line 54
81
"Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
break;
case 432:
#line 54
75
"Gmsh.y"
#line 54
82
"Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;}
break;
case 433:
#line 54
76
"Gmsh.y"
#line 54
83
"Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 434:
#line 54
77
"Gmsh.y"
#line 54
84
"Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 435:
#line 54
7
8 "Gmsh.y"
#line 548
5
"Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
break;
case 436:
#line 54
79
"Gmsh.y"
#line 54
86
"Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
break;
case 437:
#line 54
88
"Gmsh.y"
#line 54
95
"Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}
break;
case 438:
#line 54
8
9 "Gmsh.y"
#line 549
6
"Gmsh.y"
{ (yyval.d) = 3.141592653589793; ;}
break;
case 439:
#line 549
0
"Gmsh.y"
#line 549
7
"Gmsh.y"
{ (yyval.d) = (double)ImbricatedTest; ;}
break;
case 440:
#line 549
1
"Gmsh.y"
#line 549
8
"Gmsh.y"
{ (yyval.d) = Msg::GetCommRank(); ;}
break;
case 441:
#line 549
2
"Gmsh.y"
#line 549
9
"Gmsh.y"
{ (yyval.d) = Msg::GetCommSize(); ;}
break;
case 442:
#line 5
493
"Gmsh.y"
#line 5
500
"Gmsh.y"
{ (yyval.d) = GetGmshMajorVersion(); ;}
break;
case 443:
#line 5
494
"Gmsh.y"
#line 5
501
"Gmsh.y"
{ (yyval.d) = GetGmshMinorVersion(); ;}
break;
case 444:
#line 5
495
"Gmsh.y"
#line 5
502
"Gmsh.y"
{ (yyval.d) = GetGmshPatchVersion(); ;}
break;
case 445:
#line 5
496
"Gmsh.y"
#line 5
503
"Gmsh.y"
{ (yyval.d) = Cpu(); ;}
break;
case 446:
#line 5
497
"Gmsh.y"
#line 5
504
"Gmsh.y"
{ (yyval.d) = GetMemoryUsage()/1024./1024.; ;}
break;
case 447:
#line 5
498
"Gmsh.y"
#line 5
505
"Gmsh.y"
{ (yyval.d) = TotalRam(); ;}
break;
case 448:
#line 550
3
"Gmsh.y"
#line 55
1
0 "Gmsh.y"
{ floatOptions.clear(); charOptions.clear(); ;}
break;
case 449:
#line 55
05
"Gmsh.y"
#line 55
12
"Gmsh.y"
{
std::vector<double> val(1, (yyvsp[(3) - (6)].d));
Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
...
...
@@ -12246,7 +12253,7 @@ yyreduce:
break;
case 450:
#line 551
1
"Gmsh.y"
#line 551
8
"Gmsh.y"
{
(yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c));
Free((yyvsp[(3) - (4)].c));
...
...
@@ -12254,7 +12261,7 @@ yyreduce:
break;
case 451:
#line 55
16
"Gmsh.y"
#line 55
23
"Gmsh.y"
{
(yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
Free((yyvsp[(3) - (6)].c));
...
...
@@ -12262,7 +12269,7 @@ yyreduce:
break;
case 452:
#line 552
1
"Gmsh.y"
#line 552
8
"Gmsh.y"
{
if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c));
...
...
@@ -12282,7 +12289,7 @@ yyreduce:
break;
case 453:
#line 55
38
"Gmsh.y"
#line 55
45
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
...
...
@@ -12303,7 +12310,7 @@ yyreduce:
break;
case 454:
#line 55
5
6 "Gmsh.y"
#line 556
3
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
...
...
@@ -12324,7 +12331,7 @@ yyreduce:
break;
case 455:
#line 55
74
"Gmsh.y"
#line 55
81
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
...
...
@@ -12345,7 +12352,7 @@ yyreduce:
break;
case 456:
#line 559
2
"Gmsh.y"
#line 559
9
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
...
...
@@ -12366,7 +12373,7 @@ yyreduce:
break;
case 457:
#line 561
0
"Gmsh.y"
#line 561
7
"Gmsh.y"
{
(yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c));
Free((yyvsp[(3) - (4)].c));
...
...
@@ -12374,7 +12381,7 @@ yyreduce:
break;
case 458:
#line 56
15
"Gmsh.y"
#line 56
22
"Gmsh.y"
{
std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
(yyval.d) = !StatFile(tmp);
...
...
@@ -12383,7 +12390,7 @@ yyreduce:
break;
case 459:
#line 562
1
"Gmsh.y"
#line 562
8
"Gmsh.y"
{
if(gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]);
...
...
@@ -12401,7 +12408,7 @@ yyreduce:
break;
case 460:
#line 563
6
"Gmsh.y"
#line 56
4
3 "Gmsh.y"
{
if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
...
...
@@ -12423,7 +12430,7 @@ yyreduce:
break;
case 461:
#line 56
55
"Gmsh.y"
#line 56
62
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
...
...
@@ -12446,7 +12453,7 @@ yyreduce:
break;
case 462:
#line 56
75
"Gmsh.y"
#line 56
82
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
...
...
@@ -12469,7 +12476,7 @@ yyreduce:
break;
case 463:
#line 5
695
"Gmsh.y"
#line 5
702
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
...
...
@@ -12492,7 +12499,7 @@ yyreduce:
break;
case 464:
#line 57
15
"Gmsh.y"
#line 57
22
"Gmsh.y"
{
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
...
...
@@ -12515,7 +12522,7 @@ yyreduce:
break;
case 465:
#line 57
38
"Gmsh.y"
#line 57
45
"Gmsh.y"
{
NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d));
Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c));
...
...
@@ -12523,7 +12530,7 @@ yyreduce:
break;
case 466:
#line 57
43
"Gmsh.y"
#line 57
50
"Gmsh.y"
{
NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));
Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
...
...
@@ -12531,7 +12538,7 @@ yyreduce:
break;
case 467:
#line 57
48
"Gmsh.y"
#line 57
55
"Gmsh.y"
{
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
...
...
@@ -12544,7 +12551,7 @@ yyreduce:
break;
case 468:
#line 575
8
"Gmsh.y"
#line 57
6
5 "Gmsh.y"
{
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
...
...
@@ -12557,7 +12564,7 @@ yyreduce:
break;
case 469:
#line 57
68
"Gmsh.y"
#line 57
75
"Gmsh.y"
{
(yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
Free((yyvsp[(3) - (6)].c));
...
...
@@ -12565,7 +12572,7 @@ yyreduce:
break;
case 470:
#line 57
73
"Gmsh.y"
#line 57
80
"Gmsh.y"
{
int matches = 0;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
...
...
@@ -12579,7 +12586,7 @@ yyreduce:
break;
case 471:
#line 57
84
"Gmsh.y"
#line 57
91
"Gmsh.y"
{
std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c));
if(s.find(substr) != std::string::npos)
...
...
@@ -12591,7 +12598,7 @@ yyreduce:
break;
case 472:
#line 5
793
"Gmsh.y"
#line 5
800
"Gmsh.y"
{
(yyval.d) = strlen((yyvsp[(3) - (4)].c));
Free((yyvsp[(3) - (4)].c));
...
...
@@ -12599,7 +12606,7 @@ yyreduce:
break;
case 473:
#line 5
798
"Gmsh.y"
#line 5
805
"Gmsh.y"
{
(yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c));
...
...
@@ -12607,7 +12614,7 @@ yyreduce:
break;
case 474:
#line 580
3
"Gmsh.y"
#line 58
1
0 "Gmsh.y"
{
int align = 0, font = 0, fontsize = CTX::instance()->glFontSize;
if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){
...
...
@@ -12634,70 +12641,70 @@ yyreduce:
break;
case 475:
#line 583
0
"Gmsh.y"
#line 583
7
"Gmsh.y"
{
memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
;}
break;
case 476:
#line 58
3
4 "Gmsh.y"
#line 584
1
"Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
;}
break;
case 477:
#line 58
38
"Gmsh.y"
#line 58
45
"Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
;}
break;
case 478:
#line 584
2
"Gmsh.y"
#line 584
9
"Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
;}
break;
case 479:
#line 58
46
"Gmsh.y"
#line 58
53
"Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
;}
break;
case 480:
#line 58
53
"Gmsh.y"
#line 58
60
"Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);
;}
break;
case 481:
#line 58
57
"Gmsh.y"
#line 58
64
"Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
;}
break;
case 482:
#line 586
1
"Gmsh.y"
#line 586
8
"Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
;}
break;
case 483:
#line 58
65
"Gmsh.y"
#line 58
72
"Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
;}
break;
case 484:
#line 587
2
"Gmsh.y"
#line 587
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(List_T*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
...
...
@@ -12705,14 +12712,14 @@ yyreduce:
break;
case 485:
#line 58
77
"Gmsh.y"
#line 58
84
"Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
;}
break;
case 486:
#line 58
84
"Gmsh.y"
#line 58
91
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
...
...
@@ -12720,14 +12727,14 @@ yyreduce:
break;
case 487:
#line 58
8
9 "Gmsh.y"
#line 589
6
"Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;
case 488:
#line 5
893
"Gmsh.y"
#line 5
900
"Gmsh.y"
{
// creates an empty list
(yyval.l) = List_Create(2, 1, sizeof(double));
...
...
@@ -12735,14 +12742,14 @@ yyreduce:
break;
case 489:
#line 5
898
"Gmsh.y"
#line 5
905
"Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;
case 490:
#line 590
2
"Gmsh.y"
#line 590
9
"Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
...
...
@@ -12753,7 +12760,7 @@ yyreduce:
break;
case 491:
#line 591
0
"Gmsh.y"
#line 591
7
"Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (5)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
...
...
@@ -12764,14 +12771,14 @@ yyreduce:
break;
case 492:
#line 592
1
"Gmsh.y"
#line 592
8
"Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;
case 493:
#line 592
5
"Gmsh.y"
#line 59
3
2 "Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
(yyval.l) = 0;
...
...
@@ -12783,7 +12790,7 @@ yyreduce:
break;
case 494:
#line 59
37
"Gmsh.y"
#line 59
44
"Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
...
...
@@ -12794,7 +12801,7 @@ yyreduce:
break;
case 495:
#line 59
4
5 "Gmsh.y"
#line 595
2
"Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (3)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
...
...
@@ -12805,7 +12812,7 @@ yyreduce:
break;
case 496:
#line 59
53
"Gmsh.y"
#line 59
60
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
...
...
@@ -12815,7 +12822,7 @@ yyreduce:
break;
case 497:
#line 596
0
"Gmsh.y"
#line 596
7
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0)
...
...
@@ -12828,7 +12835,7 @@ yyreduce:
break;
case 498:
#line 597
0
"Gmsh.y"
#line 597
7
"Gmsh.y"
{
// Returns the coordinates of a point and fills a list with it.
// This allows to ensure e.g. that relative point positions are
...
...
@@ -12860,63 +12867,63 @@ yyreduce:
break;
case 499:
#line
5999
"Gmsh.y"
#line
6006
"Gmsh.y"
{
(yyval.l) = GetAllElementaryEntityNumbers(0);
;}
break;
case 500:
#line 600
3
"Gmsh.y"
#line 60
1
0 "Gmsh.y"
{
(yyval.l) = GetAllElementaryEntityNumbers(1);
;}
break;
case 501:
#line 60
07
"Gmsh.y"
#line 60
14
"Gmsh.y"
{
(yyval.l) = GetAllElementaryEntityNumbers(2);
;}
break;
case 502:
#line 601
1
"Gmsh.y"
#line 601
8
"Gmsh.y"
{
(yyval.l) = GetAllElementaryEntityNumbers(3);
;}
break;
case 503:
#line 60
15
"Gmsh.y"
#line 60
22
"Gmsh.y"
{
(yyval.l) = GetAllPhysicalEntityNumbers(0);
;}
break;
case 504:
#line 60
19
"Gmsh.y"
#line 60
26
"Gmsh.y"
{
(yyval.l) = GetAllPhysicalEntityNumbers(1);
;}
break;
case 505:
#line 60
2
3 "Gmsh.y"
#line 603
0
"Gmsh.y"
{
(yyval.l) = GetAllPhysicalEntityNumbers(2);
;}
break;
case 506:
#line 60
27
"Gmsh.y"
#line 60
34
"Gmsh.y"
{
(yyval.l) = GetAllPhysicalEntityNumbers(3);
;}
break;
case 507:
#line 603
1
"Gmsh.y"
#line 603
8
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
...
...
@@ -12948,7 +12955,7 @@ yyreduce:
break;
case 508:
#line 606
0
"Gmsh.y"
#line 606
7
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
...
...
@@ -12980,7 +12987,7 @@ yyreduce:
break;
case 509:
#line 60
8
9 "Gmsh.y"
#line 609
6
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
...
...
@@ -13012,7 +13019,7 @@ yyreduce:
break;
case 510:
#line 61
18
"Gmsh.y"
#line 61
25
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
...
...
@@ -13044,7 +13051,7 @@ yyreduce:
break;
case 511:
#line 61
48
"Gmsh.y"
#line 61
55
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
GModel::current()->importGEOInternals();
...
...
@@ -13059,7 +13066,7 @@ yyreduce:
break;
case 512:
#line 616
1
"Gmsh.y"
#line 616
8
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
GModel::current()->importGEOInternals();
...
...
@@ -13074,7 +13081,7 @@ yyreduce:
break;
case 513:
#line 61
74
"Gmsh.y"
#line 61
81
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
GModel::current()->importGEOInternals();
...
...
@@ -13089,7 +13096,7 @@ yyreduce:
break;
case 514:
#line 61
87
"Gmsh.y"
#line 61
94
"Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
GModel::current()->importGEOInternals();
...
...
@@ -13104,7 +13111,7 @@ yyreduce:
break;
case 515:
#line 6
199
"Gmsh.y"
#line 6
206
"Gmsh.y"
{
(yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
...
...
@@ -13117,7 +13124,7 @@ yyreduce:
break;
case 516:
#line 62
09
"Gmsh.y"
#line 62
16
"Gmsh.y"
{
(yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
...
...
@@ -13130,7 +13137,7 @@ yyreduce:
break;
case 517:
#line 62
19
"Gmsh.y"
#line 62
26
"Gmsh.y"
{
(yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
...
...
@@ -13143,7 +13150,7 @@ yyreduce:
break;
case 518:
#line 62
29
"Gmsh.y"
#line 62
36
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
...
...
@@ -13158,7 +13165,7 @@ yyreduce:
break;
case 519:
#line 624
1
"Gmsh.y"
#line 624
8
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
...
...
@@ -13173,7 +13180,7 @@ yyreduce:
break;
case 520:
#line 62
54
"Gmsh.y"
#line 62
61
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c)))
...
...
@@ -13188,35 +13195,35 @@ yyreduce:
break;
case 521:
#line 62
66
"Gmsh.y"
#line 62
73
"Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
;}
break;
case 522:
#line 627
0
"Gmsh.y"
#line 627
7
"Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
;}
break;
case 523:
#line 62
74
"Gmsh.y"
#line 62
81
"Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (6)].l);
;}
break;
case 524:
#line 62
7
8 "Gmsh.y"
#line 628
5
"Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (6)].l);
;}
break;
case 525:
#line 628
2
"Gmsh.y"
#line 628
9
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
...
...
@@ -13237,7 +13244,7 @@ yyreduce:
break;
case 526:
#line 630
0
"Gmsh.y"
#line 630
7
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
...
...
@@ -13258,7 +13265,7 @@ yyreduce:
break;
case 527:
#line 63
18
"Gmsh.y"
#line 63
25
"Gmsh.y"
{
(yyval.l) = List_Create(20,20,sizeof(double));
for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
...
...
@@ -13269,7 +13276,7 @@ yyreduce:
break;
case 528:
#line 63
26
"Gmsh.y"
#line 63
33
"Gmsh.y"
{
(yyval.l) = List_Create(20,20,sizeof(double));
for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) {
...
...
@@ -13280,7 +13287,7 @@ yyreduce:
break;
case 529:
#line 63
3
4 "Gmsh.y"
#line 634
1
"Gmsh.y"
{
Msg::Barrier();
FILE *File;
...
...
@@ -13312,7 +13319,7 @@ yyreduce:
break;
case 530:
#line 63
63
"Gmsh.y"
#line 63
70
"Gmsh.y"
{
double x0 = (yyvsp[(3) - (14)].d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].d), y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].d);
int N = (int)(yyvsp[(13) - (14)].d);
...
...
@@ -13325,7 +13332,7 @@ yyreduce:
break;
case 531:
#line 63
76
"Gmsh.y"
#line 63
83
"Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
...
...
@@ -13333,21 +13340,21 @@ yyreduce:
break;
case 532:
#line 638
1
"Gmsh.y"
#line 638
8
"Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;
case 533:
#line 63
85
"Gmsh.y"
#line 63
92
"Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
;}
break;
case 534:
#line 63
8
9 "Gmsh.y"
#line 639
6
"Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){
double d;
...
...
@@ -13359,21 +13366,21 @@ yyreduce:
break;
case 535:
#line 640
1
"Gmsh.y"
#line 640
8
"Gmsh.y"
{
(yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));
;}
break;
case 536:
#line 64
05
"Gmsh.y"
#line 64
12
"Gmsh.y"
{
(yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
;}
break;
case 537:
#line 64
17
"Gmsh.y"
#line 64
24
"Gmsh.y"
{
int flag = 0;
if(gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){
...
...
@@ -13393,7 +13400,7 @@ yyreduce:
break;
case 538:
#line 64
3
4 "Gmsh.y"
#line 644
1
"Gmsh.y"
{
unsigned int val = 0;
ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val);
...
...
@@ -13403,14 +13410,14 @@ yyreduce:
break;
case 539:
#line 64
44
"Gmsh.y"
#line 64
51
"Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;
case 540:
#line 64
48
"Gmsh.y"
#line 64
55
"Gmsh.y"
{
(yyval.l) = List_Create(256, 10, sizeof(unsigned int));
GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d));
...
...
@@ -13425,7 +13432,7 @@ yyreduce:
break;
case 541:
#line 64
63
"Gmsh.y"
#line 64
70
"Gmsh.y"
{
(yyval.l) = List_Create(256, 10, sizeof(unsigned int));
List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
...
...
@@ -13433,21 +13440,21 @@ yyreduce:
break;
case 542:
#line 64
68
"Gmsh.y"
#line 64
75
"Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
;}
break;
case 543:
#line 64
75
"Gmsh.y"
#line 64
82
"Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;
case 544:
#line 64
79
"Gmsh.y"
#line 64
86
"Gmsh.y"
{
std::string val;
if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c)))
...
...
@@ -13463,7 +13470,7 @@ yyreduce:
break;
case 545:
#line 649
2
"Gmsh.y"
#line 649
9
"Gmsh.y"
{
std::string val;
int j = (int)(yyvsp[(3) - (4)].d);
...
...
@@ -13480,7 +13487,7 @@ yyreduce:
break;
case 546:
#line 65
06
"Gmsh.y"
#line 65
13
"Gmsh.y"
{
std::string val;
int j = (int)(yyvsp[(3) - (4)].d);
...
...
@@ -13497,7 +13504,7 @@ yyreduce:
break;
case 547:
#line 652
0
"Gmsh.y"
#line 652
7
"Gmsh.y"
{
std::string val;
int j = (int)(yyvsp[(3) - (4)].d);
...
...
@@ -13514,7 +13521,7 @@ yyreduce:
break;
case 548:
#line 65
3
4 "Gmsh.y"
#line 654
1
"Gmsh.y"
{
std::string val;
int j = (int)(yyvsp[(3) - (4)].d);
...
...
@@ -13531,7 +13538,7 @@ yyreduce:
break;
case 549:
#line 65
48
"Gmsh.y"
#line 65
55
"Gmsh.y"
{
std::string out;
StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out);
...
...
@@ -13542,7 +13549,7 @@ yyreduce:
break;
case 550:
#line 65
5
6 "Gmsh.y"
#line 656
3
"Gmsh.y"
{
std::string out;
StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out);
...
...
@@ -13553,21 +13560,21 @@ yyreduce:
break;
case 551:
#line 65
6
7 "Gmsh.y"
#line 657
4
"Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;
case 552:
#line 657
1
"Gmsh.y"
#line 657
8
"Gmsh.y"
{
(yyval.c) = (yyvsp[(3) - (4)].c);
;}
break;
case 553:
#line 65
75
"Gmsh.y"
#line 65
82
"Gmsh.y"
{
(yyval.c) = (char *)Malloc(32 * sizeof(char));
time_t now;
...
...
@@ -13578,7 +13585,7 @@ yyreduce:
break;
case 554:
#line 65
83
"Gmsh.y"
#line 65
90
"Gmsh.y"
{
std::string exe = Msg::GetExecutableName();
(yyval.c) = (char *)Malloc(exe.size() + 1);
...
...
@@ -13587,7 +13594,7 @@ yyreduce:
break;
case 555:
#line 65
8
9 "Gmsh.y"
#line 659
6
"Gmsh.y"
{
std::string action = Msg::GetOnelabAction();
(yyval.c) = (char *)Malloc(action.size() + 1);
...
...
@@ -13596,7 +13603,7 @@ yyreduce:
break;
case 556:
#line 6
595
"Gmsh.y"
#line 6
602
"Gmsh.y"
{
const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c));
if(!env) env = "";
...
...
@@ -13607,7 +13614,7 @@ yyreduce:
break;
case 557:
#line 660
3
"Gmsh.y"
#line 66
1
0 "Gmsh.y"
{
std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
(yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
...
...
@@ -13618,7 +13625,7 @@ yyreduce:
break;
case 558:
#line 661
1
"Gmsh.y"
#line 661
8
"Gmsh.y"
{
std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c));
(yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
...
...
@@ -13628,7 +13635,7 @@ yyreduce:
break;
case 559:
#line 66
18
"Gmsh.y"
#line 66
25
"Gmsh.y"
{
std::string s = Msg::GetOnelabString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
(yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char));
...
...
@@ -13639,7 +13646,7 @@ yyreduce:
break;
case 560:
#line 66
26
"Gmsh.y"
#line 66
33
"Gmsh.y"
{
int size = 1;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
...
...
@@ -13657,7 +13664,7 @@ yyreduce:
break;
case 561:
#line 664
1
"Gmsh.y"
#line 664
8
"Gmsh.y"
{
(yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
int i;
...
...
@@ -13674,7 +13681,7 @@ yyreduce:
break;
case 562:
#line 66
55
"Gmsh.y"
#line 66
62
"Gmsh.y"
{
(yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char));
int i;
...
...
@@ -13691,7 +13698,7 @@ yyreduce:
break;
case 563:
#line 666
9
"Gmsh.y"
#line 66
7
6 "Gmsh.y"
{
std::string input = (yyvsp[(3) - (8)].c);
std::string substr_old = (yyvsp[(5) - (8)].c);
...
...
@@ -13706,7 +13713,7 @@ yyreduce:
break;
case 564:
#line 668
1
"Gmsh.y"
#line 668
8
"Gmsh.y"
{
int size = 1;
for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++)
...
...
@@ -13725,7 +13732,7 @@ yyreduce:
break;
case 565:
#line 6
697
"Gmsh.y"
#line 6
704
"Gmsh.y"
{
int i = 0;
while ((yyvsp[(3) - (4)].c)[i]) {
...
...
@@ -13737,7 +13744,7 @@ yyreduce:
break;
case 566:
#line 67
06
"Gmsh.y"
#line 67
13
"Gmsh.y"
{
int i = 0;
while ((yyvsp[(3) - (4)].c)[i]) {
...
...
@@ -13749,7 +13756,7 @@ yyreduce:
break;
case 567:
#line 67
15
"Gmsh.y"
#line 67
22
"Gmsh.y"
{
int i = 0;
while ((yyvsp[(3) - (4)].c)[i]) {
...
...
@@ -13762,7 +13769,7 @@ yyreduce:
break;
case 568:
#line 672
5
"Gmsh.y"
#line 67
3
2 "Gmsh.y"
{
if((yyvsp[(3) - (8)].d)){
(yyval.c) = (yyvsp[(5) - (8)].c);
...
...
@@ -13776,7 +13783,7 @@ yyreduce:
break;
case 569:
#line 673
6
"Gmsh.y"
#line 67
4
3 "Gmsh.y"
{
std::string in = (yyvsp[(3) - (8)].c);
std::string out = in.substr((int)(yyvsp[(5) - (8)].d), (int)(yyvsp[(7) - (8)].d));
...
...
@@ -13787,7 +13794,7 @@ yyreduce:
break;
case 570:
#line 67
44
"Gmsh.y"
#line 67
51
"Gmsh.y"
{
std::string in = (yyvsp[(3) - (6)].c);
std::string out = in.substr((int)(yyvsp[(5) - (6)].d), std::string::npos);
...
...
@@ -13798,14 +13805,14 @@ yyreduce:
break;
case 571:
#line 675
2
"Gmsh.y"
#line 675
9
"Gmsh.y"
{
(yyval.c) = (yyvsp[(3) - (4)].c);
;}
break;
case 572:
#line 67
5
6 "Gmsh.y"
#line 676
3
"Gmsh.y"
{
char tmpstring[5000];
int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);
...
...
@@ -13827,7 +13834,7 @@ yyreduce:
break;
case 573:
#line 67
75
"Gmsh.y"
#line 67
82
"Gmsh.y"
{
std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c));
(yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
...
...
@@ -13837,7 +13844,7 @@ yyreduce:
break;
case 574:
#line 678
2
"Gmsh.y"
#line 678
9
"Gmsh.y"
{
std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0];
(yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
...
...
@@ -13846,7 +13853,7 @@ yyreduce:
break;
case 575:
#line 67
88
"Gmsh.y"
#line 67
95
"Gmsh.y"
{
std::string tmp = SplitFileName((yyvsp[(3) - (4)].c))[0];
(yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
...
...
@@ -13856,7 +13863,7 @@ yyreduce:
break;
case 576:
#line 6
795
"Gmsh.y"
#line 6
802
"Gmsh.y"
{
std::string tmp = GetAbsolutePath((yyvsp[(3) - (4)].c));
(yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char));
...
...
@@ -13866,12 +13873,12 @@ yyreduce:
break;
case 577:
#line 680
2
"Gmsh.y"
#line 680
9
"Gmsh.y"
{ floatOptions.clear(); charOptions.clear(); ;}
break;
case 578:
#line 68
04
"Gmsh.y"
#line 68
11
"Gmsh.y"
{
std::string val((yyvsp[(3) - (6)].c));
Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions);
...
...
@@ -13882,7 +13889,7 @@ yyreduce:
break;
case 579:
#line 68
15
"Gmsh.y"
#line 68
22
"Gmsh.y"
{
(yyval.l) = List_Create(20,20,sizeof(char*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].c)));
...
...
@@ -13890,12 +13897,12 @@ yyreduce:
break;
case 580:
#line 682
0
"Gmsh.y"
#line 682
7
"Gmsh.y"
{ List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); ;}
break;
case 581:
#line 68
26
"Gmsh.y"
#line 68
33
"Gmsh.y"
{
char tmpstr[256];
sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
...
...
@@ -13906,7 +13913,7 @@ yyreduce:
break;
case 582:
#line 68
35
"Gmsh.y"
#line 68
42
"Gmsh.y"
{
char tmpstr[256];
sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d));
...
...
@@ -13917,23 +13924,23 @@ yyreduce:
break;
case 583:
#line 68
48
"Gmsh.y"
#line 68
55
"Gmsh.y"
{ (yyval.c) = (yyvsp[(1) - (1)].c); ;}
break;
case 584:
#line 685
1
"Gmsh.y"
#line 685
8
"Gmsh.y"
{ (yyval.c) = (yyvsp[(1) - (1)].c); ;}
break;
case 585:
#line 68
55
"Gmsh.y"
#line 68
62
"Gmsh.y"
{ (yyval.c) = (yyvsp[(3) - (4)].c); ;}
break;
/* Line 1267 of yacc.c. */
#line 139
37
"Gmsh.tab.cpp"
#line 139
44
"Gmsh.tab.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
...
...
@@ -14147,7 +14154,7 @@ yyreturn:
}
#line 685
8
"Gmsh.y"
#line 68
6
5 "Gmsh.y"
void assignVariable(const std::string &name, int index, int assignType,
...
...
This diff is collapsed.
Click to expand it.
Parser/Gmsh.y
+
8
−
1
View file @
a743e275
...
...
@@ -2554,7 +2554,14 @@ Transform :
tTranslate VExpr '{' MultipleShape '}'
{
if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){
Msg::Error("TODO OCC Translate");
std::vector<int> in[4];
Shape TheShape;
for(int i = 0; i < List_Nbr($4); i++){
List_Read($4, i, &TheShape);
int dim = TheShape.Type / 100 - 1;
if(dim >= 0 && dim <= 3) in[dim].push_back(TheShape.Num);
}
GModel::current()->getOCCInternals()->translate(in, $2[0], $2[1], $2[2]);
}
else{
TranslateShapes($2[0], $2[1], $2[2], $4);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment