Changeset 1619
- Timestamp:
- Jul 10, 2012, 1:18:31 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/easymesh/easymesh-parser.y
r1510 r1619 51 51 %token T_CHAMFER 52 52 53 %token T_CYLINDER T_BOX T_SMOOTHCHAMFBOX T_FLATCHAMFBOX T_SPHERE T_ STAR54 %token T_ EXPANDEDSTAR T_DISC T_TRIANGLE T_QUAD T_COG53 %token T_CYLINDER T_BOX T_SMOOTHCHAMFBOX T_FLATCHAMFBOX T_SPHERE T_CAPSULE 54 %token T_STAR T_EXPANDEDSTAR T_DISC T_TRIANGLE T_QUAD T_COG 55 55 56 56 %token T_END 0 … … 148 148 | T_SPHERE args4 { mc.m_mesh.AppendSphere($2.f0, 149 149 vec3($2.f1, $2.f2, $2.f3)); } 150 | T_CAPSULE args3 { mc.m_mesh.AppendCapsule($2.f0, $2.f1, $2.f2); } 150 151 | T_STAR args5 { mc.m_mesh.AppendStar((int)$2.f0, $2.f1, $2.f2, 151 152 (int)$2.f3, (int)$2.f4); } -
trunk/src/easymesh/easymesh-scanner.l
r1512 r1619 75 75 ascb { return token::T_SMOOTHCHAMFBOX; } 76 76 afcb { return token::T_FLATCHAMFBOX; } 77 acap { return token::T_CAPSULE; } 77 78 asph { return token::T_SPHERE; } 78 79 as { return token::T_STAR; } -
trunk/src/easymesh/easymesh.cpp
r1604 r1619 18 18 #if defined HAVE_CONFIG_H 19 19 # include "config.h" 20 #endif 21 22 #if defined _XBOX 23 # define _USE_MATH_DEFINES /* for M_PI */ 24 # include <xtl.h> 25 # undef near /* Fuck Microsoft */ 26 # undef far /* Fuck Microsoft again */ 27 #elif defined _WIN32 28 # define _USE_MATH_DEFINES /* for M_PI */ 29 # define WIN32_LEAN_AND_MEAN 30 # include <windows.h> 31 # undef near /* Fuck Microsoft */ 32 # undef far /* Fuck Microsoft again */ 20 33 #endif 21 34 … … 348 361 } 349 362 350 void EasyMesh::Append Sphere(int ndivisions, vec3 const &size)363 void EasyMesh::AppendCapsule(int ndivisions, float h, float r) 351 364 { 352 365 int ibase = m_indices.Count(); … … 354 367 Array<vec3> vertices; 355 368 369 /* Fill in the icosahedron vertices, rotating them so that there 370 * is a vertex at [0 0 1] and [0 0 -1] after normalisation. */ 356 371 float phi = 0.5f + 0.5f * sqrt(5.f); 372 mat3 mat = mat3::rotate(asin(1.f / sqrt(2.f + phi)) * (180.f / M_PI), 373 vec3(1.f, 0.f, 0.f)); 357 374 for (int i = 0; i < 4; i++) 358 375 { 359 376 float x = (i & 1) ? 0.5f : -0.5f; 360 377 float y = (i & 2) ? phi * 0.5f : phi * -0.5f; 361 vertices << vec3(x, y, 0.f);362 vertices << vec3(0.f, x, y);363 vertices << vec3(y, 0.f, x);378 vertices << mat * vec3(x, y, 0.f); 379 vertices << mat * vec3(0.f, x, y); 380 vertices << mat * vec3(y, 0.f, x); 364 381 } 365 382 … … 376 393 for (unsigned i = 0; i < sizeof(trilist) / sizeof(*trilist); i += 3) 377 394 { 378 vec3 const & p0= vertices[trilist[i]];379 vec3 const & p1= vertices[trilist[i + 1]];380 vec3 const & p2= vertices[trilist[i + 2]];381 382 vec3 const v x = 1.f / ndivisions * (p1 - p0);383 vec3 const v y = 1.f / ndivisions * (p2 - p0);395 vec3 const &a = vertices[trilist[i]]; 396 vec3 const &b = vertices[trilist[i + 1]]; 397 vec3 const &c = vertices[trilist[i + 2]]; 398 399 vec3 const vb = 1.f / ndivisions * (b - a); 400 vec3 const vc = 1.f / ndivisions * (c - a); 384 401 385 402 int line = ndivisions + 1; … … 387 404 for (int v = 0, x = 0, y = 0; x < ndivisions + 1; v++) 388 405 { 389 vec3 p = p0 + x * vx + y * vy; 406 vec3 p[] = { a + x * vb + y * vc, 407 p[0] + vb, 408 p[0] + vc, 409 p[0] + vb + vc }; 410 411 /* FIXME: when we normalise here, we get a volume that is slightly 412 * smaller than the sphere of radius 1, since we are not using 413 * the midradius. */ 414 for (int k = 0; k < 4; k++) 415 p[k] = normalize(p[k]) * r; 416 417 /* If this is a capsule, grow in the Z direction */ 418 if (h > 0.f) 419 { 420 for (int k = 0; k < 4; k++) 421 p[k].z += (p[k].z > 0.f) ? 0.5f * h : -0.5f * h; 422 } 390 423 391 424 /* Add zero, one or two triangles */ 392 425 if (y < line - 1) 393 426 { 394 AddVertex( normalize(p) * size);395 AddVertex( normalize(p + vx) * size);396 AddVertex( normalize(p + vy) * size);427 AddVertex(p[0]); 428 AddVertex(p[1]); 429 AddVertex(p[2]); 397 430 AppendTriangle(0, 2, 1, m_vert.Count() - 3); 398 431 } … … 400 433 if (y < line - 2) 401 434 { 402 AddVertex( normalize(p + vx) * size);403 AddVertex( normalize(p + vx + vy) * size);404 AddVertex( normalize(p + vy) * size);435 AddVertex(p[1]); 436 AddVertex(p[3]); 437 AddVertex(p[2]); 405 438 AppendTriangle(0, 2, 1, m_vert.Count() - 3); 406 439 } … … 417 450 418 451 ComputeNormals(ibase, m_indices.Count() - ibase); 452 } 453 454 void EasyMesh::AppendSphere(int ndivisions, vec3 const &size) 455 { 456 AppendCapsule(ndivisions, 0.f, size.x); 419 457 } 420 458 -
trunk/src/easymesh/easymesh.h
r1510 r1619 67 67 void AppendCylinder(int nsides, float h, float r1, float r2, 68 68 int dualside, int smooth); 69 void AppendCapsule(int ndivisions, float h, float r); 69 70 void AppendSphere(int ndivisions, vec3 const &size); 70 71 void AppendBox(vec3 const &size, float chamf = 0.f); -
trunk/src/generated/easymesh-parser.cpp
r1510 r1619 680 680 /* Line 690 of lalr1.cc */ 681 681 #line 150 "easymesh/easymesh-parser.y" 682 { mc.m_mesh.AppendCapsule((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } 683 break; 684 685 case 42: 686 687 /* Line 690 of lalr1.cc */ 688 #line 151 "easymesh/easymesh-parser.y" 682 689 { mc.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, 683 690 (int)(yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4); } 684 691 break; 685 692 686 case 4 2:687 688 /* Line 690 of lalr1.cc */ 689 #line 15 2"easymesh/easymesh-parser.y"693 case 43: 694 695 /* Line 690 of lalr1.cc */ 696 #line 153 "easymesh/easymesh-parser.y" 690 697 { mc.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, 691 698 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } 692 699 break; 693 700 694 case 4 3:695 696 /* Line 690 of lalr1.cc */ 697 #line 15 4"easymesh/easymesh-parser.y"701 case 44: 702 703 /* Line 690 of lalr1.cc */ 704 #line 155 "easymesh/easymesh-parser.y" 698 705 { mc.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); } 699 706 break; 700 707 701 case 4 4:702 703 /* Line 690 of lalr1.cc */ 704 #line 15 5"easymesh/easymesh-parser.y"708 case 45: 709 710 /* Line 690 of lalr1.cc */ 711 #line 156 "easymesh/easymesh-parser.y" 705 712 { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } 706 713 break; 707 714 708 case 4 5:709 710 /* Line 690 of lalr1.cc */ 711 #line 15 6"easymesh/easymesh-parser.y"715 case 46: 716 717 /* Line 690 of lalr1.cc */ 718 #line 157 "easymesh/easymesh-parser.y" 712 719 { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } 713 720 break; 714 721 715 case 4 6:716 717 /* Line 690 of lalr1.cc */ 718 #line 15 7"easymesh/easymesh-parser.y"722 case 47: 723 724 /* Line 690 of lalr1.cc */ 725 #line 158 "easymesh/easymesh-parser.y" 719 726 { mc.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, 720 727 (yysemantic_stack_[(2) - (2)].args).f4, (yysemantic_stack_[(2) - (2)].args).f5, (yysemantic_stack_[(2) - (2)].args).f6, (int)(yysemantic_stack_[(2) - (2)].args).f7); } 721 728 break; 722 729 723 case 4 7:724 725 /* Line 690 of lalr1.cc */ 726 #line 16 1"easymesh/easymesh-parser.y"730 case 48: 731 732 /* Line 690 of lalr1.cc */ 733 #line 162 "easymesh/easymesh-parser.y" 727 734 { (yyval.args).f0 = (yysemantic_stack_[(1) - (1)].fval); } 728 735 break; 729 736 730 case 4 8:731 732 /* Line 690 of lalr1.cc */ 733 #line 16 2"easymesh/easymesh-parser.y"737 case 49: 738 739 /* Line 690 of lalr1.cc */ 740 #line 163 "easymesh/easymesh-parser.y" 734 741 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f1 = (yysemantic_stack_[(2) - (2)].fval); } 735 742 break; 736 743 737 case 49:738 739 /* Line 690 of lalr1.cc */ 740 #line 16 3"easymesh/easymesh-parser.y"744 case 50: 745 746 /* Line 690 of lalr1.cc */ 747 #line 164 "easymesh/easymesh-parser.y" 741 748 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f2 = (yysemantic_stack_[(2) - (2)].fval); } 742 749 break; 743 750 744 case 5 0:745 746 /* Line 690 of lalr1.cc */ 747 #line 16 4"easymesh/easymesh-parser.y"751 case 51: 752 753 /* Line 690 of lalr1.cc */ 754 #line 165 "easymesh/easymesh-parser.y" 748 755 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f3 = (yysemantic_stack_[(2) - (2)].fval); } 749 756 break; 750 757 751 case 5 1:752 753 /* Line 690 of lalr1.cc */ 754 #line 16 5"easymesh/easymesh-parser.y"758 case 52: 759 760 /* Line 690 of lalr1.cc */ 761 #line 166 "easymesh/easymesh-parser.y" 755 762 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f4 = (yysemantic_stack_[(2) - (2)].fval); } 756 763 break; 757 764 758 case 5 2:759 760 /* Line 690 of lalr1.cc */ 761 #line 16 6"easymesh/easymesh-parser.y"765 case 53: 766 767 /* Line 690 of lalr1.cc */ 768 #line 167 "easymesh/easymesh-parser.y" 762 769 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f5 = (yysemantic_stack_[(2) - (2)].fval); } 763 770 break; 764 771 765 case 5 3:766 767 /* Line 690 of lalr1.cc */ 768 #line 16 7"easymesh/easymesh-parser.y"772 case 54: 773 774 /* Line 690 of lalr1.cc */ 775 #line 168 "easymesh/easymesh-parser.y" 769 776 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f6 = (yysemantic_stack_[(2) - (2)].fval); } 770 777 break; 771 778 772 case 5 4:773 774 /* Line 690 of lalr1.cc */ 775 #line 16 8"easymesh/easymesh-parser.y"779 case 55: 780 781 /* Line 690 of lalr1.cc */ 782 #line 169 "easymesh/easymesh-parser.y" 776 783 { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f7 = (yysemantic_stack_[(2) - (2)].fval); } 777 784 break; 778 785 779 case 5 5:780 781 /* Line 690 of lalr1.cc */ 782 #line 17 1"easymesh/easymesh-parser.y"786 case 56: 787 788 /* Line 690 of lalr1.cc */ 789 #line 172 "easymesh/easymesh-parser.y" 783 790 { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); } 784 791 break; 785 792 786 case 5 6:787 788 /* Line 690 of lalr1.cc */ 789 #line 17 2"easymesh/easymesh-parser.y"793 case 57: 794 795 /* Line 690 of lalr1.cc */ 796 #line 173 "easymesh/easymesh-parser.y" 790 797 { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); } 791 798 break; … … 794 801 795 802 /* Line 690 of lalr1.cc */ 796 #line 797"generated/easymesh-parser.cpp"803 #line 804 "generated/easymesh-parser.cpp" 797 804 default: 798 805 break; … … 1068 1075 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1069 1076 STATE-NUM. */ 1070 const signed char EasyMeshParser::yypact_ninf_ = -4 5;1077 const signed char EasyMeshParser::yypact_ninf_ = -46; 1071 1078 const signed char 1072 1079 EasyMeshParser::yypact_[] = 1073 1080 { 1074 3 4, -29, 70, -6, -6, -6, -6, -45, -6, -6,1075 -6, -6, -45, -6, -6, -6, -6, -45, -6, -6,1076 -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,1077 -6, -6, -45, 12, 15, 34, 34, 69, -45, -45,1078 -4 5, -45, -45, -45, -6, -6, -6, -6, -45, -45,1079 -4 5, -45, -45, -45, -45, -45, -45, -45, -45, -45,1080 -4 5, -45, -45, -45, -45, -45, -45, -6, -6, -45,1081 -4 5, -45, -45, -45, -45, -45, -45, -45, -45, -6,1082 -6, -45, -45, -45, -45, -21, -45, -45, -45, -45,1083 -4 5, -45, -45, -45, -45, -45, -451081 35, -30, -7, 72, 72, 72, 72, -46, 72, 72, 1082 72, 72, -46, 72, 72, 72, 72, -46, 72, 72, 1083 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 1084 72, 72, 72, -46, 12, 15, 35, 35, 71, -46, 1085 -46, -46, -46, -46, -46, 72, 72, 72, 72, -46, 1086 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, 1087 -46, -46, -46, -46, -46, -46, -46, -46, 72, 72, 1088 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, 1089 -46, 72, 72, -46, -46, -46, -46, -22, -46, -46, 1090 -46, -46, -46, -46, -46, -46, -46, -46, -46 1084 1091 }; 1085 1092 … … 1093 1100 0, 0, 34, 0, 0, 0, 0, 35, 0, 0, 1094 1101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095 0, 0, 7, 0, 0, 3, 0, 5, 9, 11,1096 1 2, 13, 55, 15, 0, 0, 0, 0, 14, 47,1097 17, 16, 19, 23, 26, 29, 20, 24, 27, 30,1098 21, 25, 28, 31, 22, 32, 18, 0, 0, 36,1099 3 7, 38, 39, 40, 41, 42, 43, 44, 45, 0,1100 0, 46, 1, 2, 4, 0, 10, 56, 48, 49,1101 50, 51, 52, 53, 54, 8, 61102 0, 0, 0, 7, 0, 0, 3, 0, 5, 9, 1103 11, 12, 13, 56, 15, 0, 0, 0, 0, 14, 1104 48, 17, 16, 19, 23, 26, 29, 20, 24, 27, 1105 30, 21, 25, 28, 31, 22, 32, 18, 0, 0, 1106 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 1107 46, 0, 0, 47, 1, 2, 4, 0, 10, 57, 1108 49, 50, 51, 52, 53, 54, 55, 8, 6 1102 1109 }; 1103 1110 … … 1106 1113 EasyMeshParser::yypgoto_[] = 1107 1114 { 1108 -4 5, -45, -4, -45, -45, -45, -45, -17, -45, -45,1109 -4 5, 5, 39, 98, 3, 8, -9, -45, -45, -441115 -46, -46, -2, -46, -46, -46, -46, -18, -46, -46, 1116 -46, 5, 40, 101, 3, -5, 0, -46, -46, -45 1110 1117 }; 1111 1118 … … 1114 1121 EasyMeshParser::yydefgoto_[] = 1115 1122 { 1116 -1, 3 3, 34, 35, 36, 96, 37, 38, 39, 40,1117 4 1, 45, 46, 47, 67, 68, 69, 80, 81, 491123 -1, 34, 35, 36, 37, 98, 38, 39, 40, 41, 1124 42, 46, 47, 48, 68, 69, 70, 82, 83, 50 1118 1125 }; 1119 1126 … … 1125 1132 EasyMeshParser::yytable_[] = 1126 1133 { 1127 87, 88, 89, 90, 48, 51, 42, 43, 52, 53, 1128 44, 55, 82, 56, 57, 83, 59, 95, 60, 61, 1129 86, 63, 79, 91, 92, 66, 71, 72, 73, 42, 1130 75, 84, 85, 44, 74, 93, 94, 1, 2, 3, 1131 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1132 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1133 24, 25, 26, 27, 28, 29, 30, 31, 77, 78, 1134 0, 32, 1, 2, 3, 4, 5, 6, 7, 8, 1135 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1136 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1137 29, 30, 31, 54, 0, 42, 50, 0, 58, 44, 1138 0, 0, 0, 62, 0, 0, 64, 65, 0, 0, 1139 70, 0, 0, 0, 0, 0, 76 1134 89, 90, 91, 92, 49, 52, 43, 44, 53, 54, 1135 45, 56, 84, 57, 58, 85, 60, 97, 61, 62, 1136 88, 64, 76, 93, 94, 67, 72, 73, 74, 43, 1137 51, 77, 81, 45, 86, 87, 95, 96, 1, 2, 1138 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1139 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1140 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1141 79, 80, 0, 33, 1, 2, 3, 4, 5, 6, 1142 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1143 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1144 27, 28, 29, 30, 31, 32, 55, 0, 43, 0, 1145 0, 59, 45, 0, 0, 0, 63, 0, 0, 65, 1146 66, 0, 0, 71, 0, 0, 0, 75, 0, 0, 1147 78 1140 1148 }; 1141 1149 … … 1144 1152 EasyMeshParser::yycheck_[] = 1145 1153 { 1146 44, 45, 46, 47, 1, 2, 35, 36, 3, 4, 1147 39, 6, 0, 8, 9, 0, 11, 38, 13, 14, 1148 37, 16, 31, 67, 68, 20, 23, 24, 25, 35, 1149 27, 35, 36, 39, 26, 79, 80, 3, 4, 5, 1150 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1151 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1152 26, 27, 28, 29, 30, 31, 32, 33, 29, 30, 1153 -1, 37, 3, 4, 5, 6, 7, 8, 9, 10, 1154 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1155 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1156 31, 32, 33, 5, -1, 35, 36, -1, 10, 39, 1157 -1, -1, -1, 15, -1, -1, 18, 19, -1, -1, 1158 22, -1, -1, -1, -1, -1, 28 1154 45, 46, 47, 48, 1, 2, 36, 37, 3, 4, 1155 40, 6, 0, 8, 9, 0, 11, 39, 13, 14, 1156 38, 16, 27, 68, 69, 20, 23, 24, 25, 36, 1157 37, 28, 32, 40, 36, 37, 81, 82, 3, 4, 1158 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1159 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1160 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1161 30, 31, -1, 38, 3, 4, 5, 6, 7, 8, 1162 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1163 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1164 29, 30, 31, 32, 33, 34, 5, -1, 36, -1, 1165 -1, 10, 40, -1, -1, -1, 15, -1, -1, 18, 1166 19, -1, -1, 22, -1, -1, -1, 26, -1, -1, 1167 29 1159 1168 }; 1160 1169 … … 1167 1176 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1168 1177 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 1169 32, 33, 3 7, 41, 42, 43, 44, 46, 47, 48,1170 49, 50, 35, 36, 39, 51, 52, 53, 54, 59,1171 36, 54, 51, 51, 53, 51, 51, 51, 53, 51,1172 5 1, 51, 53, 51, 53, 53, 51, 54, 55, 56,1173 5 3, 54, 54, 54, 55, 54, 53, 52, 52, 56,1174 5 7, 58, 0, 0, 42, 42, 47, 59, 59, 59,1175 59, 59, 59, 59, 59, 38, 451178 32, 33, 34, 38, 42, 43, 44, 45, 47, 48, 1179 49, 50, 51, 36, 37, 40, 52, 53, 54, 55, 1180 60, 37, 55, 52, 52, 54, 52, 52, 52, 54, 1181 52, 52, 52, 54, 52, 54, 54, 52, 55, 56, 1182 57, 54, 55, 55, 55, 54, 56, 55, 54, 53, 1183 53, 57, 58, 59, 0, 0, 43, 43, 48, 60, 1184 60, 60, 60, 60, 60, 60, 60, 39, 46 1176 1185 }; 1177 1186 … … 1185 1194 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 1186 1195 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 1187 285, 286, 287, 288, 289, 290, 291, 91, 93, 45 1196 285, 286, 287, 288, 289, 290, 291, 292, 91, 93, 1197 45 1188 1198 }; 1189 1199 #endif … … 1193 1203 EasyMeshParser::yyr1_[] = 1194 1204 { 1195 0, 4 0, 41, 42, 42, 43, 43, 44, 45, 46,1196 4 6, 47, 47, 47, 48, 48, 48, 48, 49, 49,1197 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,1198 49, 49, 49, 49, 49, 49, 50, 50, 50, 50,1199 5 0, 50, 50, 50, 50, 50, 50, 51, 52, 53,1200 54, 55, 56, 57, 58, 59, 591205 0, 41, 42, 43, 43, 44, 44, 45, 46, 47, 1206 47, 48, 48, 48, 49, 49, 49, 49, 50, 50, 1207 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 1208 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 1209 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, 1210 54, 55, 56, 57, 58, 59, 60, 60 1201 1211 }; 1202 1212 … … 1209 1219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1210 1220 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1211 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,1212 2, 2, 2, 2, 2, 1, 21221 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1222 2, 2, 2, 2, 2, 2, 1, 2 1213 1223 }; 1214 1224 … … 1224 1234 "T_ROTATEZ", "T_TAPERZ", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE", 1225 1235 "T_SCALE", "T_CHAMFER", "T_CYLINDER", "T_BOX", "T_SMOOTHCHAMFBOX", 1226 "T_FLATCHAMFBOX", "T_SPHERE", "T_ STAR", "T_EXPANDEDSTAR", "T_DISC",1227 "T_ TRIANGLE", "T_QUAD", "T_COG", "T_ERROR", "NUMBER", "COLOR", "'['",1228 "' ]'", "'-'", "$accept", "mesh_description", "mesh_expression_list",1229 "mesh_expression ", "mesh_open", "mesh_close", "mesh_command_list",1230 "mesh_command ", "color_command", "transform_command",1231 " primitive_command", "args1", "args2", "args3", "args4", "args5",1232 "args 6", "args7", "args8", "number", 01236 "T_FLATCHAMFBOX", "T_SPHERE", "T_CAPSULE", "T_STAR", "T_EXPANDEDSTAR", 1237 "T_DISC", "T_TRIANGLE", "T_QUAD", "T_COG", "T_ERROR", "NUMBER", "COLOR", 1238 "'['", "']'", "'-'", "$accept", "mesh_description", 1239 "mesh_expression_list", "mesh_expression", "mesh_open", "mesh_close", 1240 "mesh_command_list", "mesh_command", "color_command", 1241 "transform_command", "primitive_command", "args1", "args2", "args3", 1242 "args4", "args5", "args6", "args7", "args8", "number", 0 1233 1243 }; 1234 1244 #endif … … 1239 1249 EasyMeshParser::yyrhs_[] = 1240 1250 { 1241 4 1, 0, -1, 42, 0, -1, 43, -1, 43, 42,1242 -1, 4 6, -1, 44, 42, 45, -1, 37, -1, 38,1243 -1, 4 7, -1, 46, 47, -1, 48, -1, 49, -1,1244 5 0, -1, 3, 54, -1, 3, 36, -1, 4, 54,1245 -1, 4, 3 6, -1, 22, 51, -1, 5, 51, -1,1246 10, 5 1, -1, 15, 51, -1, 20, 53, -1, 6,1247 5 1, -1, 11, 51, -1, 16, 51, -1, 7, 53,1248 -1, 12, 5 3, -1, 17, 53, -1, 8, 51, -1,1249 13, 5 1, -1, 18, 51, -1, 21, 53, -1, 9,1250 -1, 14, -1, 19, -1, 23, 5 6, -1, 24, 53,1251 -1, 25, 5 4, -1, 26, 54, -1, 27, 54, -1,1252 28, 5 5, -1, 29, 54, -1, 30, 53, -1, 31,1253 5 2, -1, 32, 52, -1, 33, 58, -1, 59, -1,1254 51, 59, -1, 52, 59, -1, 53, 59, -1, 54,1255 59, -1, 55, 59, -1, 56, 59, -1, 57, 59,1256 -1, 35, -1, 39, 59, -11251 42, 0, -1, 43, 0, -1, 44, -1, 44, 43, 1252 -1, 47, -1, 45, 43, 46, -1, 38, -1, 39, 1253 -1, 48, -1, 47, 48, -1, 49, -1, 50, -1, 1254 51, -1, 3, 55, -1, 3, 37, -1, 4, 55, 1255 -1, 4, 37, -1, 22, 52, -1, 5, 52, -1, 1256 10, 52, -1, 15, 52, -1, 20, 54, -1, 6, 1257 52, -1, 11, 52, -1, 16, 52, -1, 7, 54, 1258 -1, 12, 54, -1, 17, 54, -1, 8, 52, -1, 1259 13, 52, -1, 18, 52, -1, 21, 54, -1, 9, 1260 -1, 14, -1, 19, -1, 23, 57, -1, 24, 54, 1261 -1, 25, 55, -1, 26, 55, -1, 27, 55, -1, 1262 28, 54, -1, 29, 56, -1, 30, 55, -1, 31, 1263 54, -1, 32, 53, -1, 33, 53, -1, 34, 59, 1264 -1, 60, -1, 52, 60, -1, 53, 60, -1, 54, 1265 60, -1, 55, 60, -1, 56, 60, -1, 57, 60, 1266 -1, 58, 60, -1, 36, -1, 40, 60, -1 1257 1267 }; 1258 1268 … … 1266 1276 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 1267 1277 80, 83, 86, 89, 91, 93, 95, 98, 101, 104, 1268 107, 110, 113, 116, 119, 122, 125, 128, 13 0, 133,1269 136, 139, 142, 145, 148, 151, 15 31278 107, 110, 113, 116, 119, 122, 125, 128, 131, 133, 1279 136, 139, 142, 145, 148, 151, 154, 156 1270 1280 }; 1271 1281 … … 1278 1288 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 1279 1289 131, 132, 133, 134, 135, 136, 140, 143, 144, 146, 1280 148, 150, 15 2, 154, 155, 156, 157, 161, 162, 163,1281 164, 165, 166, 167, 168, 1 71, 1721290 148, 150, 151, 153, 155, 156, 157, 158, 162, 163, 1291 164, 165, 166, 167, 168, 169, 172, 173 1282 1292 }; 1283 1293 … … 1323 1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1324 1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1325 2, 2, 2, 2, 2, 39, 2, 2, 2, 2,1326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1330 2, 3 7, 2, 38, 2, 2, 2, 2, 2, 2,1335 2, 2, 2, 2, 2, 40, 2, 2, 2, 2, 1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1340 2, 38, 2, 39, 2, 2, 2, 2, 2, 2, 1331 1341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1332 1342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 1348 1358 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1349 1359 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1350 35, 36 1360 35, 36, 37 1351 1361 }; 1352 1362 if ((unsigned int) t <= yyuser_token_number_max_) … … 1357 1367 1358 1368 const int EasyMeshParser::yyeof_ = 0; 1359 const int EasyMeshParser::yylast_ = 1 26;1369 const int EasyMeshParser::yylast_ = 130; 1360 1370 const int EasyMeshParser::yynnts_ = 20; 1361 1371 const int EasyMeshParser::yyempty_ = -2; 1362 const int EasyMeshParser::yyfinal_ = 8 2;1372 const int EasyMeshParser::yyfinal_ = 84; 1363 1373 const int EasyMeshParser::yyterror_ = 1; 1364 1374 const int EasyMeshParser::yyerrcode_ = 256; 1365 const int EasyMeshParser::yyntokens_ = 4 0;1366 1367 const unsigned int EasyMeshParser::yyuser_token_number_max_ = 29 1;1375 const int EasyMeshParser::yyntokens_ = 41; 1376 1377 const unsigned int EasyMeshParser::yyuser_token_number_max_ = 292; 1368 1378 const EasyMeshParser::token_number_type EasyMeshParser::yyundef_token_ = 2; 1369 1379 … … 1372 1382 1373 1383 /* Line 1136 of lalr1.cc */ 1374 #line 13 75 "generated/easymesh-parser.cpp"1384 #line 1385 "generated/easymesh-parser.cpp" 1375 1385 1376 1386 1377 1387 /* Line 1138 of lalr1.cc */ 1378 #line 17 5"easymesh/easymesh-parser.y"1388 #line 176 "easymesh/easymesh-parser.y" 1379 1389 1380 1390 -
trunk/src/generated/easymesh-parser.h
r1510 r1619 125 125 T_FLATCHAMFBOX = 281, 126 126 T_SPHERE = 282, 127 T_STAR = 283, 128 T_EXPANDEDSTAR = 284, 129 T_DISC = 285, 130 T_TRIANGLE = 286, 131 T_QUAD = 287, 132 T_COG = 288, 133 T_ERROR = 289, 134 NUMBER = 290, 135 COLOR = 291 127 T_CAPSULE = 283, 128 T_STAR = 284, 129 T_EXPANDEDSTAR = 285, 130 T_DISC = 286, 131 T_TRIANGLE = 287, 132 T_QUAD = 288, 133 T_COG = 289, 134 T_ERROR = 290, 135 NUMBER = 291, 136 COLOR = 292 136 137 }; 137 138 … … 313 314 314 315 /* Line 35 of lalr1.cc */ 315 #line 31 6"generated/easymesh-parser.h"316 #line 317 "generated/easymesh-parser.h" 316 317 317 318 -
trunk/src/generated/easymesh-scanner.cpp
r1512 r1619 331 331 (yy_c_buf_p) = yy_cp; 332 332 333 #define YY_NUM_RULES 4 3334 #define YY_END_OF_BUFFER 4 4333 #define YY_NUM_RULES 44 334 #define YY_END_OF_BUFFER 45 335 335 /* This struct is not used in this scanner, 336 336 but its presence is necessary. */ … … 340 340 flex_int32_t yy_nxt; 341 341 }; 342 static yyconst flex_int16_t yy_accept[7 0] =342 static yyconst flex_int16_t yy_accept[72] = 343 343 { 0, 344 0, 0, 44, 42, 41, 40, 42, 42, 37, 42, 345 36, 38, 39, 42, 42, 42, 42, 17, 7, 0, 346 0, 36, 36, 0, 22, 21, 28, 0, 0, 30, 347 26, 29, 3, 18, 19, 20, 8, 9, 10, 1, 348 14, 15, 16, 0, 4, 5, 6, 0, 0, 36, 349 31, 27, 0, 0, 0, 2, 11, 12, 13, 32, 350 24, 23, 25, 33, 0, 34, 0, 35, 0 344 0, 0, 45, 43, 42, 41, 43, 43, 38, 43, 345 37, 39, 40, 43, 43, 43, 43, 17, 7, 0, 346 0, 37, 37, 0, 22, 21, 29, 0, 0, 31, 347 27, 30, 3, 18, 19, 20, 8, 9, 10, 1, 348 14, 15, 16, 0, 4, 5, 6, 0, 0, 37, 349 0, 32, 28, 0, 0, 0, 2, 11, 12, 13, 350 33, 25, 24, 23, 26, 34, 0, 35, 0, 36, 351 0 351 352 } ; 352 353 … … 390 391 } ; 391 392 392 static yyconst flex_int16_t yy_base[ 78] =393 static yyconst flex_int16_t yy_base[80] = 393 394 { 0, 394 0, 0, 9 4, 95, 95, 95, 0, 22, 24, 85,395 26, 9 5, 95, 30, 73, 10, 13, 34, 37, 0,396 8 3, 50, 59, 45, 95, 72, 95, 65, 74, 95,397 5 5, 95, 95, 95, 95, 95, 95, 95, 95, 74,398 9 5, 95, 95, 44, 95, 95, 95, 0, 78, 77,399 95, 95, 71, 70, 63, 95, 95, 95, 95, 0,400 95, 95, 95, 0, 0, 0, 0, 95, 95, 79,401 78, 77, 76, 75, 72, 71, 54395 0, 0, 96, 97, 97, 97, 0, 22, 24, 87, 396 26, 97, 97, 30, 75, 10, 13, 34, 37, 0, 397 85, 50, 59, 45, 97, 58, 97, 68, 77, 97, 398 57, 97, 97, 97, 97, 97, 97, 97, 97, 77, 399 97, 97, 97, 46, 97, 97, 97, 0, 81, 80, 400 66, 97, 97, 73, 72, 65, 97, 97, 97, 97, 401 0, 97, 97, 97, 97, 0, 0, 0, 0, 97, 402 97, 81, 80, 79, 78, 77, 75, 67, 54 402 403 } ; 403 404 404 static yyconst flex_int16_t yy_def[ 78] =405 static yyconst flex_int16_t yy_def[80] = 405 406 { 0, 406 69, 1, 69, 69, 69, 69, 70, 69, 69, 69,407 69, 69, 69, 69, 69, 69, 69, 69, 69, 71,408 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,409 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,410 69, 69, 69, 69, 69, 69, 69, 72, 69, 69,411 69, 69, 69, 69, 69, 69, 69, 69, 69, 73,412 69, 69, 69, 74, 75, 76, 77, 69, 0, 69,413 69, 69, 69, 69, 69, 69, 69407 71, 1, 71, 71, 71, 71, 72, 71, 71, 71, 408 71, 71, 71, 71, 71, 71, 71, 71, 71, 73, 409 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 410 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 411 71, 71, 71, 71, 71, 71, 71, 74, 71, 71, 412 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 413 75, 71, 71, 71, 71, 76, 77, 78, 79, 71, 414 0, 71, 71, 71, 71, 71, 71, 71, 71 414 415 } ; 415 416 416 static yyconst flex_int16_t yy_nxt[12 4] =417 static yyconst flex_int16_t yy_nxt[126] = 417 418 { 0, 418 419 4, 5, 6, 7, 8, 9, 10, 11, 4, 12, … … 421 422 21, 22, 21, 22, 24, 34, 35, 36, 37, 38, 422 423 39, 24, 25, 26, 27, 28, 29, 40, 44, 49, 423 49, 30, 50, 31, 32, 68, 21, 22, 24, 41,424 42, 43, 45, 46, 47, 24, 23, 24, 54, 57,425 5 8, 59, 67, 66, 24, 55, 65, 64, 60, 48,426 20, 63, 62, 61, 50, 50, 56, 53, 52, 51,427 23, 33, 23, 69, 3, 69, 69, 69, 69, 69,428 429 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,430 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,431 69, 69, 69424 49, 30, 50, 31, 32, 70, 21, 22, 24, 41, 425 42, 43, 45, 46, 47, 24, 23, 24, 69, 51, 426 55, 58, 59, 60, 24, 52, 68, 56, 67, 66, 427 61, 48, 20, 65, 64, 63, 62, 50, 50, 57, 428 54, 53, 23, 33, 23, 71, 3, 71, 71, 71, 429 430 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 431 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 432 71, 71, 71, 71, 71 432 433 } ; 433 434 434 static yyconst flex_int16_t yy_chk[12 4] =435 static yyconst flex_int16_t yy_chk[126] = 435 436 { 0, 436 437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … … 439 440 9, 9, 11, 11, 11, 16, 16, 16, 17, 17, 440 441 17, 11, 14, 14, 14, 14, 14, 18, 19, 24, 441 24, 14, 24, 14, 14, 7 7, 22, 22, 22, 18,442 18, 18, 19, 19, 19, 22, 23, 23, 31, 44,443 44, 44, 76, 75, 23, 31, 74, 73, 72, 71,444 7 0, 55, 54, 53, 50, 49, 40, 29, 28, 26,445 2 1, 15, 10, 3, 69, 69, 69, 69, 69, 69,446 447 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,448 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,449 69, 69, 69442 24, 14, 24, 14, 14, 79, 22, 22, 22, 18, 443 18, 18, 19, 19, 19, 22, 23, 23, 78, 26, 444 31, 44, 44, 44, 23, 26, 77, 31, 76, 75, 445 74, 73, 72, 56, 55, 54, 51, 50, 49, 40, 446 29, 28, 21, 15, 10, 3, 71, 71, 71, 71, 447 448 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 449 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 450 71, 71, 71, 71, 71 450 451 } ; 451 452 … … 496 497 #define YY_NO_UNISTD_H 497 498 #define YY_USER_ACTION yylloc->columns(yyleng); 498 #line 499"generated/easymesh-scanner.cpp"499 #line 500 "generated/easymesh-scanner.cpp" 499 500 500 501 #define INITIAL 0 … … 609 610 610 611 611 #line 61 2"generated/easymesh-scanner.cpp"612 #line 613 "generated/easymesh-scanner.cpp" 612 613 613 614 if ( !(yy_init) ) … … 662 663 { 663 664 yy_current_state = (int) yy_def[yy_current_state]; 664 if ( yy_current_state >= 7 0)665 if ( yy_current_state >= 72 ) 665 666 yy_c = yy_meta[(unsigned int) yy_c]; 666 667 } … … 668 669 ++yy_cp; 669 670 } 670 while ( yy_current_state != 69);671 while ( yy_current_state != 71 ); 671 672 yy_cp = (yy_last_accepting_cpos); 672 673 yy_current_state = (yy_last_accepting_state); … … 811 812 YY_RULE_SETUP 812 813 #line 77 "easymesh/easymesh-scanner.l" 814 { return token::T_CAPSULE; } 815 YY_BREAK 816 case 26: 817 YY_RULE_SETUP 818 #line 78 "easymesh/easymesh-scanner.l" 813 819 { return token::T_SPHERE; } 814 820 YY_BREAK 815 case 2 6:816 YY_RULE_SETUP 817 #line 7 8"easymesh/easymesh-scanner.l"821 case 27: 822 YY_RULE_SETUP 823 #line 79 "easymesh/easymesh-scanner.l" 818 824 { return token::T_STAR; } 819 825 YY_BREAK 820 case 2 7:821 YY_RULE_SETUP 822 #line 79"easymesh/easymesh-scanner.l"826 case 28: 827 YY_RULE_SETUP 828 #line 80 "easymesh/easymesh-scanner.l" 823 829 { return token::T_EXPANDEDSTAR; } 824 830 YY_BREAK 825 case 2 8:826 YY_RULE_SETUP 827 #line 8 0"easymesh/easymesh-scanner.l"831 case 29: 832 YY_RULE_SETUP 833 #line 81 "easymesh/easymesh-scanner.l" 828 834 { return token::T_DISC; } 829 835 YY_BREAK 830 case 29:831 YY_RULE_SETUP 832 #line 8 1"easymesh/easymesh-scanner.l"836 case 30: 837 YY_RULE_SETUP 838 #line 82 "easymesh/easymesh-scanner.l" 833 839 { return token::T_TRIANGLE; } 834 840 YY_BREAK 835 case 3 0:836 YY_RULE_SETUP 837 #line 8 2"easymesh/easymesh-scanner.l"841 case 31: 842 YY_RULE_SETUP 843 #line 83 "easymesh/easymesh-scanner.l" 838 844 { return token::T_QUAD; } 839 845 YY_BREAK 840 case 3 1:841 YY_RULE_SETUP 842 #line 8 3"easymesh/easymesh-scanner.l"846 case 32: 847 YY_RULE_SETUP 848 #line 84 "easymesh/easymesh-scanner.l" 843 849 { return token::T_COG; } 844 850 YY_BREAK 845 case 3 2:846 YY_RULE_SETUP 847 #line 8 5"easymesh/easymesh-scanner.l"851 case 33: 852 YY_RULE_SETUP 853 #line 86 "easymesh/easymesh-scanner.l" 848 854 { 849 855 uint32_t tmp = std::strtol(yytext + 1, NULL, 16); … … 854 860 return token::COLOR; } 855 861 YY_BREAK 856 case 3 3:857 YY_RULE_SETUP 858 #line 9 2"easymesh/easymesh-scanner.l"862 case 34: 863 YY_RULE_SETUP 864 #line 93 "easymesh/easymesh-scanner.l" 859 865 { 860 866 uint32_t tmp = std::strtol(yytext + 1, NULL, 16); … … 865 871 return token::COLOR; } 866 872 YY_BREAK 867 case 3 4:868 YY_RULE_SETUP 869 #line 99"easymesh/easymesh-scanner.l"873 case 35: 874 YY_RULE_SETUP 875 #line 100 "easymesh/easymesh-scanner.l" 870 876 { 871 877 yylval->u32val = 0xffu … … 873 879 return token::COLOR; } 874 880 YY_BREAK 875 case 3 5:876 YY_RULE_SETUP 877 #line 10 3"easymesh/easymesh-scanner.l"881 case 36: 882 YY_RULE_SETUP 883 #line 104 "easymesh/easymesh-scanner.l" 878 884 { 879 885 yylval->u32val = (uint32_t)std::strtol(yytext + 1, NULL, 16); 880 886 return token::COLOR; } 881 887 YY_BREAK 882 case 3 6:883 YY_RULE_SETUP 884 #line 10 6"easymesh/easymesh-scanner.l"888 case 37: 889 YY_RULE_SETUP 890 #line 107 "easymesh/easymesh-scanner.l" 885 891 { 886 892 yylval->fval = std::atof(yytext); return token::NUMBER; } 887 893 YY_BREAK 888 case 3 7:889 YY_RULE_SETUP 890 #line 10 8"easymesh/easymesh-scanner.l"894 case 38: 895 YY_RULE_SETUP 896 #line 109 "easymesh/easymesh-scanner.l" 891 897 { return token_type('-'); } 892 898 YY_BREAK 893 case 3 8:894 YY_RULE_SETUP 895 #line 1 09"easymesh/easymesh-scanner.l"899 case 39: 900 YY_RULE_SETUP 901 #line 110 "easymesh/easymesh-scanner.l" 896 902 { return token_type('['); } 897 903 YY_BREAK 898 case 39:899 YY_RULE_SETUP 900 #line 11 0"easymesh/easymesh-scanner.l"904 case 40: 905 YY_RULE_SETUP 906 #line 111 "easymesh/easymesh-scanner.l" 901 907 { return token_type(']'); } 902 908 YY_BREAK 903 case 40:904 YY_RULE_SETUP905 #line 111 "easymesh/easymesh-scanner.l"906 { /* ignore this */ }907 YY_BREAK908 909 case 41: 909 /* rule 41 can match eol */910 910 YY_RULE_SETUP 911 911 #line 112 "easymesh/easymesh-scanner.l" … … 913 913 YY_BREAK 914 914 case 42: 915 /* rule 42 can match eol */ 915 916 YY_RULE_SETUP 916 917 #line 113 "easymesh/easymesh-scanner.l" 918 { /* ignore this */ } 919 YY_BREAK 920 case 43: 921 YY_RULE_SETUP 922 #line 114 "easymesh/easymesh-scanner.l" 917 923 { return token::T_ERROR; } 918 924 YY_BREAK 919 case 4 3:920 YY_RULE_SETUP 921 #line 11 5"easymesh/easymesh-scanner.l"925 case 44: 926 YY_RULE_SETUP 927 #line 116 "easymesh/easymesh-scanner.l" 922 928 ECHO; 923 929 YY_BREAK 924 #line 9 25"generated/easymesh-scanner.cpp"930 #line 931 "generated/easymesh-scanner.cpp" 925 931 case YY_STATE_EOF(INITIAL): 926 932 yyterminate(); … … 1304 1310 { 1305 1311 yy_current_state = (int) yy_def[yy_current_state]; 1306 if ( yy_current_state >= 7 0)1312 if ( yy_current_state >= 72 ) 1307 1313 yy_c = yy_meta[(unsigned int) yy_c]; 1308 1314 } … … 1332 1338 { 1333 1339 yy_current_state = (int) yy_def[yy_current_state]; 1334 if ( yy_current_state >= 7 0)1340 if ( yy_current_state >= 72 ) 1335 1341 yy_c = yy_meta[(unsigned int) yy_c]; 1336 1342 } 1337 1343 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1338 yy_is_jam = (yy_current_state == 69);1344 yy_is_jam = (yy_current_state == 71); 1339 1345 1340 1346 return yy_is_jam ? 0 : yy_current_state; … … 1823 1829 #define YYTABLES_NAME "yytables" 1824 1830 1825 #line 11 5"easymesh/easymesh-scanner.l"1831 #line 116 "easymesh/easymesh-scanner.l" 1826 1832 1827 1833 -
trunk/tutorial/05_easymesh.cpp
r1598 r1619 28 28 { 29 29 m_angle = 0; 30 m_mesh.Compile("sc#e94 scb#964 [acg10 5 8 8 2 2 0.1 0]"); 30 m_mesh.Compile("sc#e94 scb#964 [acap11 6 6 tx8]"); 31 m_mesh.Compile("sc#94e scb#649 [acap3 6 6 tx-8]"); 31 32 32 33 m_camera = new Camera(vec3(0.f, 600.f, 0.f),
Note: See TracChangeset
for help on using the changeset viewer.