Changeset 2407


Ignore:
Timestamp:
Feb 14, 2013, 1:25:24 AM (10 years ago)
Author:
touky
Message:

easymesh : Added SplitTriangles function to multiply triangles for triangle MADNESS !

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/easymesh/easymesh-parser.y

    r2406 r2407  
    4848%token T_TRANSLATEY T_ROTATEY T_TAPERY T_TWISTY T_SHEARY T_STRETCHY T_BENDYX T_BENDYZ T_SCALEY T_MIRRORY
    4949%token T_TRANSLATEZ T_ROTATEZ T_TAPERZ T_TWISTZ T_SHEARZ T_STRETCHZ T_BENDZX T_BENDZY T_SCALEZ T_MIRRORZ
    50 %token T_TRANSLATE T_SCALE T_TOGGLESCALEWINDING T_RADIALJITTER
     50%token T_TRANSLATE T_SCALE T_TOGGLESCALEWINDING T_RADIALJITTER T_SPLITTRIANGLE
    5151%token T_CSGUNION T_CSGSUBSTRACT T_CSGSUBSTRACTLOSS T_CSGAND T_CSGXOR
    5252%token T_CHAMFER
     
    158158  | T_MIRRORZ              { mc.m_mesh.MirrorZ(); }
    159159  | T_RADIALJITTER args1   { mc.m_mesh.RadialJitter($2.f0); }
     160  | T_SPLITTRIANGLE args1  { mc.m_mesh.SplitTriangles($2.f0); }
    160161  | T_TOGGLESCALEWINDING   { mc.m_mesh.ToggleScaleWinding(); }
    161162  | T_CSGUNION             { mc.m_mesh.CsgUnion(); }
  • trunk/src/easymesh/easymesh-scanner.l

    r2406 r2407  
    8787mz    { return token::T_MIRRORZ; }
    8888rj    { return token::T_RADIALJITTER; }
     89splt  { return token::T_SPLITTRIANGLE; }
    8990
    9091csgu  { return token::T_CSGUNION; }
  • trunk/src/easymesh/easymesh.cpp

    r2406 r2407  
    569569void EasyMesh::AddVertex(vec3 const &coord)
    570570{
    571 #if VERTEX_USEAGE == VU_BONES
     571    m_vert.Push(
     572        coord, vec3(0.f, 1.f, 0.f), m_color
     573#if VERTEX_USEAGE == VU_VANILLA
     574    //-- VANILLA --
     575#elif VERTEX_USEAGE == VU_BONES
    572576    //TODO : -- BONE SUPPORT --
    573     m_vert.Push(coord, vec3(0.f, 1.f, 0.f), m_color, ivec2(0), vec2(0));
     577        , ivec2(0), vec2(0)
    574578#elif VERTEX_USEAGE == VU_TEX_UV
    575579    //-- UV SUPPORT --
    576     m_vert.Push(coord, vec3(0.f, 1.f, 0.f), m_color, vec2(-1));
    577 #else
     580        , vec2(-1)
     581#endif
     582    );
     583}
     584
     585//-----------------------------------------------------------------------------
     586void EasyMesh::AddDuplicateVertex(int i)
     587{
     588    m_vert << m_vert[i];
     589}
     590
     591//-----------------------------------------------------------------------------
     592void EasyMesh::AddLerpVertex(int i, int j, float alpha)
     593{
     594    m_vert.Push(
     595        lol::lerp(m_vert[i].m1, m_vert[j].m1, alpha),
     596        lol::lerp(m_vert[i].m2, m_vert[j].m2, alpha),
     597        lol::lerp(m_vert[i].m3, m_vert[j].m3, alpha)
     598#if VERTEX_USEAGE == VU_VANILLA
    578599    //-- VANILLA --
    579     m_vert.Push(coord, vec3(0.f, 1.f, 0.f), m_color);
     600#elif VERTEX_USEAGE == VU_BONES
     601    //TODO : -- BONE SUPPORT --
     602        , lol::lerp(m_vert[i].m4, m_vert[j].m4, alpha),
     603        lol::lerp(m_vert[i].m5, m_vert[j].m5, alpha)
     604#elif VERTEX_USEAGE == VU_TEX_UV
     605    //-- UV SUPPORT --
     606        , lol::lerp(m_vert[i].m4, m_vert[j].m4, alpha)
    580607#endif
    581 }
    582 
    583 //-----------------------------------------------------------------------------
    584 void EasyMesh::AddDuplicateVertex(int i)
    585 {
    586     m_vert << m_vert[i];
     608    );
    587609}
    588610
     
    10501072}
    10511073
     1074//-----------------------------------------------------------------------------
     1075void EasyMesh::SplitTriangles(int pass)
     1076{
     1077    while (pass--)
     1078    {
     1079        int trimax = m_indices.Count();
     1080        for (int i = m_cursors.Last().m2; i < trimax; i += 3)
     1081        {
     1082            int vbase = m_vert.Count();
     1083            int j = -1;
     1084            while (++j < 3)
     1085                AddLerpVertex(m_indices[i + j], m_indices[i + (j + 1) % 3], .5f);
     1086            //Add new triangles
     1087            AppendTriangle(vbase, m_indices[i + 1], vbase + 1, 0);
     1088            AppendTriangle(vbase + 2, vbase + 1, m_indices[i + 2], 0);
     1089            AppendTriangle(vbase, vbase + 1, vbase + 2, 0);
     1090            //Change current triangle
     1091            m_indices[i + 1] = vbase;
     1092            m_indices[i + 2] = vbase + 2;
     1093        }
     1094    }
     1095    ComputeNormals(m_cursors.Last().m2, m_indices.Count() - m_cursors.Last().m2);
     1096}
    10521097//-----------------------------------------------------------------------------
    10531098void EasyMesh::AppendCylinder(int nsides, float h, float d1, float d2,
  • trunk/src/easymesh/easymesh.h

    r2406 r2407  
    157157    void AddVertex(vec3 const &coord);
    158158    void AddDuplicateVertex(int i);
     159    void AddLerpVertex(int i, int j, float alpha);
    159160    void AppendQuad(int i1, int i2, int i3, int i4, int base);
    160161    void AppendQuadDuplicateVerts(int i1, int i2, int i3, int i4, int base);
     
    271272        inline operator Value() { return m_value; }
    272273    };
    273 
    274274    void DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, int absolute);
    275275public:
     
    303303    //-------------------------------------------------------------------------
    304304
     305    /*
     306    */
     307    void SplitTriangles(int pass);
    305308    /* [cmd:ac] Cylinder centered on (0,0,0) with BBox [-.5*max(d1, d2), -.5*h, -.5*max(d1, d2)]
    306309        - nbsides : Number of sides.                   [+.5*max(d1, d2), +.5*h, +.5*max(d1, d2)]
  • trunk/src/generated/easymesh-parser.cpp

    r2406 r2407  
    764764/* Line 677 of lalr1.cc  */
    765765#line 160 "easymesh/easymesh-parser.y"
     766    { mc.m_mesh.SplitTriangles((yysemantic_stack_[(2) - (2)].args).f0); }
     767    break;
     768
     769  case 59:
     770
     771/* Line 677 of lalr1.cc  */
     772#line 161 "easymesh/easymesh-parser.y"
    766773    { mc.m_mesh.ToggleScaleWinding(); }
    767774    break;
    768775
    769   case 59:
    770 
    771 /* Line 677 of lalr1.cc  */
    772 #line 161 "easymesh/easymesh-parser.y"
     776  case 60:
     777
     778/* Line 677 of lalr1.cc  */
     779#line 162 "easymesh/easymesh-parser.y"
    773780    { mc.m_mesh.CsgUnion(); }
    774781    break;
    775782
    776   case 60:
    777 
    778 /* Line 677 of lalr1.cc  */
    779 #line 162 "easymesh/easymesh-parser.y"
     783  case 61:
     784
     785/* Line 677 of lalr1.cc  */
     786#line 163 "easymesh/easymesh-parser.y"
    780787    { mc.m_mesh.CsgSubstract(); }
    781788    break;
    782789
    783   case 61:
    784 
    785 /* Line 677 of lalr1.cc  */
    786 #line 163 "easymesh/easymesh-parser.y"
     790  case 62:
     791
     792/* Line 677 of lalr1.cc  */
     793#line 164 "easymesh/easymesh-parser.y"
    787794    { mc.m_mesh.CsgSubstractLoss(); }
    788795    break;
    789796
    790   case 62:
    791 
    792 /* Line 677 of lalr1.cc  */
    793 #line 164 "easymesh/easymesh-parser.y"
     797  case 63:
     798
     799/* Line 677 of lalr1.cc  */
     800#line 165 "easymesh/easymesh-parser.y"
    794801    { mc.m_mesh.CsgAnd(); }
    795802    break;
    796803
    797   case 63:
    798 
    799 /* Line 677 of lalr1.cc  */
    800 #line 165 "easymesh/easymesh-parser.y"
     804  case 64:
     805
     806/* Line 677 of lalr1.cc  */
     807#line 166 "easymesh/easymesh-parser.y"
    801808    { mc.m_mesh.CsgXor(); }
    802809    break;
    803810
    804   case 64:
    805 
    806 /* Line 677 of lalr1.cc  */
    807 #line 169 "easymesh/easymesh-parser.y"
     811  case 65:
     812
     813/* Line 677 of lalr1.cc  */
     814#line 170 "easymesh/easymesh-parser.y"
    808815    { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    809816                                                 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3,
     
    811818    break;
    812819
    813   case 65:
    814 
    815 /* Line 677 of lalr1.cc  */
    816 #line 172 "easymesh/easymesh-parser.y"
     820  case 66:
     821
     822/* Line 677 of lalr1.cc  */
     823#line 173 "easymesh/easymesh-parser.y"
    817824    { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    818825                                                 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3,
     
    820827    break;
    821828
    822   case 66:
    823 
    824 /* Line 677 of lalr1.cc  */
    825 #line 175 "easymesh/easymesh-parser.y"
     829  case 67:
     830
     831/* Line 677 of lalr1.cc  */
     832#line 176 "easymesh/easymesh-parser.y"
    826833    { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }
    827834    break;
    828835
    829   case 67:
    830 
    831 /* Line 677 of lalr1.cc  */
    832 #line 176 "easymesh/easymesh-parser.y"
     836  case 68:
     837
     838/* Line 677 of lalr1.cc  */
     839#line 177 "easymesh/easymesh-parser.y"
    833840    { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    834841                                                            (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); }
    835842    break;
    836843
    837   case 68:
    838 
    839 /* Line 677 of lalr1.cc  */
    840 #line 178 "easymesh/easymesh-parser.y"
     844  case 69:
     845
     846/* Line 677 of lalr1.cc  */
     847#line 179 "easymesh/easymesh-parser.y"
    841848    { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    842849                                                          (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); }
    843850    break;
    844851
    845   case 69:
    846 
    847 /* Line 677 of lalr1.cc  */
    848 #line 180 "easymesh/easymesh-parser.y"
     852  case 70:
     853
     854/* Line 677 of lalr1.cc  */
     855#line 181 "easymesh/easymesh-parser.y"
    849856    { mc.m_mesh.AppendSphere((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
    850857    break;
    851858
    852   case 70:
    853 
    854 /* Line 677 of lalr1.cc  */
    855 #line 181 "easymesh/easymesh-parser.y"
     859  case 71:
     860
     861/* Line 677 of lalr1.cc  */
     862#line 182 "easymesh/easymesh-parser.y"
    856863    { mc.m_mesh.AppendCapsule((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    857864    break;
    858865
    859   case 71:
    860 
    861 /* Line 677 of lalr1.cc  */
    862 #line 182 "easymesh/easymesh-parser.y"
     866  case 72:
     867
     868/* Line 677 of lalr1.cc  */
     869#line 183 "easymesh/easymesh-parser.y"
    863870    { mc.m_mesh.AppendTorus((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    864871    break;
    865872
    866   case 72:
    867 
    868 /* Line 677 of lalr1.cc  */
    869 #line 183 "easymesh/easymesh-parser.y"
     873  case 73:
     874
     875/* Line 677 of lalr1.cc  */
     876#line 184 "easymesh/easymesh-parser.y"
    870877    { mc.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2,
    871878                                             (int)(yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4); }
    872879    break;
    873880
    874   case 73:
    875 
    876 /* Line 677 of lalr1.cc  */
    877 #line 185 "easymesh/easymesh-parser.y"
     881  case 74:
     882
     883/* Line 677 of lalr1.cc  */
     884#line 186 "easymesh/easymesh-parser.y"
    878885    { mc.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    879886                                                     (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
    880887    break;
    881888
    882   case 74:
    883 
    884 /* Line 677 of lalr1.cc  */
    885 #line 187 "easymesh/easymesh-parser.y"
     889  case 75:
     890
     891/* Line 677 of lalr1.cc  */
     892#line 188 "easymesh/easymesh-parser.y"
    886893    { mc.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); }
    887894    break;
    888895
    889   case 75:
    890 
    891 /* Line 677 of lalr1.cc  */
    892 #line 188 "easymesh/easymesh-parser.y"
     896  case 76:
     897
     898/* Line 677 of lalr1.cc  */
     899#line 189 "easymesh/easymesh-parser.y"
    893900    { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }
    894901    break;
    895902
    896   case 76:
    897 
    898 /* Line 677 of lalr1.cc  */
    899 #line 189 "easymesh/easymesh-parser.y"
     903  case 77:
     904
     905/* Line 677 of lalr1.cc  */
     906#line 190 "easymesh/easymesh-parser.y"
    900907    { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }
    901908    break;
    902909
    903   case 77:
    904 
    905 /* Line 677 of lalr1.cc  */
    906 #line 190 "easymesh/easymesh-parser.y"
     910  case 78:
     911
     912/* Line 677 of lalr1.cc  */
     913#line 191 "easymesh/easymesh-parser.y"
    907914    { mc.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    908915                                 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, (yysemantic_stack_[(2) - (2)].args).f4, (yysemantic_stack_[(2) - (2)].args).f5, (yysemantic_stack_[(2) - (2)].args).f6,
     
    910917    break;
    911918
    912   case 78:
    913 
    914 /* Line 677 of lalr1.cc  */
    915 #line 195 "easymesh/easymesh-parser.y"
     919  case 79:
     920
     921/* Line 677 of lalr1.cc  */
     922#line 196 "easymesh/easymesh-parser.y"
    916923    { (yyval.args).f0 = (yysemantic_stack_[(1) - (1)].fval); }
    917924    break;
    918925
    919   case 79:
    920 
    921 /* Line 677 of lalr1.cc  */
    922 #line 196 "easymesh/easymesh-parser.y"
     926  case 80:
     927
     928/* Line 677 of lalr1.cc  */
     929#line 197 "easymesh/easymesh-parser.y"
    923930    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f1 = (yysemantic_stack_[(2) - (2)].fval); }
    924931    break;
    925932
    926   case 80:
    927 
    928 /* Line 677 of lalr1.cc  */
    929 #line 197 "easymesh/easymesh-parser.y"
     933  case 81:
     934
     935/* Line 677 of lalr1.cc  */
     936#line 198 "easymesh/easymesh-parser.y"
    930937    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f2 = (yysemantic_stack_[(2) - (2)].fval); }
    931938    break;
    932939
    933   case 81:
    934 
    935 /* Line 677 of lalr1.cc  */
    936 #line 198 "easymesh/easymesh-parser.y"
     940  case 82:
     941
     942/* Line 677 of lalr1.cc  */
     943#line 199 "easymesh/easymesh-parser.y"
    937944    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f3 = (yysemantic_stack_[(2) - (2)].fval); }
    938945    break;
    939946
    940   case 82:
    941 
    942 /* Line 677 of lalr1.cc  */
    943 #line 199 "easymesh/easymesh-parser.y"
     947  case 83:
     948
     949/* Line 677 of lalr1.cc  */
     950#line 200 "easymesh/easymesh-parser.y"
    944951    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f4 = (yysemantic_stack_[(2) - (2)].fval); }
    945952    break;
    946953
    947   case 83:
    948 
    949 /* Line 677 of lalr1.cc  */
    950 #line 200 "easymesh/easymesh-parser.y"
     954  case 84:
     955
     956/* Line 677 of lalr1.cc  */
     957#line 201 "easymesh/easymesh-parser.y"
    951958    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f5 = (yysemantic_stack_[(2) - (2)].fval); }
    952959    break;
    953960
    954   case 84:
    955 
    956 /* Line 677 of lalr1.cc  */
    957 #line 201 "easymesh/easymesh-parser.y"
     961  case 85:
     962
     963/* Line 677 of lalr1.cc  */
     964#line 202 "easymesh/easymesh-parser.y"
    958965    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f6 = (yysemantic_stack_[(2) - (2)].fval); }
    959966    break;
    960967
    961   case 85:
    962 
    963 /* Line 677 of lalr1.cc  */
    964 #line 202 "easymesh/easymesh-parser.y"
     968  case 86:
     969
     970/* Line 677 of lalr1.cc  */
     971#line 203 "easymesh/easymesh-parser.y"
    965972    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f7 = (yysemantic_stack_[(2) - (2)].fval); }
    966973    break;
    967974
    968   case 86:
    969 
    970 /* Line 677 of lalr1.cc  */
    971 #line 203 "easymesh/easymesh-parser.y"
     975  case 87:
     976
     977/* Line 677 of lalr1.cc  */
     978#line 204 "easymesh/easymesh-parser.y"
    972979    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f8 = (yysemantic_stack_[(2) - (2)].fval); }
    973980    break;
    974981
    975   case 87:
    976 
    977 /* Line 677 of lalr1.cc  */
    978 #line 204 "easymesh/easymesh-parser.y"
     982  case 88:
     983
     984/* Line 677 of lalr1.cc  */
     985#line 205 "easymesh/easymesh-parser.y"
    979986    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f9 = (yysemantic_stack_[(2) - (2)].fval); }
    980987    break;
    981988
    982   case 88:
    983 
    984 /* Line 677 of lalr1.cc  */
    985 #line 207 "easymesh/easymesh-parser.y"
     989  case 89:
     990
     991/* Line 677 of lalr1.cc  */
     992#line 208 "easymesh/easymesh-parser.y"
    986993    { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); }
    987994    break;
    988995
    989   case 89:
    990 
    991 /* Line 677 of lalr1.cc  */
    992 #line 208 "easymesh/easymesh-parser.y"
     996  case 90:
     997
     998/* Line 677 of lalr1.cc  */
     999#line 209 "easymesh/easymesh-parser.y"
    9931000    { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); }
    9941001    break;
     
    9971004
    9981005/* Line 677 of lalr1.cc  */
    999 #line 1000 "generated/easymesh-parser.cpp"
     1006#line 1007 "generated/easymesh-parser.cpp"
    10001007        default:
    10011008          break;
     
    12021209  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    12031210     STATE-NUM.  */
    1204   const signed char EasyMeshParser::yypact_ninf_ = -69;
     1211  const signed char EasyMeshParser::yypact_ninf_ = -70;
    12051212  const signed char
    12061213  EasyMeshParser::yypact_[] =
    12071214  {
    1208         60,   -40,   -23,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
    1209      -47,   -47,   -69,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
    1210      -47,   -47,   -69,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
    1211      -47,   -47,   -69,   -47,   -47,   -69,   -47,   -69,   -69,   -69,
    1212      -69,   -69,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
    1213      -47,   -47,   -47,   -47,   -47,   -47,   -69,     4,     6,    60,
    1214       60,   119,   -69,   -69,   -69,   -69,   -69,   -69,   -47,   -47,
    1215      -47,   -47,   -69,   -69,   -69,   -69,   -69,   -69,   -47,   -69,
    1216      -69,   -47,   -69,   -69,   -69,   -69,   -69,   -69,   -69,   -47,
    1217      -69,   -69,   -47,   -69,   -69,   -69,   -69,   -69,   -69,   -69,
    1218      -47,   -69,   -69,   -47,   -69,   -69,   -69,   -69,   -69,   -69,
    1219      -69,   -69,   -69,   -47,   -47,   -47,   -69,   -69,   -69,   -69,
    1220      -69,   -69,   -69,   -69,   -69,   -69,   -69,   -47,   -47,   -47,
    1221      -47,   -69,   -69,   -69,   -69,   -69,   -53,   -69,   -69,   -69,
    1222      -69,   -69,   -69,   -69,   -69,   -69,   -69,   -69,   -69,   -69
     1215        61,   -41,   -24,   -48,   -48,   -48,   -48,   -48,   -48,   -48,
     1216     -48,   -48,   -70,   -48,   -48,   -48,   -48,   -48,   -48,   -48,
     1217     -48,   -48,   -70,   -48,   -48,   -48,   -48,   -48,   -48,   -48,
     1218     -48,   -48,   -70,   -48,   -48,   -70,   -48,   -48,   -70,   -70,
     1219     -70,   -70,   -70,   -48,   -48,   -48,   -48,   -48,   -48,   -48,
     1220     -48,   -48,   -48,   -48,   -48,   -48,   -48,   -70,     4,     6,
     1221      61,    61,   121,   -70,   -70,   -70,   -70,   -70,   -70,   -48,
     1222     -48,   -48,   -48,   -70,   -70,   -70,   -70,   -70,   -70,   -48,
     1223     -70,   -70,   -48,   -70,   -70,   -70,   -70,   -70,   -70,   -70,
     1224     -48,   -70,   -70,   -48,   -70,   -70,   -70,   -70,   -70,   -70,
     1225     -70,   -48,   -70,   -70,   -48,   -70,   -70,   -70,   -70,   -70,
     1226     -70,   -70,   -70,   -70,   -70,   -48,   -48,   -48,   -70,   -70,
     1227     -70,   -70,   -70,   -70,   -70,   -70,   -70,   -70,   -70,   -48,
     1228     -48,   -48,   -48,   -70,   -70,   -70,   -70,   -70,   -54,   -70,
     1229     -70,   -70,   -70,   -70,   -70,   -70,   -70,   -70,   -70,   -70,
     1230     -70,   -70
    12231231  };
    12241232
     
    12321240       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
    12331241       0,     0,    55,     0,     0,     0,     0,     0,     0,     0,
    1234        0,     0,    56,     0,     0,    58,     0,    59,    60,    61,
    1235       62,    63,     0,     0,     0,     0,     0,     0,     0,     0,
    1236        0,     0,     0,     0,     0,     0,     7,     0,     0,     3,
    1237        0,     5,     9,    11,    12,    13,    88,    15,     0,     0,
    1238        0,     0,    14,    78,    17,    16,    19,    23,    26,    27,
    1239       32,    35,    36,    41,    44,    45,    50,    20,    24,    28,
    1240       29,    33,    37,    38,    42,    46,    47,    51,    21,    25,
    1241       30,    31,    34,    39,    40,    43,    48,    49,    52,    22,
    1242       53,    57,    18,     0,     0,    64,    65,    66,    67,    68,
    1243       69,    70,    72,    73,    74,    75,    76,     0,     0,     0,
    1244        0,    77,    71,     1,     2,     4,     0,    10,    89,    79,
    1245       80,    81,    82,    83,    84,    85,    86,    87,     8,     6
     1242       0,     0,    56,     0,     0,    59,     0,     0,    60,    61,
     1243      62,    63,    64,     0,     0,     0,     0,     0,     0,     0,
     1244       0,     0,     0,     0,     0,     0,     0,     7,     0,     0,
     1245       3,     0,     5,     9,    11,    12,    13,    89,    15,     0,
     1246       0,     0,     0,    14,    79,    17,    16,    19,    23,    26,
     1247      27,    32,    35,    36,    41,    44,    45,    50,    20,    24,
     1248      28,    29,    33,    37,    38,    42,    46,    47,    51,    21,
     1249      25,    30,    31,    34,    39,    40,    43,    48,    49,    52,
     1250      22,    53,    57,    58,    18,     0,     0,    65,    66,    67,
     1251      68,    69,    70,    71,    73,    74,    75,    76,    77,     0,
     1252       0,     0,     0,    78,    72,     1,     2,     4,     0,    10,
     1253      90,    80,    81,    82,    83,    84,    85,    86,    87,    88,
     1254       8,     6
    12461255  };
    12471256
     
    12501259  EasyMeshParser::yypgoto_[] =
    12511260  {
    1252        -69,   -69,   -30,   -69,   -69,   -69,   -69,   -50,   -69,   -69,
    1253      -69,   224,   178,     0,   176,   -35,   -32,   -28,   -69,   -69,
    1254      -69,   -68
     1261       -70,   -70,   -31,   -70,   -70,   -70,   -70,   -51,   -70,   -70,
     1262     -70,   228,   181,     0,   179,   -36,   -33,   -29,   -70,   -70,
     1263     -70,   -69
    12551264  };
    12561265
     
    12591268  EasyMeshParser::yydefgoto_[] =
    12601269  {
    1261         -1,    57,    58,    59,    60,   149,    61,    62,    63,    64,
    1262       65,    69,    70,    71,   113,   114,   115,   116,   129,   130,
    1263      131,    73
     1270        -1,    58,    59,    60,    61,   151,    62,    63,    64,    65,
     1271      66,    70,    71,    72,   115,   116,   117,   118,   131,   132,
     1272     133,    74
    12641273  };
    12651274
     
    12711280  EasyMeshParser::yytable_[] =
    12721281  {
    1273        138,   139,   140,   141,   133,    78,   134,    81,    83,   148,
    1274      141,   137,    66,   141,   122,    89,    68,    92,    94,    66,
    1275       67,   141,   127,    68,   141,   100,   128,   103,   105,   135,
    1276      136,     0,   141,   109,   110,   141,    66,    74,     0,     0,
    1277       68,     0,     0,     0,   117,   142,   143,   144,   121,     0,
    1278        0,   124,     0,     0,     0,   132,     0,     0,     0,   144,
    1279      145,   146,   147,     1,     2,     3,     4,     5,     6,     7,
    1280        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    1281       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    1282       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
    1283       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
    1284       48,    49,    50,    51,    52,    53,    54,    55,     0,     0,
    1285        0,    56,     1,     2,     3,     4,     5,     6,     7,     8,
     1282       140,   141,   142,   143,   135,    79,   136,    82,    84,   150,
     1283     143,   139,    67,   143,   124,    90,    69,    93,    95,    67,
     1284      68,   143,   129,    69,   143,   101,   130,   104,   106,   137,
     1285     138,     0,   143,   110,   111,   143,    67,    75,     0,     0,
     1286      69,     0,     0,     0,     0,   119,   144,   145,   146,   123,
     1287       0,     0,   126,     0,     0,     0,   134,     0,     0,     0,
     1288     146,   147,   148,   149,     1,     2,     3,     4,     5,     6,
     1289       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     1290      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     1291      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
     1292      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
     1293      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
     1294       0,     0,     0,    57,     1,     2,     3,     4,     5,     6,
     1295       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     1296      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     1297      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
     1298      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
     1299      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
     1300      73,    76,     0,     0,    80,     0,    83,    81,     0,     0,
     1301      85,    86,     0,     0,    91,     0,    94,    92,     0,     0,
     1302      96,    97,     0,     0,   102,     0,   105,   103,     0,     0,
     1303     107,   108,     0,     0,     0,     0,     0,     0,     0,     0,
     1304       0,     0,     0,     0,     0,   120,   121,     0,     0,   122,
     1305     125,    77,    78,     0,   127,   128,     0,     0,     0,    87,
     1306       0,    88,    89,     0,     0,     0,     0,     0,     0,    98,
     1307       0,    99,   100,     0,     0,     0,     0,     0,     0,   109,
     1308       0,     0,     0,     0,   112,   113,     0,     0,     0,     0,
     1309       0,   114
     1310  };
     1311
     1312  /* YYCHECK.  */
     1313  const short int
     1314  EasyMeshParser::yycheck_[] =
     1315  {
     1316        69,    70,    71,    72,     0,     5,     0,     7,     8,    63,
     1317      79,    62,    60,    82,    50,    15,    64,    17,    18,    60,
     1318      61,    90,    55,    64,    93,    25,    55,    27,    28,    60,
     1319      61,    -1,   101,    33,    34,   104,    60,    61,    -1,    -1,
     1320      64,    -1,    -1,    -1,    -1,    45,   115,   116,   117,    49,
     1321      -1,    -1,    52,    -1,    -1,    -1,    56,    -1,    -1,    -1,
     1322     129,   130,   131,   132,     3,     4,     5,     6,     7,     8,
    12861323       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    12871324      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    12881325      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    12891326      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
    1290       49,    50,    51,    52,    53,    54,    55,    72,    75,     0,
    1291        0,    79,     0,    82,    80,     0,     0,    84,    85,     0,
    1292        0,    90,     0,    93,    91,     0,     0,    95,    96,     0,
    1293        0,   101,     0,   104,   102,     0,     0,   106,   107,     0,
    1294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1295        0,   118,   119,     0,     0,   120,   123,    76,    77,     0,
    1296      125,   126,     0,     0,     0,    86,     0,    87,    88,     0,
    1297        0,     0,     0,     0,     0,    97,     0,    98,    99,     0,
    1298        0,     0,     0,     0,     0,   108,     0,     0,     0,     0,
    1299      111,     0,     0,     0,     0,     0,   112
    1300   };
    1301 
    1302   /* YYCHECK.  */
    1303   const short int
    1304   EasyMeshParser::yycheck_[] =
    1305   {
    1306         68,    69,    70,    71,     0,     5,     0,     7,     8,    62,
    1307       78,    61,    59,    81,    49,    15,    63,    17,    18,    59,
    1308       60,    89,    54,    63,    92,    25,    54,    27,    28,    59,
    1309       60,    -1,   100,    33,    34,   103,    59,    60,    -1,    -1,
    1310       63,    -1,    -1,    -1,    44,   113,   114,   115,    48,    -1,
    1311       -1,    51,    -1,    -1,    -1,    55,    -1,    -1,    -1,   127,
    1312      128,   129,   130,     3,     4,     5,     6,     7,     8,     9,
    1313       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    1314       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    1315       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    1316       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    1317       50,    51,    52,    53,    54,    55,    56,    57,    -1,    -1,
    1318       -1,    61,     3,     4,     5,     6,     7,     8,     9,    10,
    1319       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    1320       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
    1321       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
    1322       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
    1323       51,    52,    53,    54,    55,    56,    57,     1,     2,    -1,
    1324       -1,     5,    -1,     7,     6,    -1,    -1,     9,    10,    -1,
    1325       -1,    15,    -1,    17,    16,    -1,    -1,    19,    20,    -1,
    1326       -1,    25,    -1,    27,    26,    -1,    -1,    29,    30,    -1,
    1327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1328       -1,    45,    46,    -1,    -1,    47,    50,     3,     4,    -1,
    1329       52,    53,    -1,    -1,    -1,    11,    -1,    13,    14,    -1,
    1330       -1,    -1,    -1,    -1,    -1,    21,    -1,    23,    24,    -1,
    1331       -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,
    1332       36,    -1,    -1,    -1,    -1,    -1,    42
     1327      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     1328      -1,    -1,    -1,    62,     3,     4,     5,     6,     7,     8,
     1329       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     1330      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     1331      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     1332      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
     1333      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
     1334       1,     2,    -1,    -1,     5,    -1,     7,     6,    -1,    -1,
     1335       9,    10,    -1,    -1,    15,    -1,    17,    16,    -1,    -1,
     1336      19,    20,    -1,    -1,    25,    -1,    27,    26,    -1,    -1,
     1337      29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     1338      -1,    -1,    -1,    -1,    -1,    46,    47,    -1,    -1,    48,
     1339      51,     3,     4,    -1,    53,    54,    -1,    -1,    -1,    11,
     1340      -1,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    21,
     1341      -1,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    31,
     1342      -1,    -1,    -1,    -1,    36,    37,    -1,    -1,    -1,    -1,
     1343      -1,    43
    13331344  };
    13341345
     
    13431354      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
    13441355      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    1345       52,    53,    54,    55,    56,    57,    61,    65,    66,    67,
    1346       68,    70,    71,    72,    73,    74,    59,    60,    63,    75,
    1347       76,    77,    78,    85,    60,    78,    75,    75,    77,    78,
    1348       76,    77,    78,    77,    76,    76,    75,    75,    75,    77,
    1349       78,    76,    77,    78,    77,    76,    76,    75,    75,    75,
    1350       77,    78,    76,    77,    78,    77,    76,    76,    75,    77,
    1351       77,    75,    75,    78,    79,    80,    81,    77,    78,    78,
    1352       76,    77,    79,    78,    77,    76,    76,    80,    81,    82,
    1353       83,    84,    77,     0,     0,    66,    66,    71,    85,    85,
    1354       85,    85,    85,    85,    85,    85,    85,    85,    62,    69
     1356      52,    53,    54,    55,    56,    57,    58,    62,    66,    67,
     1357      68,    69,    71,    72,    73,    74,    75,    60,    61,    64,
     1358      76,    77,    78,    79,    86,    61,    79,    76,    76,    78,
     1359      79,    77,    78,    79,    78,    77,    77,    76,    76,    76,
     1360      78,    79,    77,    78,    79,    78,    77,    77,    76,    76,
     1361      76,    78,    79,    77,    78,    79,    78,    77,    77,    76,
     1362      78,    78,    76,    76,    76,    79,    80,    81,    82,    78,
     1363      79,    79,    77,    78,    80,    79,    78,    77,    77,    81,
     1364      82,    83,    84,    85,    78,     0,     0,    67,    67,    72,
     1365      86,    86,    86,    86,    86,    86,    86,    86,    86,    86,
     1366      63,    70
    13551367  };
    13561368
     
    13671379     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    13681380     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    1369      315,    91,    93,    45
     1381     315,   316,    91,    93,    45
    13701382  };
    13711383#endif
     
    13751387  EasyMeshParser::yyr1_[] =
    13761388  {
    1377          0,    64,    65,    66,    66,    67,    67,    68,    69,    70,
    1378       70,    71,    71,    71,    72,    72,    72,    72,    73,    73,
    1379       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
    1380       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
    1381       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
    1382       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
    1383       73,    73,    73,    73,    74,    74,    74,    74,    74,    74,
    1384       74,    74,    74,    74,    74,    74,    74,    74,    75,    76,
    1385       77,    78,    79,    80,    81,    82,    83,    84,    85,    85
     1389         0,    65,    66,    67,    67,    68,    68,    69,    70,    71,
     1390      71,    72,    72,    72,    73,    73,    73,    73,    74,    74,
     1391      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
     1392      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
     1393      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
     1394      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
     1395      74,    74,    74,    74,    74,    75,    75,    75,    75,    75,
     1396      75,    75,    75,    75,    75,    75,    75,    75,    75,    76,
     1397      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
     1398      86
    13861399  };
    13871400
     
    13951408       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    13961409       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1397        2,     2,     2,     2,     1,     1,     1,     2,     1,     1,
    1398        1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
    1399        2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
    1400        2,     2,     2,     2,     2,     2,     2,     2,     1,     2
     1410       2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
     1411       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
     1412       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
     1413       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
     1414       2
    14011415  };
    14021416
     
    14141428  "T_ROTATEZ", "T_TAPERZ", "T_TWISTZ", "T_SHEARZ", "T_STRETCHZ",
    14151429  "T_BENDZX", "T_BENDZY", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE",
    1416   "T_SCALE", "T_TOGGLESCALEWINDING", "T_RADIALJITTER", "T_CSGUNION",
    1417   "T_CSGSUBSTRACT", "T_CSGSUBSTRACTLOSS", "T_CSGAND", "T_CSGXOR",
    1418   "T_CHAMFER", "T_CYLINDER", "T_BOX", "T_SMOOTHCHAMFBOX", "T_FLATCHAMFBOX",
    1419   "T_SPHERE", "T_CAPSULE", "T_STAR", "T_EXPANDEDSTAR", "T_DISC",
    1420   "T_TRIANGLE", "T_QUAD", "T_COG", "T_TORUS", "T_ERROR", "NUMBER", "COLOR",
    1421   "'['", "']'", "'-'", "$accept", "mesh_description",
     1430  "T_SCALE", "T_TOGGLESCALEWINDING", "T_RADIALJITTER", "T_SPLITTRIANGLE",
     1431  "T_CSGUNION", "T_CSGSUBSTRACT", "T_CSGSUBSTRACTLOSS", "T_CSGAND",
     1432  "T_CSGXOR", "T_CHAMFER", "T_CYLINDER", "T_BOX", "T_SMOOTHCHAMFBOX",
     1433  "T_FLATCHAMFBOX", "T_SPHERE", "T_CAPSULE", "T_STAR", "T_EXPANDEDSTAR",
     1434  "T_DISC", "T_TRIANGLE", "T_QUAD", "T_COG", "T_TORUS", "T_ERROR",
     1435  "NUMBER", "COLOR", "'['", "']'", "'-'", "$accept", "mesh_description",
    14221436  "mesh_expression_list", "mesh_expression", "mesh_open", "mesh_close",
    14231437  "mesh_command_list", "mesh_command", "color_command",
     
    14321446  EasyMeshParser::yyrhs_[] =
    14331447  {
    1434         65,     0,    -1,    66,     0,    -1,    67,    -1,    67,    66,
    1435       -1,    70,    -1,    68,    66,    69,    -1,    61,    -1,    62,
    1436       -1,    71,    -1,    70,    71,    -1,    72,    -1,    73,    -1,
    1437       74,    -1,     3,    78,    -1,     3,    60,    -1,     4,    78,
    1438       -1,     4,    60,    -1,    44,    75,    -1,     5,    75,    -1,
    1439       15,    75,    -1,    25,    75,    -1,    35,    77,    -1,     6,
    1440       75,    -1,    16,    75,    -1,    26,    75,    -1,     7,    77,
    1441       -1,     7,    78,    -1,    17,    77,    -1,    17,    78,    -1,
    1442       27,    77,    -1,    27,    78,    -1,     8,    76,    -1,    18,
    1443       76,    -1,    28,    76,    -1,     9,    77,    -1,     9,    78,
    1444       -1,    19,    77,    -1,    19,    78,    -1,    29,    77,    -1,
    1445       29,    78,    -1,    10,    77,    -1,    20,    77,    -1,    30,
    1446       77,    -1,    11,    76,    -1,    12,    76,    -1,    21,    76,
    1447       -1,    22,    76,    -1,    31,    76,    -1,    32,    76,    -1,
    1448       13,    75,    -1,    23,    75,    -1,    33,    75,    -1,    36,
    1449       77,    -1,    14,    -1,    24,    -1,    34,    -1,    38,    75,
    1450       -1,    37,    -1,    39,    -1,    40,    -1,    41,    -1,    42,
    1451       -1,    43,    -1,    45,    80,    -1,    45,    81,    -1,    46,
    1452       77,    -1,    47,    78,    -1,    48,    78,    -1,    49,    76,
    1453       -1,    50,    77,    -1,    57,    77,    -1,    51,    79,    -1,
    1454       52,    78,    -1,    53,    77,    -1,    54,    76,    -1,    55,
    1455       76,    -1,    56,    84,    -1,    85,    -1,    75,    85,    -1,
    1456       76,    85,    -1,    77,    85,    -1,    78,    85,    -1,    79,
    1457       85,    -1,    80,    85,    -1,    81,    85,    -1,    82,    85,
    1458       -1,    83,    85,    -1,    59,    -1,    63,    85,    -1
     1448        66,     0,    -1,    67,     0,    -1,    68,    -1,    68,    67,
     1449      -1,    71,    -1,    69,    67,    70,    -1,    62,    -1,    63,
     1450      -1,    72,    -1,    71,    72,    -1,    73,    -1,    74,    -1,
     1451      75,    -1,     3,    79,    -1,     3,    61,    -1,     4,    79,
     1452      -1,     4,    61,    -1,    45,    76,    -1,     5,    76,    -1,
     1453      15,    76,    -1,    25,    76,    -1,    35,    78,    -1,     6,
     1454      76,    -1,    16,    76,    -1,    26,    76,    -1,     7,    78,
     1455      -1,     7,    79,    -1,    17,    78,    -1,    17,    79,    -1,
     1456      27,    78,    -1,    27,    79,    -1,     8,    77,    -1,    18,
     1457      77,    -1,    28,    77,    -1,     9,    78,    -1,     9,    79,
     1458      -1,    19,    78,    -1,    19,    79,    -1,    29,    78,    -1,
     1459      29,    79,    -1,    10,    78,    -1,    20,    78,    -1,    30,
     1460      78,    -1,    11,    77,    -1,    12,    77,    -1,    21,    77,
     1461      -1,    22,    77,    -1,    31,    77,    -1,    32,    77,    -1,
     1462      13,    76,    -1,    23,    76,    -1,    33,    76,    -1,    36,
     1463      78,    -1,    14,    -1,    24,    -1,    34,    -1,    38,    76,
     1464      -1,    39,    76,    -1,    37,    -1,    40,    -1,    41,    -1,
     1465      42,    -1,    43,    -1,    44,    -1,    46,    81,    -1,    46,
     1466      82,    -1,    47,    78,    -1,    48,    79,    -1,    49,    79,
     1467      -1,    50,    77,    -1,    51,    78,    -1,    58,    78,    -1,
     1468      52,    80,    -1,    53,    79,    -1,    54,    78,    -1,    55,
     1469      77,    -1,    56,    77,    -1,    57,    85,    -1,    86,    -1,
     1470      76,    86,    -1,    77,    86,    -1,    78,    86,    -1,    79,
     1471      86,    -1,    80,    86,    -1,    81,    86,    -1,    82,    86,
     1472      -1,    83,    86,    -1,    84,    86,    -1,    60,    -1,    64,
     1473      86,    -1
    14591474  };
    14601475
     
    14691484      80,    83,    86,    89,    92,    95,    98,   101,   104,   107,
    14701485     110,   113,   116,   119,   122,   125,   128,   131,   134,   137,
    1471      140,   143,   146,   149,   152,   154,   156,   158,   161,   163,
    1472      165,   167,   169,   171,   173,   176,   179,   182,   185,   188,
    1473      191,   194,   197,   200,   203,   206,   209,   212,   215,   217,
    1474      220,   223,   226,   229,   232,   235,   238,   241,   244,   246
     1486     140,   143,   146,   149,   152,   154,   156,   158,   161,   164,
     1487     166,   168,   170,   172,   174,   176,   179,   182,   185,   188,
     1488     191,   194,   197,   200,   203,   206,   209,   212,   215,   218,
     1489     220,   223,   226,   229,   232,   235,   238,   241,   244,   247,
     1490     249
    14751491  };
    14761492
     
    14851501     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
    14861502     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
    1487      162,   163,   164,   165,   169,   172,   175,   176,   178,   180,
    1488      181,   182,   183,   185,   187,   188,   189,   190,   195,   196,
    1489      197,   198,   199,   200,   201,   202,   203,   204,   207,   208
     1503     162,   163,   164,   165,   166,   170,   173,   176,   177,   179,
     1504     181,   182,   183,   184,   186,   188,   189,   190,   191,   196,
     1505     197,   198,   199,   200,   201,   202,   203,   204,   205,   208,
     1506     209
    14901507  };
    14911508
     
    15311548       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    15321549       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1533        2,     2,     2,     2,     2,    63,     2,     2,     2,     2,
    1534        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1535        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1536        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1537        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1538        2,    61,     2,    62,     2,     2,     2,     2,     2,     2,
     1550       2,     2,     2,     2,     2,    64,     2,     2,     2,     2,
     1551       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     1552       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     1553       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     1554       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     1555       2,    62,     2,    63,     2,     2,     2,     2,     2,     2,
    15391556       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    15401557       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    15581575      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    15591576      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1560       55,    56,    57,    58,    59,    60
     1577      55,    56,    57,    58,    59,    60,    61
    15611578    };
    15621579    if ((unsigned int) t <= yyuser_token_number_max_)
     
    15671584
    15681585  const int EasyMeshParser::yyeof_ = 0;
    1569   const int EasyMeshParser::yylast_ = 266;
     1586  const int EasyMeshParser::yylast_ = 271;
    15701587  const int EasyMeshParser::yynnts_ = 22;
    15711588  const int EasyMeshParser::yyempty_ = -2;
    1572   const int EasyMeshParser::yyfinal_ = 133;
     1589  const int EasyMeshParser::yyfinal_ = 135;
    15731590  const int EasyMeshParser::yyterror_ = 1;
    15741591  const int EasyMeshParser::yyerrcode_ = 256;
    1575   const int EasyMeshParser::yyntokens_ = 64;
    1576 
    1577   const unsigned int EasyMeshParser::yyuser_token_number_max_ = 315;
     1592  const int EasyMeshParser::yyntokens_ = 65;
     1593
     1594  const unsigned int EasyMeshParser::yyuser_token_number_max_ = 316;
    15781595  const EasyMeshParser::token_number_type EasyMeshParser::yyundef_token_ = 2;
    15791596
     
    15821599
    15831600/* Line 1053 of lalr1.cc  */
    1584 #line 1585 "generated/easymesh-parser.cpp"
     1601#line 1602 "generated/easymesh-parser.cpp"
    15851602
    15861603
    15871604/* Line 1055 of lalr1.cc  */
    1588 #line 211 "easymesh/easymesh-parser.y"
     1605#line 212 "easymesh/easymesh-parser.y"
    15891606
    15901607
  • trunk/src/generated/easymesh-parser.h

    r2406 r2407  
    169169     T_TOGGLESCALEWINDING = 292,
    170170     T_RADIALJITTER = 293,
    171      T_CSGUNION = 294,
    172      T_CSGSUBSTRACT = 295,
    173      T_CSGSUBSTRACTLOSS = 296,
    174      T_CSGAND = 297,
    175      T_CSGXOR = 298,
    176      T_CHAMFER = 299,
    177      T_CYLINDER = 300,
    178      T_BOX = 301,
    179      T_SMOOTHCHAMFBOX = 302,
    180      T_FLATCHAMFBOX = 303,
    181      T_SPHERE = 304,
    182      T_CAPSULE = 305,
    183      T_STAR = 306,
    184      T_EXPANDEDSTAR = 307,
    185      T_DISC = 308,
    186      T_TRIANGLE = 309,
    187      T_QUAD = 310,
    188      T_COG = 311,
    189      T_TORUS = 312,
    190      T_ERROR = 313,
    191      NUMBER = 314,
    192      COLOR = 315
     171     T_SPLITTRIANGLE = 294,
     172     T_CSGUNION = 295,
     173     T_CSGSUBSTRACT = 296,
     174     T_CSGSUBSTRACTLOSS = 297,
     175     T_CSGAND = 298,
     176     T_CSGXOR = 299,
     177     T_CHAMFER = 300,
     178     T_CYLINDER = 301,
     179     T_BOX = 302,
     180     T_SMOOTHCHAMFBOX = 303,
     181     T_FLATCHAMFBOX = 304,
     182     T_SPHERE = 305,
     183     T_CAPSULE = 306,
     184     T_STAR = 307,
     185     T_EXPANDEDSTAR = 308,
     186     T_DISC = 309,
     187     T_TRIANGLE = 310,
     188     T_QUAD = 311,
     189     T_COG = 312,
     190     T_TORUS = 313,
     191     T_ERROR = 314,
     192     NUMBER = 315,
     193     COLOR = 316
    193194   };
    194195
     
    364365
    365366/* Line 34 of lalr1.cc  */
    366 #line 367 "generated/easymesh-parser.h"
     367#line 368 "generated/easymesh-parser.h"
    367368
    368369
  • trunk/src/generated/easymesh-scanner.cpp

    r2406 r2407  
    331331        (yy_c_buf_p) = yy_cp;
    332332
    333 #define YY_NUM_RULES 67
    334 #define YY_END_OF_BUFFER 68
     333#define YY_NUM_RULES 68
     334#define YY_END_OF_BUFFER 69
    335335/* This struct is not used in this scanner,
    336336   but its presence is necessary. */
     
    340340        flex_int32_t yy_nxt;
    341341        };
    342 static yyconst flex_int16_t yy_accept[106] =
     342static yyconst flex_int16_t yy_accept[109] =
    343343    {   0,
    344         0,    0,   68,   66,   65,   64,   66,   66,   61,   66,
    345        60,   62,   63,   66,   66,   66,   66,   66,   32,    7,
    346         0,    0,   60,   60,    0,   43,   44,   47,    0,    0,
    347        50,   51,   54,    0,    3,    0,   34,   35,   36,   37,
    348         8,    9,   10,    1,    0,    0,   29,   30,   31,    0,
    349         0,    0,    4,    5,    6,    0,    0,   60,    0,   46,
    350        48,    0,    0,    0,   55,    0,    0,    0,    0,    2,
    351        17,   18,   19,   20,   21,   22,   11,   12,   13,   33,
    352        14,   15,   16,   56,   45,   49,   52,   53,   23,   24,
    353        25,   26,   27,   28,   41,   39,   38,   42,   57,   40,
    354 
    355         0,   58,    0,   59,    0
     344        0,    0,   69,   67,   66,   65,   67,   67,   62,   67,
     345       61,   63,   64,   67,   67,   67,   67,   67,   32,    7,
     346        0,    0,   61,   61,    0,   44,   45,   48,    0,    0,
     347       51,   52,   55,    0,    3,    0,   34,   35,   36,   37,
     348        8,    9,   10,    1,    0,    0,    0,   29,   30,   31,
     349        0,    0,    0,    4,    5,    6,    0,    0,   61,    0,
     350       47,   49,    0,    0,    0,   56,    0,    0,    0,    0,
     351        2,   17,   18,   19,    0,   20,   21,   22,   11,   12,
     352       13,   33,   14,   15,   16,   57,   46,   50,   53,   54,
     353       23,   24,   25,   26,   27,   28,   42,   40,   39,   43,
     354
     355       38,   58,   41,    0,   59,    0,   60,    0
    356356    } ;
    357357
     
    396396    } ;
    397397
    398 static yyconst flex_int16_t yy_base[114] =
     398static yyconst flex_int16_t yy_base[117] =
    399399    {   0,
    400         0,    0,  135,  136,  136,  136,    0,   28,   30,  126,
    401        32,  136,  136,   36,  117,   27,   11,   25,   51,   73,
    402         0,  124,   53,   59,   67,  136,   55,  136,  103,  115,
    403       136,   62,  105,   56,  136,  109,  136,  136,  136,  136,
    404       136,  136,  136,  113,   59,   62,  136,  136,  136,   65,
    405        95,   76,  136,  136,  136,    0,  117,  116,   98,  136,
    406       136,  107,  105,   97,  136,   45,   68,   49,   90,  136,
    407       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
    408       136,  136,  136,    0,  136,  136,  136,  136,  136,  136,
    409       136,  136,  136,  136,  136,   94,  136,  136,    0,  136,
    410 
    411         0,    0,    0,  136,  136,  113,  112,  111,  110,  109,
    412        54,   46,   39
     400        0,    0,  138,  139,  139,  139,    0,   28,   30,  129,
     401       32,  139,  139,   36,  120,   27,   11,   25,   51,   73,
     402        0,  126,   53,   64,   82,  139,   54,  139,  104,  115,
     403      139,   53,  105,   59,  139,  109,  139,  139,  139,  139,
     404      139,  139,  139,  113,   62,  104,   65,  139,  139,  139,
     405       76,   94,   79,  139,  139,  139,    0,  116,  115,   97,
     406      139,  139,  107,  106,   99,  139,   69,   43,   82,  103,
     407      139,  139,  139,  139,   89,  139,  139,  139,  139,  139,
     408      139,  139,  139,  139,  139,    0,  139,  139,  139,  139,
     409      139,  139,  139,  139,  139,  139,  139,   95,  139,  139,
     410
     411      139,    0,  139,    0,    0,    0,  139,  139,   98,   87,
     412       80,   77,   67,   54,   46,   39
    413413    } ;
    414414
    415 static yyconst flex_int16_t yy_def[114] =
     415static yyconst flex_int16_t yy_def[117] =
    416416    {   0,
    417       105,    1,  105,  105,  105,  105,  106,  105,  105,  105,
    418       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    419       107,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    420       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    421       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    422       105,  105,  105,  105,  105,  108,  105,  105,  105,  105,
    423       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    424       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    425       105,  105,  105,  109,  105,  105,  105,  105,  105,  105,
    426       105,  105,  105,  105,  105,  105,  105,  105,  110,  105,
    427 
    428       111,  112,  113,  105,    0,  105,  105,  105,  105,  105,
    429       105,  105,  105
     417      108,    1,  108,  108,  108,  108,  109,  108,  108,  108,
     418      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     419      110,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     420      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     421      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     422      108,  108,  108,  108,  108,  108,  111,  108,  108,  108,
     423      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     424      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     425      108,  108,  108,  108,  108,  112,  108,  108,  108,  108,
     426      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     427
     428      108,  113,  108,  114,  115,  116,  108,    0,  108,  108,
     429      108,  108,  108,  108,  108,  108
    430430    } ;
    431431
    432 static yyconst flex_int16_t yy_nxt[171] =
     432static yyconst flex_int16_t yy_nxt[174] =
    433433    {   0,
    434434        4,    5,    6,    7,    8,    9,   10,   11,    4,    4,
     
    436436        4,    4,   17,    4,    4,    4,   18,   19,   20,    4,
    437437        4,    4,    4,    4,   22,   23,   22,   23,   22,   23,
    438       104,   25,   37,   38,   39,   40,   35,  103,   25,   26,
    439        27,   28,   29,   30,   36,  102,   41,   42,   43,   22,
    440        23,   31,   25,   32,   33,   44,   24,   59,   25,   25,
    441        45,   57,   57,   60,   58,   25,   63,   89,   90,   46,
    442        93,   94,   47,   48,   49,   50,   64,   66,   67,   68,
    443        71,   72,   73,   74,   75,   76,   77,   78,   79,   91,
    444 
    445        51,   92,   95,   52,   53,   54,   55,   81,   82,   83,
    446       101,   99,   84,   56,   21,  100,   88,   96,   87,   97,
    447        86,   98,   85,   58,   58,   80,   70,   69,   65,   62,
    448        61,   24,   34,   24,  105,    3,  105,  105,  105,  105,
    449       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    450       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    451       105,  105,  105,  105,  105,  105,  105,  105,  105,  105
     438      107,   25,   37,   38,   39,   40,   35,  106,   25,   26,
     439       27,   28,   29,   30,   36,  105,   41,   42,   43,   22,
     440       23,   31,   25,   32,   33,   44,   60,   64,  104,   25,
     441       45,   24,   61,   25,   93,   46,   94,   65,  102,   47,
     442       25,   86,   48,   49,   50,   51,   58,   58,   57,   59,
     443       67,   68,   69,   72,   73,   74,   76,   77,   78,   21,
     444
     445       52,   91,   92,   53,   54,   55,   56,   79,   80,   81,
     446       83,   84,   85,   95,   96,   97,  103,  101,   90,   89,
     447       88,   87,   59,   59,   82,   75,   71,   70,   66,   63,
     448       98,   62,   99,   24,  100,   34,   24,  108,    3,  108,
     449      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     450      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     451      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     452      108,  108,  108
    452453    } ;
    453454
    454 static yyconst flex_int16_t yy_chk[171] =
     455static yyconst flex_int16_t yy_chk[174] =
    455456    {   0,
    456457        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    458459        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    459460        1,    1,    1,    1,    8,    8,    9,    9,   11,   11,
    460       113,   11,   17,   17,   17,   18,   16,  112,   11,   14,
    461        14,   14,   14,   14,   16,  111,   18,   18,   18,   23,
    462        23,   14,   23,   14,   14,   19,   24,   27,   24,   23,
    463        19,   25,   25,   27,   25,   24,   32,   66,   66,   19,
    464        68,   68,   19,   19,   19,   20,   32,   34,   34,   34,
    465        45,   45,   45,   46,   46,   46,   50,   50,   50,   67,
    466 
    467        20,   67,   69,   20,   20,   20,   20,   52,   52,   52,
    468       110,  109,  108,  107,  106,   96,   64,   69,   63,   69,
    469        62,   69,   59,   58,   57,   51,   44,   36,   33,   30,
    470        29,   22,   15,   10,    3,  105,  105,  105,  105,  105,
    471       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    472       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
    473       105,  105,  105,  105,  105,  105,  105,  105,  105,  105
     461      116,   11,   17,   17,   17,   18,   16,  115,   11,   14,
     462       14,   14,   14,   14,   16,  114,   18,   18,   18,   23,
     463       23,   14,   23,   14,   14,   19,   27,   32,  113,   23,
     464       19,   24,   27,   24,   68,   19,   68,   32,  112,   19,
     465       24,  111,   19,   19,   19,   20,   25,   25,  110,   25,
     466       34,   34,   34,   45,   45,   45,   47,   47,   47,  109,
     467
     468       20,   67,   67,   20,   20,   20,   20,   51,   51,   51,
     469       53,   53,   53,   69,   69,   70,   98,   75,   65,   64,
     470       63,   60,   59,   58,   52,   46,   44,   36,   33,   30,
     471       70,   29,   70,   22,   70,   15,   10,    3,  108,  108,
     472      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     473      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     474      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
     475      108,  108,  108
    474476    } ;
    475477
     
    520522#define YY_NO_UNISTD_H
    521523#define YY_USER_ACTION yylloc->columns(yyleng);
    522 #line 523 "generated/easymesh-scanner.cpp"
     524#line 525 "generated/easymesh-scanner.cpp"
    523525
    524526#define INITIAL 0
     
    633635
    634636
    635 #line 636 "generated/easymesh-scanner.cpp"
     637#line 638 "generated/easymesh-scanner.cpp"
    636638
    637639        if ( !(yy_init) )
     
    686688                                {
    687689                                yy_current_state = (int) yy_def[yy_current_state];
    688                                 if ( yy_current_state >= 106 )
     690                                if ( yy_current_state >= 109 )
    689691                                        yy_c = yy_meta[(unsigned int) yy_c];
    690692                                }
     
    692694                        ++yy_cp;
    693695                        }
    694                 while ( yy_current_state != 105 );
     696                while ( yy_current_state != 108 );
    695697                yy_cp = (yy_last_accepting_cpos);
    696698                yy_current_state = (yy_last_accepting_state);
     
    899901case 38:
    900902YY_RULE_SETUP
    901 #line 90 "easymesh/easymesh-scanner.l"
     903#line 89 "easymesh/easymesh-scanner.l"
     904{ return token::T_SPLITTRIANGLE; }
     905        YY_BREAK
     906case 39:
     907YY_RULE_SETUP
     908#line 91 "easymesh/easymesh-scanner.l"
    902909{ return token::T_CSGUNION; }
    903910        YY_BREAK
    904 case 39:
    905 YY_RULE_SETUP
    906 #line 91 "easymesh/easymesh-scanner.l"
     911case 40:
     912YY_RULE_SETUP
     913#line 92 "easymesh/easymesh-scanner.l"
    907914{ return token::T_CSGSUBSTRACT; }
    908915        YY_BREAK
    909 case 40:
    910 YY_RULE_SETUP
    911 #line 92 "easymesh/easymesh-scanner.l"
     916case 41:
     917YY_RULE_SETUP
     918#line 93 "easymesh/easymesh-scanner.l"
    912919{ return token::T_CSGSUBSTRACTLOSS; }
    913920        YY_BREAK
    914 case 41:
    915 YY_RULE_SETUP
    916 #line 93 "easymesh/easymesh-scanner.l"
     921case 42:
     922YY_RULE_SETUP
     923#line 94 "easymesh/easymesh-scanner.l"
    917924{ return token::T_CSGAND; }
    918925        YY_BREAK
    919 case 42:
    920 YY_RULE_SETUP
    921 #line 94 "easymesh/easymesh-scanner.l"
     926case 43:
     927YY_RULE_SETUP
     928#line 95 "easymesh/easymesh-scanner.l"
    922929{ return token::T_CSGXOR; }
    923930        YY_BREAK
    924 case 43:
    925 YY_RULE_SETUP
    926 #line 96 "easymesh/easymesh-scanner.l"
     931case 44:
     932YY_RULE_SETUP
     933#line 97 "easymesh/easymesh-scanner.l"
    927934{ return token::T_BOX; }
    928935        YY_BREAK
    929 case 44:
    930 YY_RULE_SETUP
    931 #line 97 "easymesh/easymesh-scanner.l"
     936case 45:
     937YY_RULE_SETUP
     938#line 98 "easymesh/easymesh-scanner.l"
    932939{ return token::T_CYLINDER; }
    933940        YY_BREAK
    934 case 45:
    935 YY_RULE_SETUP
    936 #line 98 "easymesh/easymesh-scanner.l"
     941case 46:
     942YY_RULE_SETUP
     943#line 99 "easymesh/easymesh-scanner.l"
    937944{ return token::T_CAPSULE; }
    938945        YY_BREAK
    939 case 46:
    940 YY_RULE_SETUP
    941 #line 99 "easymesh/easymesh-scanner.l"
     946case 47:
     947YY_RULE_SETUP
     948#line 100 "easymesh/easymesh-scanner.l"
    942949{ return token::T_COG; }
    943950        YY_BREAK
    944 case 47:
    945 YY_RULE_SETUP
    946 #line 100 "easymesh/easymesh-scanner.l"
     951case 48:
     952YY_RULE_SETUP
     953#line 101 "easymesh/easymesh-scanner.l"
    947954{ return token::T_DISC; }
    948955        YY_BREAK
    949 case 48:
    950 YY_RULE_SETUP
    951 #line 101 "easymesh/easymesh-scanner.l"
     956case 49:
     957YY_RULE_SETUP
     958#line 102 "easymesh/easymesh-scanner.l"
    952959{ return token::T_EXPANDEDSTAR; }
    953960        YY_BREAK
    954 case 49:
    955 YY_RULE_SETUP
    956 #line 102 "easymesh/easymesh-scanner.l"
     961case 50:
     962YY_RULE_SETUP
     963#line 103 "easymesh/easymesh-scanner.l"
    957964{ return token::T_FLATCHAMFBOX; }
    958965        YY_BREAK
    959 case 50:
    960 YY_RULE_SETUP
    961 #line 103 "easymesh/easymesh-scanner.l"
     966case 51:
     967YY_RULE_SETUP
     968#line 104 "easymesh/easymesh-scanner.l"
    962969{ return token::T_QUAD; }
    963970        YY_BREAK
    964 case 51:
    965 YY_RULE_SETUP
    966 #line 104 "easymesh/easymesh-scanner.l"
     971case 52:
     972YY_RULE_SETUP
     973#line 105 "easymesh/easymesh-scanner.l"
    967974{ return token::T_STAR; }
    968975        YY_BREAK
    969 case 52:
    970 YY_RULE_SETUP
    971 #line 105 "easymesh/easymesh-scanner.l"
     976case 53:
     977YY_RULE_SETUP
     978#line 106 "easymesh/easymesh-scanner.l"
    972979{ return token::T_SMOOTHCHAMFBOX; }
    973980        YY_BREAK
    974 case 53:
    975 YY_RULE_SETUP
    976 #line 106 "easymesh/easymesh-scanner.l"
     981case 54:
     982YY_RULE_SETUP
     983#line 107 "easymesh/easymesh-scanner.l"
    977984{ return token::T_SPHERE; }
    978985        YY_BREAK
    979 case 54:
    980 YY_RULE_SETUP
    981 #line 107 "easymesh/easymesh-scanner.l"
     986case 55:
     987YY_RULE_SETUP
     988#line 108 "easymesh/easymesh-scanner.l"
    982989{ return token::T_TRIANGLE; }
    983990        YY_BREAK
    984 case 55:
    985 YY_RULE_SETUP
    986 #line 108 "easymesh/easymesh-scanner.l"
     991case 56:
     992YY_RULE_SETUP
     993#line 109 "easymesh/easymesh-scanner.l"
    987994{ return token::T_TORUS; }
    988995        YY_BREAK
    989 case 56:
    990 YY_RULE_SETUP
    991 #line 110 "easymesh/easymesh-scanner.l"
     996case 57:
     997YY_RULE_SETUP
     998#line 111 "easymesh/easymesh-scanner.l"
    992999{
    9931000        uint32_t tmp = std::strtol(yytext + 1, NULL, 16);
     
    9981005        return token::COLOR; }
    9991006        YY_BREAK
    1000 case 57:
    1001 YY_RULE_SETUP
    1002 #line 117 "easymesh/easymesh-scanner.l"
     1007case 58:
     1008YY_RULE_SETUP
     1009#line 118 "easymesh/easymesh-scanner.l"
    10031010{
    10041011        uint32_t tmp = std::strtol(yytext + 1, NULL, 16);
     
    10091016        return token::COLOR; }
    10101017        YY_BREAK
    1011 case 58:
    1012 YY_RULE_SETUP
    1013 #line 124 "easymesh/easymesh-scanner.l"
     1018case 59:
     1019YY_RULE_SETUP
     1020#line 125 "easymesh/easymesh-scanner.l"
    10141021{
    10151022        yylval->u32val = 0xffu
     
    10171024        return token::COLOR; }
    10181025        YY_BREAK
    1019 case 59:
    1020 YY_RULE_SETUP
    1021 #line 128 "easymesh/easymesh-scanner.l"
     1026case 60:
     1027YY_RULE_SETUP
     1028#line 129 "easymesh/easymesh-scanner.l"
    10221029{
    10231030        yylval->u32val = (uint32_t)std::strtol(yytext + 1, NULL, 16);
    10241031        return token::COLOR; }
    10251032        YY_BREAK
    1026 case 60:
    1027 YY_RULE_SETUP
    1028 #line 131 "easymesh/easymesh-scanner.l"
     1033case 61:
     1034YY_RULE_SETUP
     1035#line 132 "easymesh/easymesh-scanner.l"
    10291036{
    10301037        yylval->fval = std::atof(yytext); return token::NUMBER; }
    10311038        YY_BREAK
    1032 case 61:
    1033 YY_RULE_SETUP
    1034 #line 133 "easymesh/easymesh-scanner.l"
     1039case 62:
     1040YY_RULE_SETUP
     1041#line 134 "easymesh/easymesh-scanner.l"
    10351042{ return token_type('-'); }
    10361043        YY_BREAK
    1037 case 62:
    1038 YY_RULE_SETUP
    1039 #line 134 "easymesh/easymesh-scanner.l"
     1044case 63:
     1045YY_RULE_SETUP
     1046#line 135 "easymesh/easymesh-scanner.l"
    10401047{ return token_type('['); }
    10411048        YY_BREAK
    1042 case 63:
    1043 YY_RULE_SETUP
    1044 #line 135 "easymesh/easymesh-scanner.l"
     1049case 64:
     1050YY_RULE_SETUP
     1051#line 136 "easymesh/easymesh-scanner.l"
    10451052{ return token_type(']'); }
    10461053        YY_BREAK
    1047 case 64:
    1048 YY_RULE_SETUP
    1049 #line 136 "easymesh/easymesh-scanner.l"
    1050 { /* ignore this */ }
    1051         YY_BREAK
    10521054case 65:
    1053 /* rule 65 can match eol */
    10541055YY_RULE_SETUP
    10551056#line 137 "easymesh/easymesh-scanner.l"
     
    10571058        YY_BREAK
    10581059case 66:
     1060/* rule 66 can match eol */
    10591061YY_RULE_SETUP
    10601062#line 138 "easymesh/easymesh-scanner.l"
     1063{ /* ignore this */ }
     1064        YY_BREAK
     1065case 67:
     1066YY_RULE_SETUP
     1067#line 139 "easymesh/easymesh-scanner.l"
    10611068{ return token::T_ERROR; }
    10621069        YY_BREAK
    1063 case 67:
    1064 YY_RULE_SETUP
    1065 #line 140 "easymesh/easymesh-scanner.l"
     1070case 68:
     1071YY_RULE_SETUP
     1072#line 141 "easymesh/easymesh-scanner.l"
    10661073ECHO;
    10671074        YY_BREAK
    1068 #line 1069 "generated/easymesh-scanner.cpp"
     1075#line 1076 "generated/easymesh-scanner.cpp"
    10691076case YY_STATE_EOF(INITIAL):
    10701077        yyterminate();
     
    14481455                        {
    14491456                        yy_current_state = (int) yy_def[yy_current_state];
    1450                         if ( yy_current_state >= 106 )
     1457                        if ( yy_current_state >= 109 )
    14511458                                yy_c = yy_meta[(unsigned int) yy_c];
    14521459                        }
     
    14761483                {
    14771484                yy_current_state = (int) yy_def[yy_current_state];
    1478                 if ( yy_current_state >= 106 )
     1485                if ( yy_current_state >= 109 )
    14791486                        yy_c = yy_meta[(unsigned int) yy_c];
    14801487                }
    14811488        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    1482         yy_is_jam = (yy_current_state == 105);
     1489        yy_is_jam = (yy_current_state == 108);
    14831490
    14841491        return yy_is_jam ? 0 : yy_current_state;
     
    19671974#define YYTABLES_NAME "yytables"
    19681975
    1969 #line 140 "easymesh/easymesh-scanner.l"
     1976#line 141 "easymesh/easymesh-scanner.l"
    19701977
    19711978
  • trunk/test/MeshViewerBuffer.txt

    r2406 r2407  
     1[sc#88f ab 4 4 4 splt 5 tz 4 bdxy 90 0]//twy 45 0
    12//[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 tax .4 .4 0]
    2 //[sc#88f ab 4 4 4]
    33//[sc#88f ab .25 1 1 tx .25 ab .25 1 1 tx .25 ab .25 1 1 tx .25 ab .25 1 1 tx .125 stx 10 0 0]
    4 [sc#ff2 scb#2ff acg 13 2 1 1 8 8 4 4 0 1 tax -2 0 0 0]
     4//[sc#ff2 scb#2ff acg 13 2 1 1 8 8 4 4 0 1 tax -2 0 0 0]
    55//[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 shz 1 0 0 0]
    66//[sc#ff2 asph 4 4 shx 0 0 0 0]
Note: See TracChangeset for help on using the changeset viewer.