#################################################################################################### # # Invoking X3D model self-test: # # $ python M60.py # # Python package x3d.py package is available on PyPI for import. # This approach simplifies Python X3D deployment and use. # https://pypi.org/project/x3d # # Installation: # pip install x3d # or # python -m pip install x3d # # Developer options for loading x3d package in other Python programs: # # from x3d import * # preferred approach, terser source that avoids x3d.* class prefixes # # or # import x3d # traditional way to subclass x3d package, all classes require x3d.* prefix, # # but python source is very verbose, for example x3d.Material x3d.Shape etc. # # X3dToPython.xslt stylesheet insertPackagePrefix=true supports this option. # #################################################################################################### from x3d import * newModel=X3D(profile='Immersive',version='3.1', head=head( children=[ meta(content='M60.x3d',name='title'), meta(content='An M60 machine gun used on US Navy ships and RHIBs',name='description'), meta(content='LT Patrick Sullivan',name='creator'), meta(content='14 January 2005',name='created'), meta(content='28 November 2019',name='modified'), meta(content='https://savage.nps.edu/Savage/Weapons/CrewServedWeapons/M60.x3d',name='identifier'), meta(content='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit',name='generator'), meta(content='VizX3D, http://www.vivaty.com/downloads/studio',name='generator'), meta(content='Wings3D, http://www.wings3d.com',name='generator'), meta(content='../../license.html',name='license')]), Scene=Scene( children=[ WorldInfo(title='M60.x3d'), Transform(DEF='dad_M60',scale=(1.2,1.2,1.2),translation=(-2.752,-.59,0), children=[ Shape(DEF='M60', appearance=Appearance( material=Material(DEF='Black_mat',diffuseColor=(0,0,0))), geometry=IndexedFaceSet(coordIndex=[0,1,2,-1,0,2,3,-1,0,4,5,-1,0,5,6,-1,0,6,7,-1,0,7,8,-1,0,8,9,-1,0,9,10,-1,0,10,11,-1,0,11,12,-1,0,12,13,-1,0,13,14,-1,0,14,15,-1,0,15,16,-1,0,16,17,-1,0,17,1,-1,0,3,18,-1,0,18,4,-1,1,17,19,-1,1,19,2,-1,17,16,20,-1,17,20,19,-1,16,15,21,-1,16,21,20,-1,15,14,22,-1,15,22,21,-1,14,13,23,-1,14,23,22,-1,13,12,24,-1,13,24,23,-1,12,11,25,-1,12,25,24,-1,11,10,26,-1,11,26,25,-1,10,9,27,-1,10,27,26,-1,9,8,28,-1,9,28,27,-1,8,7,29,-1,8,29,28,-1,7,6,30,-1,7,30,29,-1,6,5,31,-1,6,31,30,-1,5,4,18,-1,5,18,31,-1,3,2,32,-1,3,32,33,-1,3,33,34,-1,3,34,18,-1,2,19,35,-1,2,35,32,-1,19,20,36,-1,19,36,35,-1,20,21,37,-1,20,37,36,-1,21,22,38,-1,21,38,37,-1,22,23,39,-1,22,39,38,-1,23,24,40,-1,23,40,39,-1,24,25,41,-1,24,41,40,-1,25,26,42,-1,25,42,41,-1,26,27,43,-1,26,43,42,-1,27,28,44,-1,27,44,43,-1,28,29,45,-1,28,45,44,-1,29,30,46,-1,29,46,45,-1,30,31,47,-1,30,47,46,-1,31,18,34,-1,31,34,47,-1,47,34,48,-1,47,48,49,-1,47,49,50,-1,47,50,46,-1,34,33,51,-1,34,51,48,-1,33,32,52,-1,33,52,51,-1,32,35,53,-1,32,53,52,-1,35,36,54,-1,35,54,53,-1,36,37,55,-1,36,55,54,-1,37,38,56,-1,37,56,55,-1,38,39,57,-1,38,57,56,-1,39,40,58,-1,39,58,57,-1,40,41,59,-1,40,59,58,-1,41,42,60,-1,41,60,59,-1,42,43,61,-1,42,61,60,-1,43,44,62,-1,43,62,61,-1,44,45,63,-1,44,63,62,-1,45,46,50,-1,45,50,63,-1,50,49,64,-1,50,64,65,-1,50,65,66,-1,50,66,63,-1,49,48,67,-1,49,67,64,-1,48,51,68,-1,48,68,67,-1,51,52,69,-1,51,69,68,-1,52,53,70,-1,52,70,69,-1,53,54,71,-1,53,71,70,-1,54,55,72,-1,54,72,71,-1,55,56,73,-1,55,73,72,-1,56,57,74,-1,56,74,73,-1,57,58,75,-1,57,75,74,-1,58,59,76,-1,58,76,75,-1,59,60,77,-1,59,77,76,-1,60,61,78,-1,60,78,77,-1,61,62,79,-1,61,79,78,-1,62,63,66,-1,62,66,79,-1,65,64,80,-1,65,80,81,-1,65,81,82,-1,65,82,66,-1,64,67,83,-1,64,83,80,-1,67,68,84,-1,67,84,83,-1,68,69,85,-1,68,85,84,-1,69,70,86,-1,69,86,85,-1,70,71,87,-1,70,87,86,-1,71,72,88,-1,71,88,87,-1,72,73,89,-1,72,89,88,-1,73,74,90,-1,73,90,89,-1,74,75,91,-1,74,91,90,-1,75,76,92,-1,75,92,91,-1,76,77,93,-1,76,93,92,-1,77,78,94,-1,77,94,93,-1,78,79,95,-1,78,95,94,-1,79,66,82,-1,79,82,95,-1,81,80,96,-1,81,96,97,-1,81,97,98,-1,81,98,82,-1,80,83,99,-1,80,99,96,-1,83,84,100,-1,83,100,99,-1,84,85,101,-1,84,101,100,-1,85,86,102,-1,85,102,101,-1,86,87,103,-1,86,103,102,-1,87,88,104,-1,87,104,103,-1,88,89,105,-1,88,105,104,-1,89,90,106,-1,89,106,105,-1,90,91,107,-1,90,107,106,-1,91,92,108,-1,91,108,107,-1,92,93,109,-1,92,109,108,-1,93,94,110,-1,93,110,109,-1,94,95,111,-1,94,111,110,-1,95,82,98,-1,95,98,111,-1,98,97,112,-1,98,112,113,-1,98,113,114,-1,98,114,111,-1,97,96,115,-1,97,115,112,-1,96,99,116,-1,96,116,115,-1,99,100,117,-1,99,117,116,-1,100,101,118,-1,100,118,117,-1,101,102,119,-1,101,119,118,-1,102,103,120,-1,102,120,119,-1,103,104,121,-1,103,121,120,-1,104,105,122,-1,104,122,121,-1,105,106,123,-1,105,123,122,-1,106,107,124,-1,106,124,123,-1,107,108,125,-1,107,125,124,-1,108,109,126,-1,108,126,125,-1,109,110,127,-1,109,127,126,-1,110,111,114,-1,110,114,127,-1,114,113,112,-1,114,112,115,-1,114,115,116,-1,114,116,117,-1,114,117,118,-1,114,118,119,-1,114,119,120,-1,114,120,121,-1,114,121,122,-1,114,122,123,-1,114,123,124,-1,114,124,125,-1,114,125,126,-1,114,126,127,-1,128,129,130,-1,128,130,131,-1,128,132,133,-1,128,133,134,-1,128,131,135,-1,128,135,132,-1,128,134,136,-1,128,136,129,-1,129,137,138,-1,129,138,130,-1,129,136,139,-1,129,139,137,-1,137,140,141,-1,137,141,138,-1,137,139,142,-1,137,142,140,-1,140,143,144,-1,140,144,141,-1,140,142,145,-1,140,145,143,-1,143,146,147,-1,143,147,144,-1,143,145,148,-1,143,148,146,-1,146,149,150,-1,146,150,147,-1,146,148,151,-1,146,151,149,-1,149,152,153,-1,149,153,150,-1,149,151,154,-1,149,154,152,-1,152,155,156,-1,152,156,153,-1,152,154,157,-1,152,157,155,-1,155,158,159,-1,155,159,156,-1,155,157,160,-1,155,160,158,-1,158,161,162,-1,158,162,159,-1,158,160,163,-1,158,163,161,-1,161,164,165,-1,161,165,162,-1,161,163,166,-1,161,166,164,-1,164,167,168,-1,164,168,165,-1,164,166,169,-1,164,169,167,-1,167,170,171,-1,167,171,168,-1,167,169,172,-1,167,172,170,-1,170,173,174,-1,170,174,171,-1,170,172,175,-1,170,175,173,-1,173,132,135,-1,173,135,174,-1,173,175,133,-1,173,133,132,-1,131,130,176,-1,131,176,177,-1,131,177,178,-1,131,178,135,-1,130,138,179,-1,130,179,176,-1,138,141,180,-1,138,180,179,-1,141,144,181,-1,141,181,180,-1,144,147,182,-1,144,182,181,-1,147,150,183,-1,147,183,182,-1,150,153,184,-1,150,184,183,-1,153,156,185,-1,153,185,184,-1,156,159,186,-1,156,186,185,-1,159,162,187,-1,159,187,186,-1,162,165,188,-1,162,188,187,-1,165,168,189,-1,165,189,188,-1,168,171,190,-1,168,190,189,-1,171,174,191,-1,171,191,190,-1,174,135,178,-1,174,178,191,-1,177,176,192,-1,177,192,193,-1,177,193,194,-1,177,194,178,-1,176,179,195,-1,176,195,192,-1,179,180,196,-1,179,196,195,-1,180,181,197,-1,180,197,196,-1,181,182,198,-1,181,198,197,-1,182,183,199,-1,182,199,198,-1,183,184,200,-1,183,200,199,-1,184,185,201,-1,184,201,200,-1,185,186,202,-1,185,202,201,-1,186,187,203,-1,186,203,202,-1,187,188,204,-1,187,204,203,-1,188,189,205,-1,188,205,204,-1,189,190,206,-1,189,206,205,-1,190,191,207,-1,190,207,206,-1,191,178,194,-1,191,194,207,-1,194,193,192,-1,194,192,195,-1,194,195,196,-1,194,196,197,-1,194,197,198,-1,194,198,199,-1,194,199,200,-1,194,200,201,-1,194,201,202,-1,194,202,203,-1,194,203,204,-1,194,204,205,-1,194,205,206,-1,194,206,207,-1,133,175,208,-1,133,208,209,-1,133,209,210,-1,133,210,134,-1,175,172,211,-1,175,211,208,-1,172,169,212,-1,172,212,211,-1,169,166,213,-1,169,213,212,-1,166,163,214,-1,166,214,213,-1,163,160,215,-1,163,215,214,-1,160,157,216,-1,160,216,215,-1,157,154,217,-1,157,217,216,-1,154,151,218,-1,154,218,217,-1,151,148,219,-1,151,219,218,-1,148,145,220,-1,148,220,219,-1,145,142,221,-1,145,221,220,-1,142,139,222,-1,142,222,221,-1,139,136,223,-1,139,223,222,-1,136,134,210,-1,136,210,223,-1,209,208,224,-1,209,224,225,-1,209,225,226,-1,209,226,210,-1,208,211,227,-1,208,227,224,-1,211,212,228,-1,211,228,227,-1,212,213,229,-1,212,229,228,-1,213,214,230,-1,213,230,229,-1,214,215,231,-1,214,231,230,-1,215,216,232,-1,215,232,231,-1,216,217,233,-1,216,233,232,-1,217,218,234,-1,217,234,233,-1,218,219,235,-1,218,235,234,-1,219,220,236,-1,219,236,235,-1,220,221,237,-1,220,237,236,-1,221,222,238,-1,221,238,237,-1,222,223,239,-1,222,239,238,-1,223,210,226,-1,223,226,239,-1,225,224,227,-1,225,227,228,-1,225,228,229,-1,225,229,230,-1,225,230,231,-1,225,231,232,-1,225,232,233,-1,225,233,234,-1,225,234,235,-1,225,235,236,-1,225,236,237,-1,225,237,238,-1,225,238,239,-1,225,239,226,-1,240,241,242,-1,240,242,243,-1,240,244,245,-1,240,245,246,-1,240,246,247,-1,240,247,248,-1,240,248,249,-1,240,249,250,-1,240,250,251,-1,240,251,252,-1,240,252,253,-1,240,253,254,-1,240,254,255,-1,240,255,256,-1,240,256,257,-1,240,257,241,-1,240,243,258,-1,240,258,244,-1,241,257,259,-1,241,259,242,-1,257,256,260,-1,257,260,259,-1,256,255,261,-1,256,261,260,-1,255,254,262,-1,255,262,261,-1,254,253,263,-1,254,263,262,-1,253,252,264,-1,253,264,263,-1,252,251,265,-1,252,265,264,-1,251,250,266,-1,251,266,265,-1,250,249,267,-1,250,267,266,-1,249,248,268,-1,249,268,267,-1,248,247,269,-1,248,269,268,-1,247,246,270,-1,247,270,269,-1,246,245,271,-1,246,271,270,-1,245,244,258,-1,245,258,271,-1,243,242,259,-1,243,259,260,-1,243,260,261,-1,243,261,262,-1,243,262,263,-1,243,263,264,-1,243,264,265,-1,243,265,266,-1,243,266,267,-1,243,267,268,-1,243,268,269,-1,243,269,270,-1,243,270,271,-1,243,271,258,-1,272,273,274,-1,272,274,275,-1,272,276,277,-1,272,277,278,-1,272,278,279,-1,272,279,280,-1,272,280,281,-1,272,281,282,-1,272,282,283,-1,272,283,284,-1,272,284,285,-1,272,285,286,-1,272,286,287,-1,272,287,288,-1,272,288,289,-1,272,289,273,-1,272,275,290,-1,272,290,276,-1,273,289,291,-1,273,291,274,-1,289,288,292,-1,289,292,291,-1,288,287,293,-1,288,293,292,-1,287,286,294,-1,287,294,293,-1,286,285,295,-1,286,295,294,-1,285,284,296,-1,285,296,295,-1,284,283,297,-1,284,297,296,-1,283,282,298,-1,283,298,297,-1,282,281,299,-1,282,299,298,-1,281,280,300,-1,281,300,299,-1,280,279,301,-1,280,301,300,-1,279,278,302,-1,279,302,301,-1,278,277,303,-1,278,303,302,-1,277,276,290,-1,277,290,303,-1,275,274,291,-1,275,291,292,-1,275,292,293,-1,275,293,294,-1,275,294,295,-1,275,295,296,-1,275,296,297,-1,275,297,298,-1,275,298,299,-1,275,299,300,-1,275,300,301,-1,275,301,302,-1,275,302,303,-1,275,303,290,-1,304,305,306,-1,304,306,307,-1,304,308,309,-1,304,309,310,-1,304,307,311,-1,304,311,308,-1,304,310,312,-1,304,312,305,-1,305,313,314,-1,305,314,306,-1,305,312,315,-1,305,315,313,-1,313,316,317,-1,313,317,314,-1,313,315,318,-1,313,318,316,-1,316,319,320,-1,316,320,317,-1,316,318,321,-1,316,321,319,-1,319,322,323,-1,319,323,320,-1,319,321,324,-1,319,324,322,-1,322,325,326,-1,322,326,323,-1,322,324,327,-1,322,327,325,-1,325,328,329,-1,325,329,326,-1,325,327,330,-1,325,330,328,-1,328,308,311,-1,328,311,329,-1,328,330,309,-1,328,309,308,-1,307,306,314,-1,307,314,317,-1,307,317,320,-1,307,320,323,-1,307,323,326,-1,307,326,329,-1,307,329,311,-1,310,309,330,-1,310,330,327,-1,310,327,324,-1,310,324,321,-1,310,321,318,-1,310,318,315,-1,310,315,312,-1,331,332,333,-1,331,333,334,-1,331,335,336,-1,331,336,334,-1,331,334,333,-1,331,333,332,-1,331,334,336,-1,331,336,335,-1,337,338,339,-1,337,339,340,-1,337,341,342,-1,337,342,338,-1,337,340,343,-1,337,343,341,-1,338,342,344,-1,338,344,339,-1,342,341,345,-1,342,345,346,-1,342,346,347,-1,342,347,344,-1,341,343,348,-1,341,348,345,-1,340,339,344,-1,340,344,343,-1,344,347,348,-1,344,348,343,-1,348,347,349,-1,348,349,350,-1,348,350,351,-1,348,351,352,-1,348,352,353,-1,348,353,345,-1,347,346,354,-1,347,354,355,-1,347,355,356,-1,347,356,357,-1,347,357,358,-1,347,358,359,-1,347,359,349,-1,346,345,360,-1,346,360,361,-1,346,362,363,-1,346,363,354,-1,346,361,364,-1,346,364,362,-1,345,365,366,-1,345,366,367,-1,345,367,368,-1,345,368,360,-1,345,353,369,-1,345,369,365,-1,365,350,370,-1,365,370,371,-1,365,362,364,-1,365,364,372,-1,365,371,373,-1,365,373,362,-1,365,372,374,-1,365,374,366,-1,365,369,351,-1,365,351,350,-1,350,349,375,-1,350,375,370,-1,349,362,376,-1,349,376,377,-1,349,377,378,-1,349,378,379,-1,349,379,380,-1,349,359,381,-1,349,381,382,-1,349,382,383,-1,349,383,363,-1,349,363,362,-1,349,380,384,-1,349,384,375,-1,362,373,385,-1,362,385,376,-1,371,370,386,-1,371,386,387,-1,371,387,388,-1,371,388,389,-1,371,389,390,-1,371,390,391,-1,371,391,373,-1,370,375,392,-1,370,392,386,-1,375,373,391,-1,375,391,393,-1,375,393,394,-1,375,394,395,-1,375,395,392,-1,375,384,396,-1,375,396,397,-1,375,397,398,-1,375,398,385,-1,375,385,373,-1,372,364,361,-1,372,361,360,-1,372,360,368,-1,372,368,374,-1,374,368,367,-1,374,367,366,-1,399,400,386,-1,399,386,401,-1,399,401,402,-1,399,402,403,-1,399,403,404,-1,386,400,387,-1,387,400,405,-1,387,405,388,-1,388,405,406,-1,388,406,389,-1,389,406,407,-1,389,407,408,-1,389,408,409,-1,389,409,410,-1,389,410,411,-1,389,411,390,-1,391,390,411,-1,391,411,410,-1,391,410,409,-1,391,409,408,-1,391,408,407,-1,391,407,412,-1,391,412,413,-1,391,413,414,-1,391,414,415,-1,391,415,416,-1,392,417,404,-1,392,404,403,-1,392,403,402,-1,392,402,401,-1,392,401,386,-1,404,417,418,-1,404,418,419,-1,404,419,420,-1,404,420,421,-1,404,421,399,-1,392,395,422,-1,392,422,417,-1,391,416,423,-1,391,423,393,-1,407,406,400,-1,407,400,399,-1,407,399,421,-1,407,421,420,-1,407,420,419,-1,407,419,418,-1,407,418,417,-1,407,417,422,-1,407,422,423,-1,407,423,416,-1,407,416,415,-1,407,415,414,-1,407,414,413,-1,407,413,412,-1,400,406,405,-1,423,424,394,-1,423,394,393,-1,423,422,424,-1,424,422,395,-1,424,395,394,-1,354,363,383,-1,354,383,355,-1,359,358,357,-1,359,357,381,-1,376,385,398,-1,376,398,377,-1,384,380,379,-1,384,379,396,-1,381,357,356,-1,381,356,382,-1,382,356,355,-1,382,355,383,-1,396,379,378,-1,396,378,397,-1,397,378,377,-1,397,377,398,-1,352,351,425,-1,352,425,426,-1,352,426,427,-1,352,427,428,-1,429,427,430,-1,430,427,426,-1,430,426,431,-1,431,426,432,-1,431,432,433,-1,429,430,434,-1,429,434,435,-1,435,436,429,-1,429,436,437,-1,429,437,427,-1,427,437,438,-1,427,438,428,-1,428,438,353,-1,428,353,352,-1,436,435,439,-1,440,432,441,-1,441,432,426,-1,441,426,442,-1,442,426,425,-1,442,425,443,-1,443,425,351,-1,443,351,369,-1,432,440,433,-1,439,444,436,-1,436,444,445,-1,436,445,437,-1,437,445,442,-1,437,442,353,-1,353,442,443,-1,353,443,369,-1,446,440,441,-1,446,441,442,-1,446,442,445,-1,437,353,438,-1,435,434,430,-1,435,430,431,-1,435,431,433,-1,435,433,440,-1,435,440,446,-1,435,446,445,-1,435,445,444,-1,435,444,439,-1],creaseAngle=0.524, coord=Coordinate(point=[(3.40094,.69648,-.03315),(3.40094,.69619,-.0346),(3.39484,.69633,-.03466),(3.39484,.69663,-.03315),(3.40094,.69619,-.03171),(3.40094,.69537,-.03048),(3.40094,.69415,-.02967),(3.40094,.6927,-.02938),(3.40094,.69126,-.02967),(3.40094,.69003,-.03048),(3.40094,.68922,-.03171),(3.40094,.68893,-.03315),(3.40094,.68922,-.0346),(3.40094,.69003,-.03582),(3.40094,.69126,-.03664),(3.40094,.6927,-.03693),(3.40094,.69415,-.03664),(3.40094,.69537,-.03582),(3.39484,.69633,-.03165),(3.39484,.69548,-.03593),(3.39484,.69421,-.03678),(3.39484,.6927,-.03708),(3.39484,.6912,-.03678),(3.39484,.68993,-.03593),(3.39484,.68908,-.03466),(3.39484,.68878,-.03315),(3.39484,.68908,-.03165),(3.39484,.68993,-.03038),(3.39484,.6912,-.02953),(3.39484,.6927,-.02923),(3.39484,.69421,-.02953),(3.39484,.69548,-.03038),(3.39477,.69798,-.03534),(3.39477,.69841,-.03315),(3.39477,.69798,-.03097),(3.39477,.69674,-.03719),(3.39477,.69489,-.03843),(3.39477,.6927,-.03886),(3.39477,.69052,-.03843),(3.39477,.68867,-.03719),(3.39477,.68743,-.03534),(3.39477,.687,-.03315),(3.39477,.68743,-.03097),(3.39477,.68867,-.02912),(3.39477,.69052,-.02788),(3.39477,.6927,-.02744),(3.39477,.69489,-.02788),(3.39477,.69674,-.02912),(3.36135,.69698,-.03138),(3.36135,.69597,-.02988),(3.36135,.69447,-.02888),(3.36135,.69733,-.03315),(3.36135,.69698,-.03492),(3.36135,.69597,-.03642),(3.36135,.69447,-.03743),(3.36135,.6927,-.03778),(3.36135,.69093,-.03743),(3.36135,.68943,-.03642),(3.36135,.68843,-.03492),(3.36135,.68808,-.03315),(3.36135,.68843,-.03138),(3.36135,.68943,-.02988),(3.36135,.69093,-.02888),(3.36135,.6927,-.02853),(3.36092,.69778,-.02807),(3.36092,.69545,-.02651),(3.36092,.6927,-.02597),(3.36092,.69934,-.0304),(3.36092,.69989,-.03315),(3.36092,.69934,-.0359),(3.36092,.69778,-.03823),(3.36092,.69545,-.03979),(3.36092,.6927,-.04034),(3.36092,.68995,-.03979),(3.36092,.68762,-.03823),(3.36092,.68607,-.0359),(3.36092,.68552,-.03315),(3.36092,.68607,-.0304),(3.36092,.68762,-.02807),(3.36092,.68995,-.02651),(3.24611,.69778,-.02807),(3.24611,.69545,-.02651),(3.24611,.6927,-.02597),(3.24611,.69934,-.0304),(3.24611,.69989,-.03315),(3.24611,.69934,-.0359),(3.24611,.69778,-.03823),(3.24611,.69545,-.03979),(3.24611,.6927,-.04034),(3.24611,.68995,-.03979),(3.24611,.68762,-.03823),(3.24611,.68607,-.0359),(3.24611,.68552,-.03315),(3.24611,.68607,-.0304),(3.24611,.68762,-.02807),(3.24611,.68995,-.02651),(3.05711,.69778,-.02807),(3.05711,.69545,-.02651),(3.05711,.6927,-.02597),(3.05711,.69934,-.0304),(3.05711,.69989,-.03315),(3.05711,.69934,-.0359),(3.05711,.69778,-.03823),(3.05711,.69545,-.03979),(3.05711,.6927,-.04034),(3.05711,.68995,-.03979),(3.05711,.68762,-.03823),(3.05711,.68607,-.0359),(3.05711,.68552,-.03315),(3.05711,.68607,-.0304),(3.05711,.68762,-.02807),(3.05711,.68995,-.02651),(3.00727,.69545,-.02651),(3.00727,.6927,-.02597),(3.00727,.68995,-.02651),(3.00727,.69778,-.02807),(3.00727,.69934,-.0304),(3.00727,.69989,-.03315),(3.00727,.69934,-.0359),(3.00727,.69778,-.03823),(3.00727,.69545,-.03979),(3.00727,.6927,-.04034),(3.00727,.68995,-.03979),(3.00727,.68762,-.03823),(3.00727,.68607,-.0359),(3.00727,.68552,-.03315),(3.00727,.68607,-.0304),(3.00727,.68762,-.02807),(3.30374,.66226,-.03315),(3.30374,.66288,-.03626),(3.31996,.66288,-.03626),(3.31996,.66226,-.03315),(3.30374,.66288,-.03005),(3.27943,.66288,-.03005),(3.27943,.66226,-.03315),(3.31996,.66288,-.03005),(3.27943,.66288,-.03626),(3.30374,.66463,-.03889),(3.31996,.66463,-.03889),(3.27943,.66463,-.03889),(3.30374,.66727,-.04065),(3.31996,.66727,-.04065),(3.27943,.66727,-.04065),(3.30374,.67037,-.04127),(3.31996,.67037,-.04127),(3.27943,.67037,-.04127),(3.30374,.67348,-.04065),(3.31996,.67348,-.04065),(3.27943,.67348,-.04065),(3.30374,.67611,-.03889),(3.31996,.67611,-.03889),(3.27943,.67611,-.03889),(3.30374,.67787,-.03626),(3.31996,.67787,-.03626),(3.27943,.67787,-.03626),(3.30374,.67849,-.03315),(3.31996,.67849,-.03315),(3.27943,.67849,-.03315),(3.30374,.67787,-.03005),(3.31996,.67787,-.03005),(3.27943,.67787,-.03005),(3.30374,.67611,-.02742),(3.31996,.67611,-.02742),(3.27943,.67611,-.02742),(3.30374,.67348,-.02566),(3.31996,.67348,-.02566),(3.27943,.67348,-.02566),(3.30374,.67037,-.02504),(3.31996,.67037,-.02504),(3.27943,.67037,-.02504),(3.30374,.66727,-.02566),(3.31996,.66727,-.02566),(3.27943,.66727,-.02566),(3.30374,.66463,-.02742),(3.31996,.66463,-.02742),(3.27943,.66463,-.02742),(3.32033,.66521,-.03529),(3.32033,.66479,-.03315),(3.32033,.66521,-.03102),(3.32033,.66642,-.0371),(3.32033,.66823,-.03831),(3.32033,.67037,-.03874),(3.32033,.67251,-.03831),(3.32033,.67432,-.0371),(3.32033,.67553,-.03529),(3.32033,.67596,-.03315),(3.32033,.67553,-.03102),(3.32033,.67432,-.0292),(3.32033,.67251,-.02799),(3.32033,.67037,-.02757),(3.32033,.66823,-.02799),(3.32033,.66642,-.0292),(3.32403,.66521,-.03529),(3.32403,.66479,-.03315),(3.32403,.66521,-.03102),(3.32403,.66642,-.0371),(3.32403,.66823,-.03831),(3.32403,.67037,-.03874),(3.32403,.67251,-.03831),(3.32403,.67432,-.0371),(3.32403,.67553,-.03529),(3.32403,.67596,-.03315),(3.32403,.67553,-.03102),(3.32403,.67432,-.0292),(3.32403,.67251,-.02799),(3.32403,.67037,-.02757),(3.32403,.66823,-.02799),(3.32403,.66642,-.0292),(3.27869,.66234,-.02512),(3.27869,.65988,-.02881),(3.27869,.65901,-.03315),(3.27869,.66602,-.02266),(3.27869,.67037,-.02179),(3.27869,.67472,-.02266),(3.27869,.6784,-.02512),(3.27869,.68087,-.02881),(3.27869,.68173,-.03315),(3.27869,.68087,-.0375),(3.27869,.6784,-.04118),(3.27869,.67472,-.04365),(3.27869,.67037,-.04451),(3.27869,.66602,-.04365),(3.27869,.66234,-.04118),(3.27869,.65988,-.0375),(3.00577,.66234,-.02512),(3.00577,.65988,-.02881),(3.00577,.65901,-.03315),(3.00577,.66602,-.02266),(3.00577,.67037,-.02179),(3.00577,.67472,-.02266),(3.00577,.6784,-.02512),(3.00577,.68087,-.02881),(3.00577,.68173,-.03315),(3.00577,.68087,-.0375),(3.00577,.6784,-.04118),(3.00577,.67472,-.04365),(3.00577,.67037,-.04451),(3.00577,.66602,-.04365),(3.00577,.66234,-.04118),(3.00577,.65988,-.0375),(3.19711,.70046,-.03315),(3.19746,.70046,-.0349),(3.19746,.6615,-.0349),(3.19711,.6615,-.03315),(3.19746,.70046,-.03141),(3.19845,.70046,-.02993),(3.19993,.70046,-.02894),(3.20167,.70046,-.02859),(3.20342,.70046,-.02894),(3.2049,.70046,-.02993),(3.20588,.70046,-.03141),(3.20623,.70046,-.03315),(3.20588,.70046,-.0349),(3.2049,.70046,-.03638),(3.20342,.70046,-.03737),(3.20167,.70046,-.03771),(3.19993,.70046,-.03737),(3.19845,.70046,-.03638),(3.19746,.6615,-.03141),(3.19845,.6615,-.03638),(3.19993,.6615,-.03737),(3.20167,.6615,-.03771),(3.20342,.6615,-.03737),(3.2049,.6615,-.03638),(3.20588,.6615,-.0349),(3.20623,.6615,-.03315),(3.20588,.6615,-.03141),(3.2049,.6615,-.02993),(3.20342,.6615,-.02894),(3.20167,.6615,-.02859),(3.19993,.6615,-.02894),(3.19845,.6615,-.02993),(3.14785,.70143,-.03315),(3.14829,.70143,-.03538),(3.14829,.65585,-.03538),(3.14785,.65585,-.03315),(3.14829,.70143,-.03092),(3.14955,.70143,-.02903),(3.15144,.70143,-.02777),(3.15368,.70143,-.02732),(3.15591,.70143,-.02777),(3.1578,.70143,-.02903),(3.15906,.70143,-.03092),(3.1595,.70143,-.03315),(3.15906,.70143,-.03538),(3.1578,.70143,-.03728),(3.15591,.70143,-.03854),(3.15368,.70143,-.03898),(3.15144,.70143,-.03854),(3.14955,.70143,-.03728),(3.14829,.65585,-.03092),(3.14955,.65585,-.03728),(3.15144,.65585,-.03854),(3.15368,.65585,-.03898),(3.15591,.65585,-.03854),(3.1578,.65585,-.03728),(3.15906,.65585,-.03538),(3.1595,.65585,-.03315),(3.15906,.65585,-.03092),(3.1578,.65585,-.02903),(3.15591,.65585,-.02777),(3.15368,.65585,-.02732),(3.15144,.65585,-.02777),(3.14955,.65585,-.02903),(3.02886,.69519,-.0496),(3.02886,.70238,-.04962),(3.0373,.7024,-.04962),(3.0373,.69521,-.0496),(3.02886,.69519,-.01663),(2.70684,.69514,-.01663),(2.70684,.69514,-.0496),(3.0373,.69521,-.01662),(2.70684,.70233,-.04962),(3.02886,.70831,-.04525),(3.0373,.70833,-.04525),(2.70684,.70827,-.04525),(3.02886,.71232,-.0397),(3.0373,.71234,-.0397),(2.70684,.71227,-.0397),(3.02886,.71373,-.03315),(3.0373,.71374,-.03315),(2.70684,.71368,-.03315),(3.02886,.71232,-.02661),(3.0373,.71234,-.02661),(2.70684,.71227,-.02661),(3.02886,.70831,-.02105),(3.0373,.70833,-.02105),(2.70684,.70827,-.02105),(3.02886,.70238,-.01676),(3.0373,.7024,-.01676),(2.70684,.70233,-.01676),(3.02886,.67677,-.03315),(3.02886,.67817,-.0397),(3.0373,.67819,-.0397),(3.0373,.67679,-.03315),(3.02886,.67817,-.02661),(3.0373,.67819,-.02661),(3.0378,.64322,-.04994),(3.0378,.69747,-.04994),(3.0378,.69747,-.01636),(3.0378,.64322,-.01636),(3.02832,.64322,-.04994),(3.02832,.69747,-.04994),(3.02832,.64322,-.01636),(3.02832,.69747,-.01636),(2.7063,.64322,-.04994),(2.7063,.69747,-.04994),(2.7063,.69747,-.01636),(2.7063,.64322,-.01636),(2.6443,.69747,-.01636),(2.6443,.65208,-.01636),(2.61653,.65078,-.01636),(2.67853,.64192,-.01636),(2.67853,.64192,-.04994),(2.7063,.71587,-.04994),(2.7063,.71929,-.04155),(2.7063,.71929,-.03315),(2.7063,.71929,-.02476),(2.7063,.71587,-.01636),(2.6443,.70942,-.01636),(2.7063,.64322,-.09757),(2.7063,.69747,-.09757),(2.6443,.69747,-.04994),(2.6443,.70942,-.04994),(2.6443,.69747,-.09757),(2.6443,.65208,-.04994),(2.6443,.61147,-.04994),(2.7063,.61147,-.04994),(2.7063,.61147,-.09757),(2.61653,.65078,-.04994),(2.5275,.65208,-.01636),(2.5275,.65208,-.04994),(2.6443,.64322,-.09757),(2.5275,.69747,-.04994),(2.6443,.61147,-.09757),(2.5275,.69747,-.01636),(2.6443,.70942,-.04994),(2.6443,.71929,-.04155),(2.6443,.71929,-.03315),(2.6443,.71929,-.02476),(2.6443,.70942,-.01636),(2.6443,.71929,-.02476),(2.6443,.71929,-.03315),(2.6443,.71929,-.04155),(2.5275,.69788,-.01636),(2.5275,.69788,-.04994),(2.52249,.63777,-.01636),(2.52249,.63777,-.02476),(2.52249,.63777,-.03315),(2.52249,.63777,-.04155),(2.52249,.63777,-.04994),(2.52249,.69868,-.04994),(2.52249,.69868,-.01636),(2.52249,.69868,-.04155),(2.52249,.69868,-.03315),(2.52249,.69868,-.02476),(2.5275,.69788,-.02476),(2.5275,.69788,-.03315),(2.5275,.69788,-.04155),(2.44235,.60001,-.01636),(2.44235,.59664,-.02476),(2.50646,.63022,-.01636),(2.49043,.62267,-.01636),(2.4744,.60807,-.01636),(2.45838,.59915,-.01636),(2.44235,.59583,-.03315),(2.44235,.59664,-.04155),(2.44235,.60001,-.04994),(2.45838,.59915,-.04994),(2.4744,.60807,-.04994),(2.49043,.62267,-.04994),(2.50646,.63022,-.04994),(2.44235,.62321,-.04994),(2.44235,.64642,-.04994),(2.44235,.66962,-.04994),(2.44235,.69282,-.04994),(2.44235,.71603,-.04994),(2.44235,.71603,-.01636),(2.44235,.69282,-.01636),(2.44235,.66962,-.01636),(2.44235,.64642,-.01636),(2.44235,.62321,-.01636),(2.44235,.71939,-.02476),(2.44235,.71939,-.04155),(2.44235,.7202,-.03315),(2.62339,.63409,-.01636),(2.62617,.6174,-.01636),(2.65662,.60854,-.01636),(2.67614,.62523,-.01636),(2.6526,.59185,-.01636),(2.63799,.57959,-.01636),(2.62249,.58181,-.01636),(2.61889,.60071,-.01636),(2.61515,.58402,-.01636),(2.65348,.57737,-.01636),(2.65539,.58522,-.01636),(2.6526,.59185,-.04994),(2.65662,.60854,-.04994),(2.67614,.62523,-.04994),(2.65539,.58522,-.04994),(2.61515,.58402,-.04994),(2.61889,.60071,-.04994),(2.62617,.6174,-.04994),(2.62339,.63409,-.04994),(2.65348,.57737,-.04994),(2.63799,.57959,-.04994),(2.62249,.58181,-.04994)])))])]) ) # X3D model complete #################################################################################################### # Self-test diagnostics #################################################################################################### print('Self-test diagnostics for M60.py:') if metaDiagnostics(newModel): # built-in utility method in X3D class print(metaDiagnostics(newModel)) # display meta info, hint, warning, error, TODO values in this model # print('check newModel.XML() serialization...') newModelXML= newModel.XML() # test export method XML() for exceptions during export newModel.XMLvalidate() # print(newModelXML) # diagnostic try: # print('check newModel.VRML() serialization...') newModelVRML=newModel.VRML() # test export method VRML() for exceptions during export # print(prependLineNumbers(newModelVRML)) # debug print("Python-to-VRML export of VRML output successful", flush=True) except Exception as err: # usually BaseException # https://stackoverflow.com/questions/18176602/how-to-get-the-name-of-an-exception-that-was-caught-in-python print("*** Python-to-VRML export of VRML output failed:", type(err).__name__, err) if newModelVRML: # may have failed to generate print(prependLineNumbers(newModelVRML, err.lineno)) try: # print('check newModel.JSON() serialization...') newModelJSON=newModel.JSON() # test export method JSON() for exceptions during export # print(prependLineNumbers(newModelJSON)) # debug print("Python-to-JSON export of JSON output successful (under development)") except Exception as err: # usually SyntaxError print("*** Python-to-JSON export of JSON output failed:", type(err).__name__, err) if newModelJSON: # may have failed to generate print(prependLineNumbers(newModelJSON,err.lineno)) print("python M60.py load and self-test diagnostics complete.")