Changeset 2406


Ignore:
Timestamp:
Feb 13, 2013, 10:52:46 PM (6 years ago)
Author:
touky
Message:

easymesh : Added Twist/Ben/Shear & Taper refactor.

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/build/vs2010/Lol.sln

    r2386 r2406  
    169169                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Any CPU.ActiveCfg = Debug|Win32
    170170                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     171                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    171172                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|PS3.ActiveCfg = Debug|PS3
    172173                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Debug|PS3.Build.0 = Debug|PS3
     
    180181                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Any CPU.ActiveCfg = Release|Win32
    181182                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     183                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|Mixed Platforms.Build.0 = Release|Win32
    182184                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|PS3.ActiveCfg = Release|PS3
    183185                {17F0F184-4436-4D08-B8AA-16572EA238DB}.Release|PS3.Build.0 = Release|PS3
     
    205207                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Any CPU.ActiveCfg = Debug|Win32
    206208                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     209                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    207210                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|PS3.ActiveCfg = Debug|PS3
    208211                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Debug|PS3.Build.0 = Debug|PS3
     
    216219                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Any CPU.ActiveCfg = Release|Win32
    217220                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     221                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|Mixed Platforms.Build.0 = Release|Win32
    218222                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|PS3.ActiveCfg = Release|PS3
    219223                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA}.Release|PS3.Build.0 = Release|PS3
     
    227231                {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Any CPU.ActiveCfg = Debug|Win32
    228232                {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     233                {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    229234                {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|PS3.ActiveCfg = Debug|PS3
    230235                {83D3B207-C601-4025-8F41-01DEDC354661}.Debug|PS3.Build.0 = Debug|PS3
     
    238243                {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Any CPU.ActiveCfg = Release|Win32
    239244                {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     245                {83D3B207-C601-4025-8F41-01DEDC354661}.Release|Mixed Platforms.Build.0 = Release|Win32
    240246                {83D3B207-C601-4025-8F41-01DEDC354661}.Release|PS3.ActiveCfg = Release|PS3
    241247                {83D3B207-C601-4025-8F41-01DEDC354661}.Release|PS3.Build.0 = Release|PS3
     
    249255                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Any CPU.ActiveCfg = Debug|Win32
    250256                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     257                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    251258                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|PS3.ActiveCfg = Debug|PS3
    252259                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Debug|PS3.Build.0 = Debug|PS3
     
    260267                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Any CPU.ActiveCfg = Release|Win32
    261268                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     269                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|Mixed Platforms.Build.0 = Release|Win32
    262270                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|PS3.ActiveCfg = Release|PS3
    263271                {B1E10086-A1DA-401A-834D-969C9DBB5CC1}.Release|PS3.Build.0 = Release|PS3
     
    271279                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Any CPU.ActiveCfg = Debug|Win32
    272280                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     281                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    273282                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|PS3.ActiveCfg = Debug|PS3
    274283                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Debug|PS3.Build.0 = Debug|PS3
     
    282291                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Any CPU.ActiveCfg = Release|Win32
    283292                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     293                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|Mixed Platforms.Build.0 = Release|Win32
    284294                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|PS3.ActiveCfg = Release|PS3
    285295                {80F81C11-8DA2-4990-91CB-9807783BA46E}.Release|PS3.Build.0 = Release|PS3
     
    293303                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Any CPU.ActiveCfg = Debug|Win32
    294304                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     305                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    295306                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|PS3.ActiveCfg = Debug|PS3
    296307                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Debug|PS3.Build.0 = Debug|PS3
     
    304315                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Any CPU.ActiveCfg = Release|Win32
    305316                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     317                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.Build.0 = Release|Win32
    306318                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|Mixed Platforms.Deploy.0 = Release|Win32
    307319                {B92ABADC-45BE-4CC5-B724-9426053123A1}.Release|PS3.ActiveCfg = Release|PS3
     
    316328                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Any CPU.ActiveCfg = Debug|Win32
    317329                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     330                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    318331                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|PS3.ActiveCfg = Debug|PS3
    319332                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Debug|PS3.Build.0 = Debug|PS3
     
    327340                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Any CPU.ActiveCfg = Release|Win32
    328341                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     342                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|Mixed Platforms.Build.0 = Release|Win32
    329343                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|PS3.ActiveCfg = Release|PS3
    330344                {7B083DA2-FE08-4F6D-BFDD-195D5C2783EB}.Release|PS3.Build.0 = Release|PS3
     
    338352                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Any CPU.ActiveCfg = Debug|Win32
    339353                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     354                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    340355                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|PS3.ActiveCfg = Debug|PS3
    341356                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Debug|PS3.Build.0 = Debug|PS3
     
    349364                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Any CPU.ActiveCfg = Release|Win32
    350365                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     366                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|Mixed Platforms.Build.0 = Release|Win32
    351367                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|PS3.ActiveCfg = Release|PS3
    352368                {1C5B8702-290C-42DA-AA9E-671348F5B747}.Release|PS3.Build.0 = Release|PS3
     
    360376                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Any CPU.ActiveCfg = Debug|Win32
    361377                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     378                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    362379                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|PS3.ActiveCfg = Debug|PS3
    363380                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Debug|PS3.Build.0 = Debug|PS3
     
    371388                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Any CPU.ActiveCfg = Release|Win32
    372389                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     390                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|Mixed Platforms.Build.0 = Release|Win32
    373391                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|PS3.ActiveCfg = Release|PS3
    374392                {6BF81B39-EDC2-4227-9992-C2D8ABEA95AF}.Release|PS3.Build.0 = Release|PS3
     
    382400                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Any CPU.ActiveCfg = Debug|Win32
    383401                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     402                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    384403                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|PS3.ActiveCfg = Debug|PS3
    385404                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Debug|PS3.Build.0 = Debug|PS3
     
    393412                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Any CPU.ActiveCfg = Release|Win32
    394413                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     414                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|Mixed Platforms.Build.0 = Release|Win32
    395415                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|PS3.ActiveCfg = Release|PS3
    396416                {32F3F8CF-D22E-45E4-BEB8-AD909E8C5515}.Release|PS3.Build.0 = Release|PS3
     
    404424                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32
    405425                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     426                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    406427                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|PS3.ActiveCfg = Debug|PS3
    407428                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Debug|PS3.Build.0 = Debug|PS3
     
    415436                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Any CPU.ActiveCfg = Release|Win32
    416437                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     438                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32
    417439                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|PS3.ActiveCfg = Release|PS3
    418440                {EE203B88-44CF-4859-9D42-7A5F40FECB52}.Release|PS3.Build.0 = Release|PS3
     
    426448                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Any CPU.ActiveCfg = Debug|Win32
    427449                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     450                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    428451                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|PS3.ActiveCfg = Debug|PS3
    429452                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Debug|Win32.ActiveCfg = Debug|Win32
     
    434457                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Any CPU.ActiveCfg = Release|Win32
    435458                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     459                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Mixed Platforms.Build.0 = Release|Win32
    436460                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|PS3.ActiveCfg = Release|PS3
    437461                {587FCCE9-1D8D-4398-B8B6-E8F4E9A92233}.Release|Win32.ActiveCfg = Release|Win32
     
    442466                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32
    443467                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     468                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    444469                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|PS3.ActiveCfg = Debug|PS3
    445470                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Debug|PS3.Build.0 = Debug|PS3
     
    453478                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Any CPU.ActiveCfg = Release|Win32
    454479                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     480                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32
    455481                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|PS3.ActiveCfg = Release|PS3
    456482                {EE203B88-44CF-4859-9D42-7A5F43FECB52}.Release|PS3.Build.0 = Release|PS3
     
    464490                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Any CPU.ActiveCfg = Debug|Win32
    465491                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     492                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    466493                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|PS3.ActiveCfg = Debug|PS3
    467494                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Debug|PS3.Build.0 = Debug|PS3
     
    475502                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Any CPU.ActiveCfg = Release|Win32
    476503                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     504                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|Mixed Platforms.Build.0 = Release|Win32
    477505                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|PS3.ActiveCfg = Release|PS3
    478506                {EE203B88-44CF-4859-9D42-7A1F43FECB52}.Release|PS3.Build.0 = Release|PS3
     
    486514                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Any CPU.ActiveCfg = Debug|Win32
    487515                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     516                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    488517                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|PS3.ActiveCfg = Debug|PS3
    489518                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Debug|PS3.Build.0 = Debug|PS3
     
    497526                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Any CPU.ActiveCfg = Release|Win32
    498527                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     528                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|Mixed Platforms.Build.0 = Release|Win32
    499529                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|PS3.ActiveCfg = Release|PS3
    500530                {BCEE0132-8E24-49BE-AFEB-96DAD14396BA}.Release|PS3.Build.0 = Release|PS3
     
    508538                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Any CPU.ActiveCfg = Debug|Win32
    509539                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     540                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    510541                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|PS3.ActiveCfg = Debug|PS3
    511542                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Debug|PS3.Build.0 = Debug|PS3
     
    519550                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Any CPU.ActiveCfg = Release|Win32
    520551                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     552                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|Mixed Platforms.Build.0 = Release|Win32
    521553                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|PS3.ActiveCfg = Release|PS3
    522554                {A69411B3-6DE8-404E-8E70-0D3375A7492A}.Release|PS3.Build.0 = Release|PS3
     
    530562                {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Any CPU.ActiveCfg = Debug|Win32
    531563                {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     564                {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    532565                {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|PS3.ActiveCfg = Debug|PS3
    533566                {C2E01551-B636-4324-8461-71811DF6FBB5}.Debug|PS3.Build.0 = Debug|PS3
     
    541574                {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Any CPU.ActiveCfg = Release|Win32
    542575                {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     576                {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|Mixed Platforms.Build.0 = Release|Win32
    543577                {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|PS3.ActiveCfg = Release|PS3
    544578                {C2E01551-B636-4324-8461-71811DF6FBB5}.Release|PS3.Build.0 = Release|PS3
     
    552586                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Any CPU.ActiveCfg = Debug|Win32
    553587                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     588                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    554589                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|PS3.ActiveCfg = Debug|PS3
    555590                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Debug|PS3.Build.0 = Debug|PS3
     
    563598                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Any CPU.ActiveCfg = Release|Win32
    564599                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     600                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|Mixed Platforms.Build.0 = Release|Win32
    565601                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|PS3.ActiveCfg = Release|PS3
    566602                {B0A53D75-CBB4-4FDF-93AC-2D12A79ADA0E}.Release|PS3.Build.0 = Release|PS3
     
    574610                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Any CPU.ActiveCfg = Debug|Win32
    575611                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     612                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    576613                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|PS3.ActiveCfg = Debug|PS3
    577614                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Debug|PS3.Build.0 = Debug|PS3
     
    585622                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Any CPU.ActiveCfg = Release|Win32
    586623                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     624                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|Mixed Platforms.Build.0 = Release|Win32
    587625                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|PS3.ActiveCfg = Release|PS3
    588626                {5A77DCDD-2CBA-43E9-8B45-00C281443F77}.Release|PS3.Build.0 = Release|PS3
     
    637675                {834852DB-EDB6-4FD0-BCF9-45CD01126962}.Release|Xbox 360.Deploy.0 = Release|Xbox 360
    638676                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Any CPU.ActiveCfg = Debug|x64
    639                 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
    640                 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.Build.0 = Debug|x64
     677                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     678                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    641679                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|PS3.ActiveCfg = Debug|x64
    642680                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Win32.ActiveCfg = Debug|Win32
     
    646684                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Debug|Xbox 360.ActiveCfg = Debug|x64
    647685                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Any CPU.ActiveCfg = Release|x64
    648                 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.ActiveCfg = Release|x64
    649                 {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.Build.0 = Release|x64
     686                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     687                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Mixed Platforms.Build.0 = Release|Win32
    650688                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|PS3.ActiveCfg = Release|x64
    651689                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Win32.ActiveCfg = Release|Win32
     
    655693                {FAF82AD2-D9F4-4694-9A01-103BC5B771B4}.Release|Xbox 360.ActiveCfg = Release|x64
    656694                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Any CPU.ActiveCfg = Debug|x64
    657                 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
    658                 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.Build.0 = Debug|x64
     695                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
     696                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
    659697                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|PS3.ActiveCfg = Debug|x64
    660698                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Win32.ActiveCfg = Debug|Win32
     
    664702                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Debug|Xbox 360.ActiveCfg = Debug|x64
    665703                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Any CPU.ActiveCfg = Release|x64
    666                 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.ActiveCfg = Release|x64
    667                 {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.Build.0 = Release|x64
     704                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
     705                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Mixed Platforms.Build.0 = Release|Win32
    668706                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|PS3.ActiveCfg = Release|x64
    669707                {7CE9FE12-E4AB-4A22-90D4-2C15F0C30D4E}.Release|Win32.ActiveCfg = Release|Win32
     
    689727                {EF1A4E80-63FA-4EB0-B834-12B6C500F31C} = {08C6A854-533D-4A1E-924E-C4A62281869F}
    690728                {17F0F184-4436-4D08-B8AA-16572EA238DB} = {2F87CEAB-4818-443C-A5E3-6C34E7D967EC}
     729                {83D3B207-C601-4025-8F41-01DEDC354661} = {1AFD580B-98B8-4689-B661-38C41132C60E}
    691730                {9E62F2FE-3408-4EAE-8238-FD84238CEEDA} = {1AFD580B-98B8-4689-B661-38C41132C60E}
    692                 {83D3B207-C601-4025-8F41-01DEDC354661} = {1AFD580B-98B8-4689-B661-38C41132C60E}
    693731                {B1E10086-A1DA-401A-834D-969C9DBB5CC1} = {E0491194-35E3-4513-9D31-608EA3165ECF}
    694732                {80F81C11-8DA2-4990-91CB-9807783BA46E} = {E0491194-35E3-4513-9D31-608EA3165ECF}
  • trunk/src/easymesh/easymesh-parser.y

    r2404 r2406  
    4545%token T_COLOR T_BGCOLOR
    4646
    47 %token T_TRANSLATEX T_ROTATEX T_TAPERX T_SCALEX T_MIRRORX
    48 %token T_TRANSLATEY T_ROTATEY T_TAPERY T_SCALEY T_MIRRORY
    49 %token T_TRANSLATEZ T_ROTATEZ T_TAPERZ T_SCALEZ T_MIRRORZ
     47%token T_TRANSLATEX T_ROTATEX T_TAPERX T_TWISTX T_SHEARX T_STRETCHX T_BENDXY T_BENDXZ T_SCALEX T_MIRRORX
     48%token T_TRANSLATEY T_ROTATEY T_TAPERY T_TWISTY T_SHEARY T_STRETCHY T_BENDYX T_BENDYZ T_SCALEY T_MIRRORY
     49%token T_TRANSLATEZ T_ROTATEZ T_TAPERZ T_TWISTZ T_SHEARZ T_STRETCHZ T_BENDZX T_BENDZY T_SCALEZ T_MIRRORZ
    5050%token T_TRANSLATE T_SCALE T_TOGGLESCALEWINDING T_RADIALJITTER
    5151%token T_CSGUNION T_CSGSUBSTRACT T_CSGSUBSTRACTLOSS T_CSGAND T_CSGXOR
     
    127127  | T_ROTATEZ args1        { mc.m_mesh.RotateZ($2.f0); }
    128128  | T_TAPERX args3         { mc.m_mesh.TaperX($2.f0, $2.f1, $2.f2); }
     129  |  T_TAPERX args4        { mc.m_mesh.TaperX($2.f0, $2.f1, $2.f2, $2.f3); }
    129130  | T_TAPERY args3         { mc.m_mesh.TaperY($2.f0, $2.f1, $2.f2); }
     131  |  T_TAPERY args4        { mc.m_mesh.TaperY($2.f0, $2.f1, $2.f2, $2.f3); }
    130132  | T_TAPERZ args3         { mc.m_mesh.TaperZ($2.f0, $2.f1, $2.f2); }
     133  |  T_TAPERZ args4        { mc.m_mesh.TaperZ($2.f0, $2.f1, $2.f2, $2.f3); }
     134  | T_TWISTX args2         { mc.m_mesh.TwistX($2.f0, $2.f1); }
     135  | T_TWISTY args2         { mc.m_mesh.TwistY($2.f0, $2.f1); }
     136  | T_TWISTZ args2         { mc.m_mesh.TwistZ($2.f0, $2.f1); }
     137  | T_SHEARX args3         { mc.m_mesh.ShearX($2.f0, $2.f1, $2.f2); }
     138  |  T_SHEARX args4        { mc.m_mesh.ShearX($2.f0, $2.f1, $2.f2, $2.f3); }
     139  | T_SHEARY args3         { mc.m_mesh.ShearY($2.f0, $2.f1, $2.f2); }
     140  |  T_SHEARY args4        { mc.m_mesh.ShearY($2.f0, $2.f1, $2.f2, $2.f3); }
     141  | T_SHEARZ args3         { mc.m_mesh.ShearZ($2.f0, $2.f1, $2.f2); }
     142  |  T_SHEARZ args4        { mc.m_mesh.ShearZ($2.f0, $2.f1, $2.f2, $2.f3); }
     143  | T_STRETCHX args3       { mc.m_mesh.StretchX($2.f0, $2.f1, $2.f2); }
     144  | T_STRETCHY args3       { mc.m_mesh.StretchY($2.f0, $2.f1, $2.f2); }
     145  | T_STRETCHZ args3       { mc.m_mesh.StretchZ($2.f0, $2.f1, $2.f2); }
     146  | T_BENDXY args2         { mc.m_mesh.BendXY($2.f0, $2.f1); }
     147  | T_BENDXZ args2         { mc.m_mesh.BendXZ($2.f0, $2.f1); }
     148  | T_BENDYX args2         { mc.m_mesh.BendYX($2.f0, $2.f1); }
     149  | T_BENDYZ args2         { mc.m_mesh.BendYZ($2.f0, $2.f1); }
     150  | T_BENDZX args2         { mc.m_mesh.BendZX($2.f0, $2.f1); }
     151  | T_BENDZY args2         { mc.m_mesh.BendZY($2.f0, $2.f1); }
    131152  | T_SCALEX args1         { mc.m_mesh.Scale(vec3($2.f0, 1.0, 1.0)); }
    132153  | T_SCALEY args1         { mc.m_mesh.Scale(vec3(1.0, $2.f0, 1.0)); }
  • trunk/src/easymesh/easymesh-scanner.l

    r2350 r2406  
    6363tay   { return token::T_TAPERY; }
    6464taz   { return token::T_TAPERZ; }
     65twx   { return token::T_TWISTX; }
     66twy   { return token::T_TWISTY; }
     67twz   { return token::T_TWISTZ; }
     68shx   { return token::T_SHEARX; }
     69shy   { return token::T_SHEARY; }
     70shz   { return token::T_SHEARZ; }
     71stx   { return token::T_STRETCHX; }
     72sty   { return token::T_STRETCHY; }
     73stz   { return token::T_STRETCHZ; }
     74bdxy  { return token::T_BENDXY; }
     75bdxz  { return token::T_BENDXZ; }
     76bdyx  { return token::T_BENDYX; }
     77bdyz  { return token::T_BENDYZ; }
     78bdzx  { return token::T_BENDZX; }
     79bdzy  { return token::T_BENDZY; }
    6580sx    { return token::T_SCALEX; }
    6681sy    { return token::T_SCALEY; }
  • trunk/src/easymesh/easymesh.cpp

    r2405 r2406  
    930930
    931931//-----------------------------------------------------------------------------
    932 void EasyMesh::TaperX(float y, float z, float xoff)
    933 {
    934     /* FIXME: this code breaks normals! */
     932void EasyMesh::TaperX(float ny, float nz, float xoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::X, Axis::X, ny, nz, xoff, absolute); }
     933void EasyMesh::TaperY(float nx, float nz, float yoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Y, Axis::Y, nz, nx, yoff, absolute); }
     934void EasyMesh::TaperZ(float nx, float ny, float zoff, int absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Z, Axis::Z, nx, ny, zoff, absolute); }
     935
     936//-----------------------------------------------------------------------------
     937void EasyMesh::TwistX(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::X, Axis::X, t, t, toff, 0); }
     938void EasyMesh::TwistY(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Y, Axis::Y, t, t, toff, 0); }
     939void EasyMesh::TwistZ(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Z, Axis::Z, t, t, toff, 0); }
     940
     941//-----------------------------------------------------------------------------
     942void EasyMesh::ShearX(float ny, float nz, float xoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::X, Axis::X, ny, nz, xoff, absolute); }
     943void EasyMesh::ShearY(float nx, float nz, float yoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Y, Axis::Y, nz, nx, yoff, absolute); }
     944void EasyMesh::ShearZ(float nx, float ny, float zoff, int absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Z, Axis::Z, nx, ny, zoff, absolute); }
     945
     946//-----------------------------------------------------------------------------
     947void EasyMesh::StretchX(float ny, float nz, float xoff) { DoMeshTransform(MeshTransform::Stretch, Axis::X, Axis::X, ny, nz, xoff, 0); }
     948void EasyMesh::StretchY(float nx, float nz, float yoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Y, Axis::Y, nz, nx, yoff, 0); }
     949void EasyMesh::StretchZ(float nx, float ny, float zoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Z, Axis::Z, nx, ny, zoff, 0); }
     950
     951//-----------------------------------------------------------------------------
     952void EasyMesh::BendXY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Y, t, t, toff, 0); }
     953void EasyMesh::BendXZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Z, t, t, toff, 0); }
     954void EasyMesh::BendYX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::X, t, t, toff, 0); }
     955void EasyMesh::BendYZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::Z, t, t, toff, 0); }
     956void EasyMesh::BendZX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::X, t, t, toff, 0); }
     957void EasyMesh::BendZY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::Y, t, t, toff, 0); }
     958
     959//-----------------------------------------------------------------------------
     960void EasyMesh::DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, int absolute)
     961{
    935962    for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++)
    936963    {
    937         m_vert[i].m1.y *= 1.f + (y * abs(m_vert[i].m1.x) + xoff);
    938         m_vert[i].m1.z *= 1.f + (z * abs(m_vert[i].m1.x) + xoff);
    939     }
    940 }
    941 
    942 //-----------------------------------------------------------------------------
    943 void EasyMesh::TaperY(float x, float z, float yoff)
    944 {
    945     for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++)
    946     {
    947         m_vert[i].m1.x *= 1.f + (x * abs(m_vert[i].m1.y) + yoff);
    948         m_vert[i].m1.z *= 1.f + (z * abs(m_vert[i].m1.y) + yoff);
    949     }
    950 }
    951 
    952 //-----------------------------------------------------------------------------
    953 void EasyMesh::TaperZ(float x, float y, float zoff)
    954 {
    955     for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++)
    956     {
    957         m_vert[i].m1.x *= 1.f + (x * abs(m_vert[i].m1.z) + zoff);
    958         m_vert[i].m1.y *= 1.f + (y * abs(m_vert[i].m1.z) + zoff);
    959     }
     964        switch (ct)
     965        {
     966            case MeshTransform::Taper:
     967            {
     968                float value = m_vert[i].m1[axis0];
     969                if (absolute) value = abs(value);
     970                m_vert[i].m1[(axis0 + 1) % 3] *= max(0.f, 1.f + (n0 * value + noff));
     971                m_vert[i].m1[(axis0 + 2) % 3] *= max(0.f, 1.f + (n1 * value + noff));
     972                break;
     973            }
     974            case MeshTransform::Twist:
     975            {
     976                vec3 rotaxis = vec3(1.f); rotaxis[(axis0 + 1) % 3] = .0f; rotaxis[(axis0 + 2) % 3] = .0f;
     977                m_vert[i].m1 = mat3::rotate(m_vert[i].m1[axis0] * n0 + noff, rotaxis) * m_vert[i].m1;
     978                break;
     979            }
     980            case MeshTransform::Shear:
     981            {
     982                float value = m_vert[i].m1[axis0];
     983                if (absolute) value = abs(value);
     984                m_vert[i].m1[(axis0 + 1) % 3] += (n0 * value + noff);
     985                m_vert[i].m1[(axis0 + 2) % 3] += (n1 * value + noff);
     986                break;
     987            }
     988            case MeshTransform::Stretch:
     989            {
     990                //float value = abs(m_vert[i].m1[axis0]);
     991                //m_vert[i].m1[(axis0 + 1) % 3] += (lol::pow(value, n0) + noff);
     992                //m_vert[i].m1[(axis0 + 2) % 3] += (lol::pow(value, n1) + noff);
     993                break;
     994            }
     995            case MeshTransform::Bend:
     996            {
     997                vec3 rotaxis = vec3(1.f); rotaxis[(axis1 + 1) % 3] = .0f; rotaxis[(axis1 + 2) % 3] = .0f;
     998                m_vert[i].m1 = mat3::rotate(m_vert[i].m1[axis0] * n0 + noff, rotaxis) * m_vert[i].m1;
     999                break;
     1000            }
     1001        }
     1002    }
     1003    ComputeNormals(m_cursors.Last().m2, m_indices.Count() - m_cursors.Last().m2);
    9601004}
    9611005
  • trunk/src/easymesh/easymesh.h

    r2405 r2406  
    7979};
    8080
     81struct Axis
     82{
     83    enum Value
     84    {
     85        X,
     86        Y,
     87        Z
     88    }
     89    m_value;
     90
     91    inline Axis(Value v) : m_value(v) {}
     92    inline operator Value() { return m_value; }
     93};
     94
    8195struct MeshBuildOperation
    8296{
     
    185199     */
    186200    void RadialJitter(float r);
    187     //TODO : twist
    188     //TODO : bend
    189     //TODO : stretch
    190     //TODO : shear
    191     /* [cmd:tax] multiply y&z by (1.0 + (n * x + xoff))
    192         - y : value of n for y.
    193         - z : value of n for z.
     201    /* [cmd:tax] multiply axis y&z by x as y *= (1.0 + (ny * x + xoff))
     202        - ny : value of n for y.
     203        - nz : value of n for z.
    194204        - xoff : value of xoff.
    195      */
    196     void TaperX(float y, float z, float xoff);
    197     /* [cmd:tay] multiply x&z by (1.0 + (n * y + yoff))
    198         - x : value of n for x.
    199         - z : value of n for z.
    200         - yoff : value of yoff.
    201      */
    202     void TaperY(float x, float z, float yoff);
    203     /* [cmd:taz] multiply x&y by (1.0 + (n * z + zoff))
    204         - x : value of n for x.
    205         - y : value of n for y.
    206         - zoff : value of zoff.
    207      */
    208     void TaperZ(float x, float y, float zoff);
     205        - absolute (def:1) : if (1) Multiply will use an absolute x.
     206     */
     207    void TaperX(float ny, float nz, float xoff, int absolute=1);
     208    /* [cmd:tay] Same as TaperX, with Y */
     209    void TaperY(float nx, float nz, float yoff, int absolute=1);
     210    /* [cmd:taz] Same as TaperX, with Z */
     211    void TaperZ(float nx, float ny, float zoff, int absolute=1);
     212    /* [cmd:twx] Twist vertices around x axis with x as rotation value as p = (RotateX(x * t + toff) * p)
     213        - t : Angle multiplier.
     214        - toff : Applied offset.
     215     */
     216    void TwistX(float t, float toff);
     217    /* [cmd:twy] Same as TwistX, with Y */
     218    void TwistY(float t, float toff);
     219    /* [cmd:twz] Same as TwistX, with Z */
     220    void TwistZ(float t, float toff);
     221    /* [cmd:shx] Shear vertices using x value as shear quantity as y += (ny * x + xoff)
     222        - ny : Value of n for y.
     223        - nz : Value of n for z.
     224        - xoff : Value of xoff.
     225        - absolute (def:1) : if (1) Multiply will use an absolute x.
     226     */
     227    void ShearX(float ny, float nz, float xoff, int absolute=1);
     228    /* [cmd:shy] Same as ShearX, with Y */
     229    void ShearY(float nx, float nz, float yoff, int absolute=1);
     230    /* [cmd:shz] Same as ShearX, with Z */
     231    void ShearZ(float nx, float ny, float zoff, int absolute=1);
     232    /* [cmd:stx] Stretch vertices using x value as stretch quantity as y += (pow(x, ny) + xoff)
     233        - ny : Value of n for y.
     234        - nz : Value of n for z.
     235        - xoff : Value of xoff.
     236     */
     237    void StretchX(float ny, float nz, float xoff);
     238    /* [cmd:sty] Same as StretchX, with Y */
     239    void StretchY(float nx, float nz, float yoff);
     240    /* [cmd:stz] Same as StretchX, with Z */
     241    void StretchZ(float nx, float ny, float zoff);
     242    /* [cmd:bdxy] Bend vertices using x as bend quantity along y axis using p = (RotateY(x * t + toff) * p)
     243        - t : Angle multiplier.
     244        - xoff : Applied offset.
     245     */
     246    void BendXY(float t, float toff);
     247    /* [cmd:bdxz] Same as BendXY, with X & Z */
     248    void BendXZ(float t, float toff);
     249    /* [cmd:bdyx] Same as BendXY, with Y & X */
     250    void BendYX(float t, float toff);
     251    /* [cmd:bdyz] Same as BendXY, with Y & Z */
     252    void BendYZ(float t, float toff);
     253    /* [cmd:bdzx] Same as BendXY, with Z & X */
     254    void BendZX(float t, float toff);
     255    /* [cmd:bdzy] Same as BendXY, with Z & Y */
     256    void BendZY(float t, float toff);
     257private:
     258    struct MeshTransform
     259    {
     260        enum Value
     261        {
     262            Taper,
     263            Twist,
     264            Bend,
     265            Stretch,
     266            Shear
     267        }
     268        m_value;
     269
     270        inline MeshTransform(Value v) : m_value(v) {}
     271        inline operator Value() { return m_value; }
     272    };
     273
     274    void DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, int absolute);
     275public:
    209276    /* [cmd:s/sx/sy/sz] Scale vertices
    210277        - s : scale quantity.
  • trunk/src/generated/easymesh-parser.cpp

    r2404 r2406  
    1 /* A Bison parser, made by GNU Bison 2.5.  */
     1/* A Bison parser, made by GNU Bison 2.4.2.  */
    22
    33/* Skeleton implementation for Bison LALR(1) parsers in C++
    44   
    5       Copyright (C) 2002-2011 Free Software Foundation, Inc.
     5      Copyright (C) 2002-2010 Free Software Foundation, Inc.
    66   
    77   This program is free software: you can redistribute it and/or modify
     
    547547/* Line 677 of lalr1.cc  */
    548548#line 129 "easymesh/easymesh-parser.y"
     549    { mc.m_mesh.TaperX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     550    break;
     551
     552  case 28:
     553
     554/* Line 677 of lalr1.cc  */
     555#line 130 "easymesh/easymesh-parser.y"
    549556    { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    550557    break;
    551558
    552   case 28:
    553 
    554 /* Line 677 of lalr1.cc  */
    555 #line 130 "easymesh/easymesh-parser.y"
     559  case 29:
     560
     561/* Line 677 of lalr1.cc  */
     562#line 131 "easymesh/easymesh-parser.y"
     563    { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     564    break;
     565
     566  case 30:
     567
     568/* Line 677 of lalr1.cc  */
     569#line 132 "easymesh/easymesh-parser.y"
    556570    { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    557571    break;
    558572
    559   case 29:
    560 
    561 /* Line 677 of lalr1.cc  */
    562 #line 131 "easymesh/easymesh-parser.y"
     573  case 31:
     574
     575/* Line 677 of lalr1.cc  */
     576#line 133 "easymesh/easymesh-parser.y"
     577    { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     578    break;
     579
     580  case 32:
     581
     582/* Line 677 of lalr1.cc  */
     583#line 134 "easymesh/easymesh-parser.y"
     584    { mc.m_mesh.TwistX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     585    break;
     586
     587  case 33:
     588
     589/* Line 677 of lalr1.cc  */
     590#line 135 "easymesh/easymesh-parser.y"
     591    { mc.m_mesh.TwistY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     592    break;
     593
     594  case 34:
     595
     596/* Line 677 of lalr1.cc  */
     597#line 136 "easymesh/easymesh-parser.y"
     598    { mc.m_mesh.TwistZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     599    break;
     600
     601  case 35:
     602
     603/* Line 677 of lalr1.cc  */
     604#line 137 "easymesh/easymesh-parser.y"
     605    { mc.m_mesh.ShearX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     606    break;
     607
     608  case 36:
     609
     610/* Line 677 of lalr1.cc  */
     611#line 138 "easymesh/easymesh-parser.y"
     612    { mc.m_mesh.ShearX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     613    break;
     614
     615  case 37:
     616
     617/* Line 677 of lalr1.cc  */
     618#line 139 "easymesh/easymesh-parser.y"
     619    { mc.m_mesh.ShearY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     620    break;
     621
     622  case 38:
     623
     624/* Line 677 of lalr1.cc  */
     625#line 140 "easymesh/easymesh-parser.y"
     626    { mc.m_mesh.ShearY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     627    break;
     628
     629  case 39:
     630
     631/* Line 677 of lalr1.cc  */
     632#line 141 "easymesh/easymesh-parser.y"
     633    { mc.m_mesh.ShearZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     634    break;
     635
     636  case 40:
     637
     638/* Line 677 of lalr1.cc  */
     639#line 142 "easymesh/easymesh-parser.y"
     640    { mc.m_mesh.ShearZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
     641    break;
     642
     643  case 41:
     644
     645/* Line 677 of lalr1.cc  */
     646#line 143 "easymesh/easymesh-parser.y"
     647    { mc.m_mesh.StretchX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     648    break;
     649
     650  case 42:
     651
     652/* Line 677 of lalr1.cc  */
     653#line 144 "easymesh/easymesh-parser.y"
     654    { mc.m_mesh.StretchY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     655    break;
     656
     657  case 43:
     658
     659/* Line 677 of lalr1.cc  */
     660#line 145 "easymesh/easymesh-parser.y"
     661    { mc.m_mesh.StretchZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
     662    break;
     663
     664  case 44:
     665
     666/* Line 677 of lalr1.cc  */
     667#line 146 "easymesh/easymesh-parser.y"
     668    { mc.m_mesh.BendXY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     669    break;
     670
     671  case 45:
     672
     673/* Line 677 of lalr1.cc  */
     674#line 147 "easymesh/easymesh-parser.y"
     675    { mc.m_mesh.BendXZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     676    break;
     677
     678  case 46:
     679
     680/* Line 677 of lalr1.cc  */
     681#line 148 "easymesh/easymesh-parser.y"
     682    { mc.m_mesh.BendYX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     683    break;
     684
     685  case 47:
     686
     687/* Line 677 of lalr1.cc  */
     688#line 149 "easymesh/easymesh-parser.y"
     689    { mc.m_mesh.BendYZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     690    break;
     691
     692  case 48:
     693
     694/* Line 677 of lalr1.cc  */
     695#line 150 "easymesh/easymesh-parser.y"
     696    { mc.m_mesh.BendZX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     697    break;
     698
     699  case 49:
     700
     701/* Line 677 of lalr1.cc  */
     702#line 151 "easymesh/easymesh-parser.y"
     703    { mc.m_mesh.BendZY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
     704    break;
     705
     706  case 50:
     707
     708/* Line 677 of lalr1.cc  */
     709#line 152 "easymesh/easymesh-parser.y"
    563710    { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, 1.0, 1.0)); }
    564711    break;
    565712
    566   case 30:
    567 
    568 /* Line 677 of lalr1.cc  */
    569 #line 132 "easymesh/easymesh-parser.y"
     713  case 51:
     714
     715/* Line 677 of lalr1.cc  */
     716#line 153 "easymesh/easymesh-parser.y"
    570717    { mc.m_mesh.Scale(vec3(1.0, (yysemantic_stack_[(2) - (2)].args).f0, 1.0)); }
    571718    break;
    572719
    573   case 31:
    574 
    575 /* Line 677 of lalr1.cc  */
    576 #line 133 "easymesh/easymesh-parser.y"
     720  case 52:
     721
     722/* Line 677 of lalr1.cc  */
     723#line 154 "easymesh/easymesh-parser.y"
    577724    { mc.m_mesh.Scale(vec3(1.0, 1.0, (yysemantic_stack_[(2) - (2)].args).f0)); }
    578725    break;
    579726
    580   case 32:
    581 
    582 /* Line 677 of lalr1.cc  */
    583 #line 134 "easymesh/easymesh-parser.y"
     727  case 53:
     728
     729/* Line 677 of lalr1.cc  */
     730#line 155 "easymesh/easymesh-parser.y"
    584731    { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }
    585732    break;
    586733
    587   case 33:
    588 
    589 /* Line 677 of lalr1.cc  */
    590 #line 135 "easymesh/easymesh-parser.y"
     734  case 54:
     735
     736/* Line 677 of lalr1.cc  */
     737#line 156 "easymesh/easymesh-parser.y"
    591738    { mc.m_mesh.MirrorX(); }
    592739    break;
    593740
    594   case 34:
    595 
    596 /* Line 677 of lalr1.cc  */
    597 #line 136 "easymesh/easymesh-parser.y"
     741  case 55:
     742
     743/* Line 677 of lalr1.cc  */
     744#line 157 "easymesh/easymesh-parser.y"
    598745    { mc.m_mesh.MirrorY(); }
    599746    break;
    600747
    601   case 35:
    602 
    603 /* Line 677 of lalr1.cc  */
    604 #line 137 "easymesh/easymesh-parser.y"
     748  case 56:
     749
     750/* Line 677 of lalr1.cc  */
     751#line 158 "easymesh/easymesh-parser.y"
    605752    { mc.m_mesh.MirrorZ(); }
    606753    break;
    607754
    608   case 36:
    609 
    610 /* Line 677 of lalr1.cc  */
    611 #line 138 "easymesh/easymesh-parser.y"
     755  case 57:
     756
     757/* Line 677 of lalr1.cc  */
     758#line 159 "easymesh/easymesh-parser.y"
    612759    { mc.m_mesh.RadialJitter((yysemantic_stack_[(2) - (2)].args).f0); }
    613760    break;
    614761
    615   case 37:
    616 
    617 /* Line 677 of lalr1.cc  */
    618 #line 139 "easymesh/easymesh-parser.y"
     762  case 58:
     763
     764/* Line 677 of lalr1.cc  */
     765#line 160 "easymesh/easymesh-parser.y"
    619766    { mc.m_mesh.ToggleScaleWinding(); }
    620767    break;
    621768
    622   case 38:
    623 
    624 /* Line 677 of lalr1.cc  */
    625 #line 140 "easymesh/easymesh-parser.y"
     769  case 59:
     770
     771/* Line 677 of lalr1.cc  */
     772#line 161 "easymesh/easymesh-parser.y"
    626773    { mc.m_mesh.CsgUnion(); }
    627774    break;
    628775
    629   case 39:
    630 
    631 /* Line 677 of lalr1.cc  */
    632 #line 141 "easymesh/easymesh-parser.y"
     776  case 60:
     777
     778/* Line 677 of lalr1.cc  */
     779#line 162 "easymesh/easymesh-parser.y"
    633780    { mc.m_mesh.CsgSubstract(); }
    634781    break;
    635782
    636   case 40:
    637 
    638 /* Line 677 of lalr1.cc  */
    639 #line 142 "easymesh/easymesh-parser.y"
     783  case 61:
     784
     785/* Line 677 of lalr1.cc  */
     786#line 163 "easymesh/easymesh-parser.y"
    640787    { mc.m_mesh.CsgSubstractLoss(); }
    641788    break;
    642789
    643   case 41:
    644 
    645 /* Line 677 of lalr1.cc  */
    646 #line 143 "easymesh/easymesh-parser.y"
     790  case 62:
     791
     792/* Line 677 of lalr1.cc  */
     793#line 164 "easymesh/easymesh-parser.y"
    647794    { mc.m_mesh.CsgAnd(); }
    648795    break;
    649796
    650   case 42:
    651 
    652 /* Line 677 of lalr1.cc  */
    653 #line 144 "easymesh/easymesh-parser.y"
     797  case 63:
     798
     799/* Line 677 of lalr1.cc  */
     800#line 165 "easymesh/easymesh-parser.y"
    654801    { mc.m_mesh.CsgXor(); }
    655802    break;
    656803
    657   case 43:
    658 
    659 /* Line 677 of lalr1.cc  */
    660 #line 148 "easymesh/easymesh-parser.y"
     804  case 64:
     805
     806/* Line 677 of lalr1.cc  */
     807#line 169 "easymesh/easymesh-parser.y"
    661808    { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    662809                                                 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3,
     
    664811    break;
    665812
    666   case 44:
    667 
    668 /* Line 677 of lalr1.cc  */
    669 #line 151 "easymesh/easymesh-parser.y"
     813  case 65:
     814
     815/* Line 677 of lalr1.cc  */
     816#line 172 "easymesh/easymesh-parser.y"
    670817    { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    671818                                                 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3,
     
    673820    break;
    674821
    675   case 45:
    676 
    677 /* Line 677 of lalr1.cc  */
    678 #line 154 "easymesh/easymesh-parser.y"
     822  case 66:
     823
     824/* Line 677 of lalr1.cc  */
     825#line 175 "easymesh/easymesh-parser.y"
    679826    { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }
    680827    break;
    681828
    682   case 46:
    683 
    684 /* Line 677 of lalr1.cc  */
    685 #line 155 "easymesh/easymesh-parser.y"
     829  case 67:
     830
     831/* Line 677 of lalr1.cc  */
     832#line 176 "easymesh/easymesh-parser.y"
    686833    { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    687834                                                            (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); }
    688835    break;
    689836
    690   case 47:
    691 
    692 /* Line 677 of lalr1.cc  */
    693 #line 157 "easymesh/easymesh-parser.y"
     837  case 68:
     838
     839/* Line 677 of lalr1.cc  */
     840#line 178 "easymesh/easymesh-parser.y"
    694841    { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    695842                                                          (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); }
    696843    break;
    697844
    698   case 48:
    699 
    700 /* Line 677 of lalr1.cc  */
    701 #line 159 "easymesh/easymesh-parser.y"
     845  case 69:
     846
     847/* Line 677 of lalr1.cc  */
     848#line 180 "easymesh/easymesh-parser.y"
    702849    { mc.m_mesh.AppendSphere((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1); }
    703850    break;
    704851
    705   case 49:
    706 
    707 /* Line 677 of lalr1.cc  */
    708 #line 160 "easymesh/easymesh-parser.y"
     852  case 70:
     853
     854/* Line 677 of lalr1.cc  */
     855#line 181 "easymesh/easymesh-parser.y"
    709856    { mc.m_mesh.AppendCapsule((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    710857    break;
    711858
    712   case 50:
    713 
    714 /* Line 677 of lalr1.cc  */
    715 #line 161 "easymesh/easymesh-parser.y"
     859  case 71:
     860
     861/* Line 677 of lalr1.cc  */
     862#line 182 "easymesh/easymesh-parser.y"
    716863    { mc.m_mesh.AppendTorus((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }
    717864    break;
    718865
    719   case 51:
    720 
    721 /* Line 677 of lalr1.cc  */
    722 #line 162 "easymesh/easymesh-parser.y"
     866  case 72:
     867
     868/* Line 677 of lalr1.cc  */
     869#line 183 "easymesh/easymesh-parser.y"
    723870    { mc.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2,
    724871                                             (int)(yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4); }
    725872    break;
    726873
    727   case 52:
    728 
    729 /* Line 677 of lalr1.cc  */
    730 #line 164 "easymesh/easymesh-parser.y"
     874  case 73:
     875
     876/* Line 677 of lalr1.cc  */
     877#line 185 "easymesh/easymesh-parser.y"
    731878    { mc.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    732879                                                     (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); }
    733880    break;
    734881
    735   case 53:
    736 
    737 /* Line 677 of lalr1.cc  */
    738 #line 166 "easymesh/easymesh-parser.y"
     882  case 74:
     883
     884/* Line 677 of lalr1.cc  */
     885#line 187 "easymesh/easymesh-parser.y"
    739886    { mc.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); }
    740887    break;
    741888
    742   case 54:
    743 
    744 /* Line 677 of lalr1.cc  */
    745 #line 167 "easymesh/easymesh-parser.y"
     889  case 75:
     890
     891/* Line 677 of lalr1.cc  */
     892#line 188 "easymesh/easymesh-parser.y"
    746893    { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }
    747894    break;
    748895
    749   case 55:
    750 
    751 /* Line 677 of lalr1.cc  */
    752 #line 168 "easymesh/easymesh-parser.y"
     896  case 76:
     897
     898/* Line 677 of lalr1.cc  */
     899#line 189 "easymesh/easymesh-parser.y"
    753900    { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }
    754901    break;
    755902
    756   case 56:
    757 
    758 /* Line 677 of lalr1.cc  */
    759 #line 169 "easymesh/easymesh-parser.y"
     903  case 77:
     904
     905/* Line 677 of lalr1.cc  */
     906#line 190 "easymesh/easymesh-parser.y"
    760907    { mc.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,
    761908                                 (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,
     
    763910    break;
    764911
    765   case 57:
    766 
    767 /* Line 677 of lalr1.cc  */
    768 #line 174 "easymesh/easymesh-parser.y"
     912  case 78:
     913
     914/* Line 677 of lalr1.cc  */
     915#line 195 "easymesh/easymesh-parser.y"
    769916    { (yyval.args).f0 = (yysemantic_stack_[(1) - (1)].fval); }
    770917    break;
    771918
    772   case 58:
    773 
    774 /* Line 677 of lalr1.cc  */
    775 #line 175 "easymesh/easymesh-parser.y"
     919  case 79:
     920
     921/* Line 677 of lalr1.cc  */
     922#line 196 "easymesh/easymesh-parser.y"
    776923    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f1 = (yysemantic_stack_[(2) - (2)].fval); }
    777924    break;
    778925
    779   case 59:
    780 
    781 /* Line 677 of lalr1.cc  */
    782 #line 176 "easymesh/easymesh-parser.y"
     926  case 80:
     927
     928/* Line 677 of lalr1.cc  */
     929#line 197 "easymesh/easymesh-parser.y"
    783930    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f2 = (yysemantic_stack_[(2) - (2)].fval); }
    784931    break;
    785932
    786   case 60:
    787 
    788 /* Line 677 of lalr1.cc  */
    789 #line 177 "easymesh/easymesh-parser.y"
     933  case 81:
     934
     935/* Line 677 of lalr1.cc  */
     936#line 198 "easymesh/easymesh-parser.y"
    790937    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f3 = (yysemantic_stack_[(2) - (2)].fval); }
    791938    break;
    792939
    793   case 61:
    794 
    795 /* Line 677 of lalr1.cc  */
    796 #line 178 "easymesh/easymesh-parser.y"
     940  case 82:
     941
     942/* Line 677 of lalr1.cc  */
     943#line 199 "easymesh/easymesh-parser.y"
    797944    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f4 = (yysemantic_stack_[(2) - (2)].fval); }
    798945    break;
    799946
    800   case 62:
    801 
    802 /* Line 677 of lalr1.cc  */
    803 #line 179 "easymesh/easymesh-parser.y"
     947  case 83:
     948
     949/* Line 677 of lalr1.cc  */
     950#line 200 "easymesh/easymesh-parser.y"
    804951    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f5 = (yysemantic_stack_[(2) - (2)].fval); }
    805952    break;
    806953
    807   case 63:
    808 
    809 /* Line 677 of lalr1.cc  */
    810 #line 180 "easymesh/easymesh-parser.y"
     954  case 84:
     955
     956/* Line 677 of lalr1.cc  */
     957#line 201 "easymesh/easymesh-parser.y"
    811958    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f6 = (yysemantic_stack_[(2) - (2)].fval); }
    812959    break;
    813960
    814   case 64:
    815 
    816 /* Line 677 of lalr1.cc  */
    817 #line 181 "easymesh/easymesh-parser.y"
     961  case 85:
     962
     963/* Line 677 of lalr1.cc  */
     964#line 202 "easymesh/easymesh-parser.y"
    818965    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f7 = (yysemantic_stack_[(2) - (2)].fval); }
    819966    break;
    820967
    821   case 65:
    822 
    823 /* Line 677 of lalr1.cc  */
    824 #line 182 "easymesh/easymesh-parser.y"
     968  case 86:
     969
     970/* Line 677 of lalr1.cc  */
     971#line 203 "easymesh/easymesh-parser.y"
    825972    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f8 = (yysemantic_stack_[(2) - (2)].fval); }
    826973    break;
    827974
    828   case 66:
    829 
    830 /* Line 677 of lalr1.cc  */
    831 #line 183 "easymesh/easymesh-parser.y"
     975  case 87:
     976
     977/* Line 677 of lalr1.cc  */
     978#line 204 "easymesh/easymesh-parser.y"
    832979    { (yyval.args) = (yysemantic_stack_[(2) - (1)].args); (yyval.args).f9 = (yysemantic_stack_[(2) - (2)].fval); }
    833980    break;
    834981
    835   case 67:
    836 
    837 /* Line 677 of lalr1.cc  */
    838 #line 186 "easymesh/easymesh-parser.y"
     982  case 88:
     983
     984/* Line 677 of lalr1.cc  */
     985#line 207 "easymesh/easymesh-parser.y"
    839986    { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); }
    840987    break;
    841988
    842   case 68:
    843 
    844 /* Line 677 of lalr1.cc  */
    845 #line 187 "easymesh/easymesh-parser.y"
     989  case 89:
     990
     991/* Line 677 of lalr1.cc  */
     992#line 208 "easymesh/easymesh-parser.y"
    846993    { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); }
    847994    break;
     
    850997
    851998/* Line 677 of lalr1.cc  */
    852 #line 853 "generated/easymesh-parser.cpp"
     999#line 1000 "generated/easymesh-parser.cpp"
    8531000        default:
    8541001          break;
     
    10551202  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    10561203     STATE-NUM.  */
    1057   const signed char EasyMeshParser::yypact_ninf_ = -10;
     1204  const signed char EasyMeshParser::yypact_ninf_ = -69;
    10581205  const signed char
    10591206  EasyMeshParser::yypact_[] =
    10601207  {
    1061         -3,    29,    31,    16,    16,    16,    16,   -10,    16,    16,
    1062       16,    16,   -10,    16,    16,    16,    16,   -10,    16,    16,
    1063      -10,    16,   -10,   -10,   -10,   -10,   -10,    16,    16,    16,
    1064       16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
    1065       16,   -10,    42,    50,    -3,    -3,    83,   -10,   -10,   -10,
    1066      -10,   -10,   -10,    16,    16,    16,    16,   -10,   -10,   -10,
    1067      -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,
    1068      -10,   -10,   -10,   -10,   -10,   -10,   -10,    16,    16,    16,
    1069      -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,
    1070      -10,    16,    16,    16,    16,   -10,   -10,   -10,   -10,   -10,
    1071        5,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,   -10,
    1072      -10,   -10,   -10,   -10
     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
    10731223  };
    10741224
     
    10791229  EasyMeshParser::yydefact_[] =
    10801230  {
    1081          0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    1082        0,     0,    34,     0,     0,     0,     0,    35,     0,     0,
    1083       37,     0,    38,    39,    40,    41,    42,     0,     0,     0,
    1084        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1085        0,     7,     0,     0,     3,     0,     5,     9,    11,    12,
    1086       13,    67,    15,     0,     0,     0,     0,    14,    57,    17,
    1087       16,    19,    23,    26,    29,    20,    24,    27,    30,    21,
    1088       25,    28,    31,    22,    32,    36,    18,     0,     0,    43,
    1089       44,    45,    46,    47,    48,    49,    51,    52,    53,    54,
    1090       55,     0,     0,     0,     0,    56,    50,     1,     2,     4,
    1091        0,    10,    68,    58,    59,    60,    61,    62,    63,    64,
    1092       65,    66,     8,     6
     1231         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1232       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     1233       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
    10931246  };
    10941247
     
    10971250  EasyMeshParser::yypgoto_[] =
    10981251  {
    1099        -10,   -10,    -4,   -10,   -10,   -10,   -10,     9,   -10,   -10,
    1100      -10,    45,    25,   121,   128,    33,    26,    32,   -10,   -10,
    1101      -10,    -9
     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
    11021255  };
    11031256
    11041257  /* YYDEFGOTO[NTERM-NUM].  */
    1105   const signed char
     1258  const short int
    11061259  EasyMeshParser::yydefgoto_[] =
    11071260  {
    1108         -1,    42,    43,    44,    45,   113,    46,    47,    48,    49,
    1109       50,    54,    55,    56,    77,    78,    79,    80,    93,    94,
    1110       95,    58
     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
    11111264  };
    11121265
     
    11181271  EasyMeshParser::yytable_[] =
    11191272  {
    1120          1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
     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,
     1286       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     1287      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     1288      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
     1289      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,
    11211319      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    11221320      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
    11231321      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
    1124       99,   100,    97,    41,   102,   103,   104,   105,    61,    62,
    1125       98,    64,   112,    65,    66,   101,    68,    84,    69,    70,
    1126       51,    72,    89,    90,    53,    91,    75,    86,   106,   107,
    1127      108,    92,    76,    51,    52,    51,    59,    53,     0,    53,
    1128        0,     0,   108,   109,   110,   111,     1,     2,     3,     4,
    1129        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1130       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1131       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    1132       35,    36,    37,    38,    39,    40,    63,     0,     0,    57,
    1133       60,    67,     0,     0,     0,     0,    71,     0,     0,    73,
    1134       74,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1135       81,     0,     0,     0,    85,     0,     0,    88,    82,    83,
    1136        0,    96,     0,    87
    1137   };
    1138 
    1139   /* YYCHECK.  */
    1140   const signed char
    1141   EasyMeshParser::yycheck_[] =
    1142   {
    1143          3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    1144       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    1145       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
    1146       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    1147       44,    45,     0,    46,    53,    54,    55,    56,     3,     4,
    1148        0,     6,    47,     8,     9,    46,    11,    32,    13,    14,
    1149       44,    16,    37,    38,    48,    39,    21,    34,    77,    78,
    1150       79,    39,    27,    44,    45,    44,    45,    48,    -1,    48,
    1151       -1,    -1,    91,    92,    93,    94,     3,     4,     5,     6,
    1152        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    1153       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    1154       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    1155       37,    38,    39,    40,    41,    42,     5,    -1,    -1,     1,
    1156        2,    10,    -1,    -1,    -1,    -1,    15,    -1,    -1,    18,
    1157       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1158       29,    -1,    -1,    -1,    33,    -1,    -1,    36,    30,    31,
    1159       -1,    40,    -1,    35
     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
    11601333  };
    11611334
     
    11691342      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
    11701343      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
    1171       42,    46,    50,    51,    52,    53,    55,    56,    57,    58,
    1172       59,    44,    45,    48,    60,    61,    62,    63,    70,    45,
    1173       63,    60,    60,    62,    60,    60,    60,    62,    60,    60,
    1174       60,    62,    60,    62,    62,    60,    60,    63,    64,    65,
    1175       66,    62,    63,    63,    61,    62,    64,    63,    62,    61,
    1176       61,    65,    66,    67,    68,    69,    62,     0,     0,    51,
    1177       51,    56,    70,    70,    70,    70,    70,    70,    70,    70,
    1178       70,    70,    47,    54
     1344      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
    11791355  };
    11801356
     
    11891365     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    11901366     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    1191      295,   296,   297,   298,   299,   300,    91,    93,    45
     1367     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     1368     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     1369     315,    91,    93,    45
    11921370  };
    11931371#endif
     
    11971375  EasyMeshParser::yyr1_[] =
    11981376  {
    1199          0,    49,    50,    51,    51,    52,    52,    53,    54,    55,
    1200       55,    56,    56,    56,    57,    57,    57,    57,    58,    58,
    1201       58,    58,    58,    58,    58,    58,    58,    58,    58,    58,
    1202       58,    58,    58,    58,    58,    58,    58,    58,    58,    58,
    1203       58,    58,    58,    59,    59,    59,    59,    59,    59,    59,
    1204       59,    59,    59,    59,    59,    59,    59,    60,    61,    62,
    1205       63,    64,    65,    66,    67,    68,    69,    70,    70
     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
    12061386  };
    12071387
     
    12131393       2,     1,     1,     1,     2,     2,     2,     2,     2,     2,
    12141394       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1215        2,     2,     2,     1,     1,     1,     2,     1,     1,     1,
    1216        1,     1,     1,     2,     2,     2,     2,     2,     2,     2,
    1217        2,     2,     2,     2,     2,     2,     2,     1,     2,     2,
    1218        2,     2,     2,     2,     2,     2,     2,     1,     2
     1395       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     1396       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
    12191401  };
    12201402
     
    12261408  {
    12271409    "T_END", "error", "$undefined", "T_COLOR", "T_BGCOLOR", "T_TRANSLATEX",
    1228   "T_ROTATEX", "T_TAPERX", "T_SCALEX", "T_MIRRORX", "T_TRANSLATEY",
    1229   "T_ROTATEY", "T_TAPERY", "T_SCALEY", "T_MIRRORY", "T_TRANSLATEZ",
    1230   "T_ROTATEZ", "T_TAPERZ", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE",
     1410  "T_ROTATEX", "T_TAPERX", "T_TWISTX", "T_SHEARX", "T_STRETCHX",
     1411  "T_BENDXY", "T_BENDXZ", "T_SCALEX", "T_MIRRORX", "T_TRANSLATEY",
     1412  "T_ROTATEY", "T_TAPERY", "T_TWISTY", "T_SHEARY", "T_STRETCHY",
     1413  "T_BENDYX", "T_BENDYZ", "T_SCALEY", "T_MIRRORY", "T_TRANSLATEZ",
     1414  "T_ROTATEZ", "T_TAPERZ", "T_TWISTZ", "T_SHEARZ", "T_STRETCHZ",
     1415  "T_BENDZX", "T_BENDZY", "T_SCALEZ", "T_MIRRORZ", "T_TRANSLATE",
    12311416  "T_SCALE", "T_TOGGLESCALEWINDING", "T_RADIALJITTER", "T_CSGUNION",
    12321417  "T_CSGSUBSTRACT", "T_CSGSUBSTRACTLOSS", "T_CSGAND", "T_CSGXOR",
     
    12471432  EasyMeshParser::yyrhs_[] =
    12481433  {
    1249         50,     0,    -1,    51,     0,    -1,    52,    -1,    52,    51,
    1250       -1,    55,    -1,    53,    51,    54,    -1,    46,    -1,    47,
    1251       -1,    56,    -1,    55,    56,    -1,    57,    -1,    58,    -1,
    1252       59,    -1,     3,    63,    -1,     3,    45,    -1,     4,    63,
    1253       -1,     4,    45,    -1,    29,    60,    -1,     5,    60,    -1,
    1254       10,    60,    -1,    15,    60,    -1,    20,    62,    -1,     6,
    1255       60,    -1,    11,    60,    -1,    16,    60,    -1,     7,    62,
    1256       -1,    12,    62,    -1,    17,    62,    -1,     8,    60,    -1,
    1257       13,    60,    -1,    18,    60,    -1,    21,    62,    -1,     9,
    1258       -1,    14,    -1,    19,    -1,    23,    60,    -1,    22,    -1,
    1259       24,    -1,    25,    -1,    26,    -1,    27,    -1,    28,    -1,
    1260       30,    65,    -1,    30,    66,    -1,    31,    62,    -1,    32,
    1261       63,    -1,    33,    63,    -1,    34,    61,    -1,    35,    62,
    1262       -1,    42,    62,    -1,    36,    64,    -1,    37,    63,    -1,
    1263       38,    62,    -1,    39,    61,    -1,    40,    61,    -1,    41,
    1264       69,    -1,    70,    -1,    60,    70,    -1,    61,    70,    -1,
    1265       62,    70,    -1,    63,    70,    -1,    64,    70,    -1,    65,
    1266       70,    -1,    66,    70,    -1,    67,    70,    -1,    68,    70,
    1267       -1,    44,    -1,    48,    70,    -1
     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
    12681459  };
    12691460
     
    12761467      23,    26,    28,    30,    32,    35,    38,    41,    44,    47,
    12771468      50,    53,    56,    59,    62,    65,    68,    71,    74,    77,
    1278       80,    83,    86,    89,    91,    93,    95,    98,   100,   102,
    1279      104,   106,   108,   110,   113,   116,   119,   122,   125,   128,
    1280      131,   134,   137,   140,   143,   146,   149,   152,   154,   157,
    1281      160,   163,   166,   169,   172,   175,   178,   181,   183
     1469      80,    83,    86,    89,    92,    95,    98,   101,   104,   107,
     1470     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
    12821475  };
    12831476
     
    12901483     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
    12911484     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
    1292      142,   143,   144,   148,   151,   154,   155,   157,   159,   160,
    1293      161,   162,   164,   166,   167,   168,   169,   174,   175,   176,
    1294      177,   178,   179,   180,   181,   182,   183,   186,   187
     1485     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
     1486     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
    12951490  };
    12961491
     
    13361531       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    13371532       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1338        2,     2,     2,     2,     2,    48,     2,     2,     2,     2,
    1339        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1340        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1341        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1342        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1343        2,    46,     2,    47,     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,
    13441539       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    13451540       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    13621557      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    13631558      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1364       45
     1559      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     1560      55,    56,    57,    58,    59,    60
    13651561    };
    13661562    if ((unsigned int) t <= yyuser_token_number_max_)
     
    13711567
    13721568  const int EasyMeshParser::yyeof_ = 0;
    1373   const int EasyMeshParser::yylast_ = 163;
     1569  const int EasyMeshParser::yylast_ = 266;
    13741570  const int EasyMeshParser::yynnts_ = 22;
    13751571  const int EasyMeshParser::yyempty_ = -2;
    1376   const int EasyMeshParser::yyfinal_ = 97;
     1572  const int EasyMeshParser::yyfinal_ = 133;
    13771573  const int EasyMeshParser::yyterror_ = 1;
    13781574  const int EasyMeshParser::yyerrcode_ = 256;
    1379   const int EasyMeshParser::yyntokens_ = 49;
    1380 
    1381   const unsigned int EasyMeshParser::yyuser_token_number_max_ = 300;
     1575  const int EasyMeshParser::yyntokens_ = 64;
     1576
     1577  const unsigned int EasyMeshParser::yyuser_token_number_max_ = 315;
    13821578  const EasyMeshParser::token_number_type EasyMeshParser::yyundef_token_ = 2;
    13831579
     
    13861582
    13871583/* Line 1053 of lalr1.cc  */
    1388 #line 1389 "generated/easymesh-parser.cpp"
     1584#line 1585 "generated/easymesh-parser.cpp"
    13891585
    13901586
    13911587/* Line 1055 of lalr1.cc  */
    1392 #line 190 "easymesh/easymesh-parser.y"
     1588#line 211 "easymesh/easymesh-parser.y"
    13931589
    13941590
  • trunk/src/generated/easymesh-parser.h

    r2404 r2406  
    33/* Skeleton interface for Bison LALR(1) parsers in C++
    44   
    5       Copyright (C) 2002-2011 Free Software Foundation, Inc.
     5      Copyright (C) 2002-2010 Free Software Foundation, Inc.
    66   
    77   This program is free software: you can redistribute it and/or modify
     
    138138     T_ROTATEX = 261,
    139139     T_TAPERX = 262,
    140      T_SCALEX = 263,
    141      T_MIRRORX = 264,
    142      T_TRANSLATEY = 265,
    143      T_ROTATEY = 266,
    144      T_TAPERY = 267,
    145      T_SCALEY = 268,
    146      T_MIRRORY = 269,
    147      T_TRANSLATEZ = 270,
    148      T_ROTATEZ = 271,
    149      T_TAPERZ = 272,
    150      T_SCALEZ = 273,
    151      T_MIRRORZ = 274,
    152      T_TRANSLATE = 275,
    153      T_SCALE = 276,
    154      T_TOGGLESCALEWINDING = 277,
    155      T_RADIALJITTER = 278,
    156      T_CSGUNION = 279,
    157      T_CSGSUBSTRACT = 280,
    158      T_CSGSUBSTRACTLOSS = 281,
    159      T_CSGAND = 282,
    160      T_CSGXOR = 283,
    161      T_CHAMFER = 284,
    162      T_CYLINDER = 285,
    163      T_BOX = 286,
    164      T_SMOOTHCHAMFBOX = 287,
    165      T_FLATCHAMFBOX = 288,
    166      T_SPHERE = 289,
    167      T_CAPSULE = 290,
    168      T_STAR = 291,
    169      T_EXPANDEDSTAR = 292,
    170      T_DISC = 293,
    171      T_TRIANGLE = 294,
    172      T_QUAD = 295,
    173      T_COG = 296,
    174      T_TORUS = 297,
    175      T_ERROR = 298,
    176      NUMBER = 299,
    177      COLOR = 300
     140     T_TWISTX = 263,
     141     T_SHEARX = 264,
     142     T_STRETCHX = 265,
     143     T_BENDXY = 266,
     144     T_BENDXZ = 267,
     145     T_SCALEX = 268,
     146     T_MIRRORX = 269,
     147     T_TRANSLATEY = 270,
     148     T_ROTATEY = 271,
     149     T_TAPERY = 272,
     150     T_TWISTY = 273,
     151     T_SHEARY = 274,
     152     T_STRETCHY = 275,
     153     T_BENDYX = 276,
     154     T_BENDYZ = 277,
     155     T_SCALEY = 278,
     156     T_MIRRORY = 279,
     157     T_TRANSLATEZ = 280,
     158     T_ROTATEZ = 281,
     159     T_TAPERZ = 282,
     160     T_TWISTZ = 283,
     161     T_SHEARZ = 284,
     162     T_STRETCHZ = 285,
     163     T_BENDZX = 286,
     164     T_BENDZY = 287,
     165     T_SCALEZ = 288,
     166     T_MIRRORZ = 289,
     167     T_TRANSLATE = 290,
     168     T_SCALE = 291,
     169     T_TOGGLESCALEWINDING = 292,
     170     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
    178193   };
    179194
     
    262277
    263278    static const short int yypgoto_[];
    264     static const signed char yydefgoto_[];
     279    static const short int yydefgoto_[];
    265280
    266281    /// What to do in a state.
     
    272287    static const signed char yytable_ninf_;
    273288
    274     static const signed char yycheck_[];
     289    static const short int yycheck_[];
    275290
    276291    /// For a state, its accessing symbol.
     
    349364
    350365/* Line 34 of lalr1.cc  */
    351 #line 352 "generated/easymesh-parser.h"
     366#line 367 "generated/easymesh-parser.h"
    352367
    353368
  • trunk/src/generated/easymesh-scanner.cpp

    r2404 r2406  
    331331        (yy_c_buf_p) = yy_cp;
    332332
    333 #define YY_NUM_RULES 52
    334 #define YY_END_OF_BUFFER 53
     333#define YY_NUM_RULES 67
     334#define YY_END_OF_BUFFER 68
    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[83] =
     342static yyconst flex_int16_t yy_accept[106] =
    343343    {   0,
    344         0,    0,   53,   51,   50,   49,   51,   51,   46,   51,
    345        45,   47,   48,   51,   51,   51,   51,   17,    7,    0,
    346         0,   45,   45,    0,   28,   29,   32,    0,    0,   35,
    347        36,   39,    3,    0,   19,   20,   21,   22,    8,    9,
    348        10,    1,   14,   15,   16,    0,    0,    4,    5,    6,
    349         0,    0,   45,    0,   31,   33,    0,    0,    0,   40,
    350         0,    2,   11,   12,   13,   18,   41,   30,   34,   37,
    351        38,   26,   24,   23,   27,   42,   25,    0,   43,    0,
    352        44,    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
    353356    } ;
    354357
     
    393396    } ;
    394397
    395 static yyconst flex_int16_t yy_base[91] =
     398static yyconst flex_int16_t yy_base[114] =
    396399    {   0,
    397         0,    0,  113,  114,  114,  114,    0,   28,   30,  104,
    398        32,  114,  114,   36,   27,   11,   25,   41,   35,    0,
    399       103,   69,   70,   76,  114,   47,  114,   82,   94,  114,
    400        46,   84,  114,   88,  114,  114,  114,  114,  114,  114,
    401       114,   92,  114,  114,  114,   56,   74,  114,  114,  114,
    402         0,   96,   95,   76,  114,  114,   85,   83,   76,  114,
    403        70,  114,  114,  114,  114,  114,    0,  114,  114,  114,
    404       114,  114,   73,  114,  114,    0,  114,    0,    0,    0,
    405       114,  114,   92,   91,   90,   89,   83,   70,   68,   39
     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
    406413    } ;
    407414
    408 static yyconst flex_int16_t yy_def[91] =
     415static yyconst flex_int16_t yy_def[114] =
    409416    {   0,
    410        82,    1,   82,   82,   82,   82,   83,   82,   82,   82,
    411        82,   82,   82,   82,   82,   82,   82,   82,   82,   84,
    412        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    413        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    414        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    415        85,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    416        82,   82,   82,   82,   82,   82,   86,   82,   82,   82,
    417        82,   82,   82,   82,   82,   87,   82,   88,   89,   90,
    418        82,    0,   82,   82,   82,   82,   82,   82,   82,   82
     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
    419430    } ;
    420431
    421 static yyconst flex_int16_t yy_nxt[149] =
     432static yyconst flex_int16_t yy_nxt[171] =
    422433    {   0,
    423434        4,    5,    6,    7,    8,    9,   10,   11,    4,    4,
    424        12,   13,   14,    4,   15,    4,    4,    4,    4,    4,
    425         4,    4,   16,    4,    4,    4,   17,   18,   19,    4,
    426         4,    4,    4,    4,   21,   22,   21,   22,   21,   22,
    427        81,   24,   35,   36,   37,   38,   33,   46,   24,   25,
    428        26,   27,   28,   29,   34,   42,   39,   40,   41,   54,
    429        58,   30,   47,   31,   32,   55,   48,   49,   50,   80,
    430        59,   79,   43,   44,   45,   21,   22,   23,   24,   24,
    431        52,   52,   72,   53,   78,   24,   24,   63,   64,   65,
    432        76,   67,   51,   20,   77,   71,   70,   73,   69,   74,
    433 
    434        68,   75,   53,   53,   66,   62,   61,   60,   57,   56,
    435        23,   23,   82,    3,   82,   82,   82,   82,   82,   82,
    436        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    437        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    438        82,   82,   82,   82,   82,   82,   82,   82
     435       12,   13,   14,   15,   16,    4,    4,    4,    4,    4,
     436        4,    4,   17,    4,    4,    4,   18,   19,   20,    4,
     437        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
    439452    } ;
    440453
    441 static yyconst flex_int16_t yy_chk[149] =
     454static yyconst flex_int16_t yy_chk[171] =
    442455    {   0,
    443456        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    445458        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    446459        1,    1,    1,    1,    8,    8,    9,    9,   11,   11,
    447        90,   11,   16,   16,   16,   17,   15,   19,   11,   14,
    448        14,   14,   14,   14,   15,   18,   17,   17,   17,   26,
    449        31,   14,   19,   14,   14,   26,   19,   19,   19,   89,
    450        31,   88,   18,   18,   18,   22,   22,   23,   22,   23,
    451        24,   24,   61,   24,   87,   22,   23,   46,   46,   46,
    452        86,   85,   84,   83,   73,   59,   58,   61,   57,   61,
    453 
    454        54,   61,   53,   52,   47,   42,   34,   32,   29,   28,
    455        21,   10,    3,   82,   82,   82,   82,   82,   82,   82,
    456        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    457        82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
    458        82,   82,   82,   82,   82,   82,   82,   82
     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
    459474    } ;
    460475
     
    505520#define YY_NO_UNISTD_H
    506521#define YY_USER_ACTION yylloc->columns(yyleng);
    507 #line 508 "generated/easymesh-scanner.cpp"
     522#line 523 "generated/easymesh-scanner.cpp"
    508523
    509524#define INITIAL 0
     
    618633
    619634
    620 #line 621 "generated/easymesh-scanner.cpp"
     635#line 636 "generated/easymesh-scanner.cpp"
    621636
    622637        if ( !(yy_init) )
     
    671686                                {
    672687                                yy_current_state = (int) yy_def[yy_current_state];
    673                                 if ( yy_current_state >= 83 )
     688                                if ( yy_current_state >= 106 )
    674689                                        yy_c = yy_meta[(unsigned int) yy_c];
    675690                                }
     
    677692                        ++yy_cp;
    678693                        }
    679                 while ( yy_current_state != 82 );
     694                while ( yy_current_state != 105 );
    680695                yy_cp = (yy_last_accepting_cpos);
    681696                yy_current_state = (yy_last_accepting_state);
     
    765780YY_RULE_SETUP
    766781#line 65 "easymesh/easymesh-scanner.l"
     782{ return token::T_TWISTX; }
     783        YY_BREAK
     784case 15:
     785YY_RULE_SETUP
     786#line 66 "easymesh/easymesh-scanner.l"
     787{ return token::T_TWISTY; }
     788        YY_BREAK
     789case 16:
     790YY_RULE_SETUP
     791#line 67 "easymesh/easymesh-scanner.l"
     792{ return token::T_TWISTZ; }
     793        YY_BREAK
     794case 17:
     795YY_RULE_SETUP
     796#line 68 "easymesh/easymesh-scanner.l"
     797{ return token::T_SHEARX; }
     798        YY_BREAK
     799case 18:
     800YY_RULE_SETUP
     801#line 69 "easymesh/easymesh-scanner.l"
     802{ return token::T_SHEARY; }
     803        YY_BREAK
     804case 19:
     805YY_RULE_SETUP
     806#line 70 "easymesh/easymesh-scanner.l"
     807{ return token::T_SHEARZ; }
     808        YY_BREAK
     809case 20:
     810YY_RULE_SETUP
     811#line 71 "easymesh/easymesh-scanner.l"
     812{ return token::T_STRETCHX; }
     813        YY_BREAK
     814case 21:
     815YY_RULE_SETUP
     816#line 72 "easymesh/easymesh-scanner.l"
     817{ return token::T_STRETCHY; }
     818        YY_BREAK
     819case 22:
     820YY_RULE_SETUP
     821#line 73 "easymesh/easymesh-scanner.l"
     822{ return token::T_STRETCHZ; }
     823        YY_BREAK
     824case 23:
     825YY_RULE_SETUP
     826#line 74 "easymesh/easymesh-scanner.l"
     827{ return token::T_BENDXY; }
     828        YY_BREAK
     829case 24:
     830YY_RULE_SETUP
     831#line 75 "easymesh/easymesh-scanner.l"
     832{ return token::T_BENDXZ; }
     833        YY_BREAK
     834case 25:
     835YY_RULE_SETUP
     836#line 76 "easymesh/easymesh-scanner.l"
     837{ return token::T_BENDYX; }
     838        YY_BREAK
     839case 26:
     840YY_RULE_SETUP
     841#line 77 "easymesh/easymesh-scanner.l"
     842{ return token::T_BENDYZ; }
     843        YY_BREAK
     844case 27:
     845YY_RULE_SETUP
     846#line 78 "easymesh/easymesh-scanner.l"
     847{ return token::T_BENDZX; }
     848        YY_BREAK
     849case 28:
     850YY_RULE_SETUP
     851#line 79 "easymesh/easymesh-scanner.l"
     852{ return token::T_BENDZY; }
     853        YY_BREAK
     854case 29:
     855YY_RULE_SETUP
     856#line 80 "easymesh/easymesh-scanner.l"
    767857{ return token::T_SCALEX; }
    768858        YY_BREAK
    769 case 15:
    770 YY_RULE_SETUP
    771 #line 66 "easymesh/easymesh-scanner.l"
     859case 30:
     860YY_RULE_SETUP
     861#line 81 "easymesh/easymesh-scanner.l"
    772862{ return token::T_SCALEY; }
    773863        YY_BREAK
    774 case 16:
    775 YY_RULE_SETUP
    776 #line 67 "easymesh/easymesh-scanner.l"
     864case 31:
     865YY_RULE_SETUP
     866#line 82 "easymesh/easymesh-scanner.l"
    777867{ return token::T_SCALEZ; }
    778868        YY_BREAK
    779 case 17:
    780 YY_RULE_SETUP
    781 #line 68 "easymesh/easymesh-scanner.l"
     869case 32:
     870YY_RULE_SETUP
     871#line 83 "easymesh/easymesh-scanner.l"
    782872{ return token::T_SCALE; }
    783873        YY_BREAK
    784 case 18:
    785 YY_RULE_SETUP
    786 #line 69 "easymesh/easymesh-scanner.l"
     874case 33:
     875YY_RULE_SETUP
     876#line 84 "easymesh/easymesh-scanner.l"
    787877{ return token::T_TOGGLESCALEWINDING; }
    788878        YY_BREAK
    789 case 19:
    790 YY_RULE_SETUP
    791 #line 70 "easymesh/easymesh-scanner.l"
     879case 34:
     880YY_RULE_SETUP
     881#line 85 "easymesh/easymesh-scanner.l"
    792882{ return token::T_MIRRORX; }
    793883        YY_BREAK
    794 case 20:
    795 YY_RULE_SETUP
    796 #line 71 "easymesh/easymesh-scanner.l"
     884case 35:
     885YY_RULE_SETUP
     886#line 86 "easymesh/easymesh-scanner.l"
    797887{ return token::T_MIRRORY; }
    798888        YY_BREAK
    799 case 21:
    800 YY_RULE_SETUP
    801 #line 72 "easymesh/easymesh-scanner.l"
     889case 36:
     890YY_RULE_SETUP
     891#line 87 "easymesh/easymesh-scanner.l"
    802892{ return token::T_MIRRORZ; }
    803893        YY_BREAK
    804 case 22:
    805 YY_RULE_SETUP
    806 #line 73 "easymesh/easymesh-scanner.l"
     894case 37:
     895YY_RULE_SETUP
     896#line 88 "easymesh/easymesh-scanner.l"
    807897{ return token::T_RADIALJITTER; }
    808898        YY_BREAK
    809 case 23:
    810 YY_RULE_SETUP
    811 #line 75 "easymesh/easymesh-scanner.l"
     899case 38:
     900YY_RULE_SETUP
     901#line 90 "easymesh/easymesh-scanner.l"
    812902{ return token::T_CSGUNION; }
    813903        YY_BREAK
    814 case 24:
    815 YY_RULE_SETUP
    816 #line 76 "easymesh/easymesh-scanner.l"
     904case 39:
     905YY_RULE_SETUP
     906#line 91 "easymesh/easymesh-scanner.l"
    817907{ return token::T_CSGSUBSTRACT; }
    818908        YY_BREAK
    819 case 25:
    820 YY_RULE_SETUP
    821 #line 77 "easymesh/easymesh-scanner.l"
     909case 40:
     910YY_RULE_SETUP
     911#line 92 "easymesh/easymesh-scanner.l"
    822912{ return token::T_CSGSUBSTRACTLOSS; }
    823913        YY_BREAK
    824 case 26:
    825 YY_RULE_SETUP
    826 #line 78 "easymesh/easymesh-scanner.l"
     914case 41:
     915YY_RULE_SETUP
     916#line 93 "easymesh/easymesh-scanner.l"
    827917{ return token::T_CSGAND; }
    828918        YY_BREAK
    829 case 27:
    830 YY_RULE_SETUP
    831 #line 79 "easymesh/easymesh-scanner.l"
     919case 42:
     920YY_RULE_SETUP
     921#line 94 "easymesh/easymesh-scanner.l"
    832922{ return token::T_CSGXOR; }
    833923        YY_BREAK
    834 case 28:
    835 YY_RULE_SETUP
    836 #line 81 "easymesh/easymesh-scanner.l"
     924case 43:
     925YY_RULE_SETUP
     926#line 96 "easymesh/easymesh-scanner.l"
    837927{ return token::T_BOX; }
    838928        YY_BREAK
    839 case 29:
    840 YY_RULE_SETUP
    841 #line 82 "easymesh/easymesh-scanner.l"
     929case 44:
     930YY_RULE_SETUP
     931#line 97 "easymesh/easymesh-scanner.l"
    842932{ return token::T_CYLINDER; }
    843933        YY_BREAK
    844 case 30:
    845 YY_RULE_SETUP
    846 #line 83 "easymesh/easymesh-scanner.l"
     934case 45:
     935YY_RULE_SETUP
     936#line 98 "easymesh/easymesh-scanner.l"
    847937{ return token::T_CAPSULE; }
    848938        YY_BREAK
    849 case 31:
    850 YY_RULE_SETUP
    851 #line 84 "easymesh/easymesh-scanner.l"
     939case 46:
     940YY_RULE_SETUP
     941#line 99 "easymesh/easymesh-scanner.l"
    852942{ return token::T_COG; }
    853943        YY_BREAK
    854 case 32:
    855 YY_RULE_SETUP
    856 #line 85 "easymesh/easymesh-scanner.l"
     944case 47:
     945YY_RULE_SETUP
     946#line 100 "easymesh/easymesh-scanner.l"
    857947{ return token::T_DISC; }
    858948        YY_BREAK
    859 case 33:
    860 YY_RULE_SETUP
    861 #line 86 "easymesh/easymesh-scanner.l"
     949case 48:
     950YY_RULE_SETUP
     951#line 101 "easymesh/easymesh-scanner.l"
    862952{ return token::T_EXPANDEDSTAR; }
    863953        YY_BREAK
    864 case 34:
    865 YY_RULE_SETUP
    866 #line 87 "easymesh/easymesh-scanner.l"
     954case 49:
     955YY_RULE_SETUP
     956#line 102 "easymesh/easymesh-scanner.l"
    867957{ return token::T_FLATCHAMFBOX; }
    868958        YY_BREAK
    869 case 35:
    870 YY_RULE_SETUP
    871 #line 88 "easymesh/easymesh-scanner.l"
     959case 50:
     960YY_RULE_SETUP
     961#line 103 "easymesh/easymesh-scanner.l"
    872962{ return token::T_QUAD; }
    873963        YY_BREAK
    874 case 36:
    875 YY_RULE_SETUP
    876 #line 89 "easymesh/easymesh-scanner.l"
     964case 51:
     965YY_RULE_SETUP
     966#line 104 "easymesh/easymesh-scanner.l"
    877967{ return token::T_STAR; }
    878968        YY_BREAK
    879 case 37:
    880 YY_RULE_SETUP
    881 #line 90 "easymesh/easymesh-scanner.l"
     969case 52:
     970YY_RULE_SETUP
     971#line 105 "easymesh/easymesh-scanner.l"
    882972{ return token::T_SMOOTHCHAMFBOX; }
    883973        YY_BREAK
    884 case 38:
    885 YY_RULE_SETUP
    886 #line 91 "easymesh/easymesh-scanner.l"
     974case 53:
     975YY_RULE_SETUP
     976#line 106 "easymesh/easymesh-scanner.l"
    887977{ return token::T_SPHERE; }
    888978        YY_BREAK
    889 case 39:
    890 YY_RULE_SETUP
    891 #line 92 "easymesh/easymesh-scanner.l"
     979case 54:
     980YY_RULE_SETUP
     981#line 107 "easymesh/easymesh-scanner.l"
    892982{ return token::T_TRIANGLE; }
    893983        YY_BREAK
    894 case 40:
    895 YY_RULE_SETUP
    896 #line 93 "easymesh/easymesh-scanner.l"
     984case 55:
     985YY_RULE_SETUP
     986#line 108 "easymesh/easymesh-scanner.l"
    897987{ return token::T_TORUS; }
    898988        YY_BREAK
    899 case 41:
    900 YY_RULE_SETUP
    901 #line 95 "easymesh/easymesh-scanner.l"
     989case 56:
     990YY_RULE_SETUP
     991#line 110 "easymesh/easymesh-scanner.l"
    902992{
    903993        uint32_t tmp = std::strtol(yytext + 1, NULL, 16);
     
    908998        return token::COLOR; }
    909999        YY_BREAK
    910 case 42:
    911 YY_RULE_SETUP
    912 #line 102 "easymesh/easymesh-scanner.l"
     1000case 57:
     1001YY_RULE_SETUP
     1002#line 117 "easymesh/easymesh-scanner.l"
    9131003{
    9141004        uint32_t tmp = std::strtol(yytext + 1, NULL, 16);
     
    9191009        return token::COLOR; }
    9201010        YY_BREAK
    921 case 43:
    922 YY_RULE_SETUP
    923 #line 109 "easymesh/easymesh-scanner.l"
     1011case 58:
     1012YY_RULE_SETUP
     1013#line 124 "easymesh/easymesh-scanner.l"
    9241014{
    9251015        yylval->u32val = 0xffu
     
    9271017        return token::COLOR; }
    9281018        YY_BREAK
    929 case 44:
    930 YY_RULE_SETUP
    931 #line 113 "easymesh/easymesh-scanner.l"
     1019case 59:
     1020YY_RULE_SETUP
     1021#line 128 "easymesh/easymesh-scanner.l"
    9321022{
    9331023        yylval->u32val = (uint32_t)std::strtol(yytext + 1, NULL, 16);
    9341024        return token::COLOR; }
    9351025        YY_BREAK
    936 case 45:
    937 YY_RULE_SETUP
    938 #line 116 "easymesh/easymesh-scanner.l"
     1026case 60:
     1027YY_RULE_SETUP
     1028#line 131 "easymesh/easymesh-scanner.l"
    9391029{
    9401030        yylval->fval = std::atof(yytext); return token::NUMBER; }
    9411031        YY_BREAK
    942 case 46:
    943 YY_RULE_SETUP
    944 #line 118 "easymesh/easymesh-scanner.l"
     1032case 61:
     1033YY_RULE_SETUP
     1034#line 133 "easymesh/easymesh-scanner.l"
    9451035{ return token_type('-'); }
    9461036        YY_BREAK
    947 case 47:
    948 YY_RULE_SETUP
    949 #line 119 "easymesh/easymesh-scanner.l"
     1037case 62:
     1038YY_RULE_SETUP
     1039#line 134 "easymesh/easymesh-scanner.l"
    9501040{ return token_type('['); }
    9511041        YY_BREAK
    952 case 48:
    953 YY_RULE_SETUP
    954 #line 120 "easymesh/easymesh-scanner.l"
     1042case 63:
     1043YY_RULE_SETUP
     1044#line 135 "easymesh/easymesh-scanner.l"
    9551045{ return token_type(']'); }
    9561046        YY_BREAK
    957 case 49:
    958 YY_RULE_SETUP
    959 #line 121 "easymesh/easymesh-scanner.l"
     1047case 64:
     1048YY_RULE_SETUP
     1049#line 136 "easymesh/easymesh-scanner.l"
    9601050{ /* ignore this */ }
    9611051        YY_BREAK
    962 case 50:
    963 /* rule 50 can match eol */
    964 YY_RULE_SETUP
    965 #line 122 "easymesh/easymesh-scanner.l"
     1052case 65:
     1053/* rule 65 can match eol */
     1054YY_RULE_SETUP
     1055#line 137 "easymesh/easymesh-scanner.l"
    9661056{ /* ignore this */ }
    9671057        YY_BREAK
    968 case 51:
    969 YY_RULE_SETUP
    970 #line 123 "easymesh/easymesh-scanner.l"
     1058case 66:
     1059YY_RULE_SETUP
     1060#line 138 "easymesh/easymesh-scanner.l"
    9711061{ return token::T_ERROR; }
    9721062        YY_BREAK
    973 case 52:
    974 YY_RULE_SETUP
    975 #line 125 "easymesh/easymesh-scanner.l"
     1063case 67:
     1064YY_RULE_SETUP
     1065#line 140 "easymesh/easymesh-scanner.l"
    9761066ECHO;
    9771067        YY_BREAK
    978 #line 979 "generated/easymesh-scanner.cpp"
     1068#line 1069 "generated/easymesh-scanner.cpp"
    9791069case YY_STATE_EOF(INITIAL):
    9801070        yyterminate();
     
    13581448                        {
    13591449                        yy_current_state = (int) yy_def[yy_current_state];
    1360                         if ( yy_current_state >= 83 )
     1450                        if ( yy_current_state >= 106 )
    13611451                                yy_c = yy_meta[(unsigned int) yy_c];
    13621452                        }
     
    13861476                {
    13871477                yy_current_state = (int) yy_def[yy_current_state];
    1388                 if ( yy_current_state >= 83 )
     1478                if ( yy_current_state >= 106 )
    13891479                        yy_c = yy_meta[(unsigned int) yy_c];
    13901480                }
    13911481        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    1392         yy_is_jam = (yy_current_state == 82);
     1482        yy_is_jam = (yy_current_state == 105);
    13931483
    13941484        return yy_is_jam ? 0 : yy_current_state;
     
    18771967#define YYTABLES_NAME "yytables"
    18781968
    1879 #line 125 "easymesh/easymesh-scanner.l"
     1969#line 140 "easymesh/easymesh-scanner.l"
    18801970
    18811971
  • trunk/test/MeshViewerBuffer.txt

    r2405 r2406  
    11//[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 tax .4 .4 0]
    22//[sc#88f ab 4 4 4]
    3 //[sc#ff2 asph 2 4 tx 4 tax 1 1 0]
    4 [sc#ff2 asph 2 4]
     3//[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]
     5//[sc#88f ab 4 4 4 tx 4 ab 4 4 4 tx -2 shz 1 0 0 0]
     6//[sc#ff2 asph 4 4 shx 0 0 0 0]
     7//[sc#ff2 asph 4 4 tax .4 .4 0]
     8//[sc#ff2 asph 2 4]
    59//[sc#ff2 acap 1 4 4]
    610//[sc#ff2 scb#ff2 ac 10 4 4 4 0 0 1]
Note: See TracChangeset for help on using the changeset viewer.