mxAWS3D.js 269 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438
  1. /**
  2. * $Id: mxAws3d.js,v 1.0 2015/10/11 07:05:39 mate Exp $
  3. * Copyright (c) 2006-2015, JGraph Ltd
  4. */
  5. //**********************************************************************************************************************************************************
  6. //Arrow NE
  7. //**********************************************************************************************************************************************************
  8. /**
  9. * Extends mxShape.
  10. */
  11. function mxShapeAws3dArrowNE(bounds, fill, stroke, strokewidth)
  12. {
  13. mxShape.call(this);
  14. this.bounds = bounds;
  15. this.fill = fill;
  16. this.stroke = stroke;
  17. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  18. };
  19. /**
  20. * Extends mxShape.
  21. */
  22. mxUtils.extend(mxShapeAws3dArrowNE, mxShape);
  23. mxShapeAws3dArrowNE.prototype.cst = {
  24. ARROW_NE : 'mxgraph.aws3d.arrowNE'
  25. };
  26. /**
  27. * Function: paintVertexShape
  28. *
  29. * Paints the vertex shape.
  30. */
  31. mxShapeAws3dArrowNE.prototype.paintVertexShape = function(c, x, y, w, h)
  32. {
  33. c.translate(x, y);
  34. c.begin();
  35. c.moveTo(w - 17, 8);
  36. c.lineTo(w - 21, 5.5);
  37. c.lineTo(w, 0);
  38. c.lineTo(w - 9.7, 12.2);
  39. c.lineTo(w - 13.9, 9.8);
  40. c.lineTo(9.7, h - 3.5);
  41. c.arcTo(6, 3, 0, 0, 1, 9, h - 0.4);
  42. c.arcTo(5.2, 3, 0, 0, 1, 1, h - 1.4);
  43. c.arcTo(6, 2.8, 0, 0, 1, 3, h - 5.4);
  44. c.arcTo(5, 3, 0, 0, 1, 6.7, h - 5.2);
  45. c.close();
  46. c.fillAndStroke();
  47. };
  48. mxCellRenderer.registerShape(mxShapeAws3dArrowNE.prototype.cst.ARROW_NE, mxShapeAws3dArrowNE);
  49. //**********************************************************************************************************************************************************
  50. //Arrow SE
  51. //**********************************************************************************************************************************************************
  52. /**
  53. * Extends mxShape.
  54. */
  55. function mxShapeAws3dArrowSE(bounds, fill, stroke, strokewidth)
  56. {
  57. mxShape.call(this);
  58. this.bounds = bounds;
  59. this.fill = fill;
  60. this.stroke = stroke;
  61. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  62. };
  63. /**
  64. * Extends mxShape.
  65. */
  66. mxUtils.extend(mxShapeAws3dArrowSE, mxShape);
  67. mxShapeAws3dArrowSE.prototype.cst = {
  68. ARROW_SE : 'mxgraph.aws3d.arrowSE'
  69. };
  70. /**
  71. * Function: paintVertexShape
  72. *
  73. * Paints the vertex shape.
  74. */
  75. mxShapeAws3dArrowSE.prototype.paintVertexShape = function(c, x, y, w, h)
  76. {
  77. c.translate(x, y);
  78. c.begin();
  79. c.moveTo(w - 17, h - 8);
  80. c.lineTo(w - 21, h - 5.5);
  81. c.lineTo(w, h);
  82. c.lineTo(w - 9.7, h - 12.2);
  83. c.lineTo(w - 13.9, h - 9.8);
  84. c.lineTo(9.7, 3.5);
  85. c.arcTo(6, 3, 0, 0, 0, 9, 0.4);
  86. c.arcTo(5.2, 3, 0, 0, 0, 1, 1.4);
  87. c.arcTo(6, 2.8, 0, 0, 0, 3, 5.4);
  88. c.arcTo(5, 3, 0, 0, 0, 6.7, 5.2);
  89. c.close();
  90. c.fillAndStroke();
  91. };
  92. mxCellRenderer.registerShape(mxShapeAws3dArrowSE.prototype.cst.ARROW_SE, mxShapeAws3dArrowSE);
  93. //**********************************************************************************************************************************************************
  94. //Arrow SW
  95. //**********************************************************************************************************************************************************
  96. /**
  97. * Extends mxShape.
  98. */
  99. function mxShapeAws3dArrowSW(bounds, fill, stroke, strokewidth)
  100. {
  101. mxShape.call(this);
  102. this.bounds = bounds;
  103. this.fill = fill;
  104. this.stroke = stroke;
  105. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  106. };
  107. /**
  108. * Extends mxShape.
  109. */
  110. mxUtils.extend(mxShapeAws3dArrowSW, mxShape);
  111. mxShapeAws3dArrowSW.prototype.cst = {
  112. ARROW_SW : 'mxgraph.aws3d.arrowSW'
  113. };
  114. /**
  115. * Function: paintVertexShape
  116. *
  117. * Paints the vertex shape.
  118. */
  119. mxShapeAws3dArrowSW.prototype.paintVertexShape = function(c, x, y, w, h)
  120. {
  121. c.translate(x, y);
  122. c.begin();
  123. c.moveTo(17, h - 8);
  124. c.lineTo(21, h - 5.5);
  125. c.lineTo(0, h);
  126. c.lineTo(9.7, h - 12.2);
  127. c.lineTo(13.9, h - 9.8);
  128. c.lineTo(w - 9.7, 3.5);
  129. c.arcTo(6, 3, 0, 0, 1, w - 9, 0.4);
  130. c.arcTo(5.2, 3, 0, 0, 1, w - 1, 1.4);
  131. c.arcTo(6, 2.8, 0, 0, 1, w - 3, 5.4);
  132. c.arcTo(5, 3, 0, 0, 1, w - 6.7, 5.2);
  133. c.close();
  134. c.fillAndStroke();
  135. };
  136. mxCellRenderer.registerShape(mxShapeAws3dArrowSW.prototype.cst.ARROW_SW, mxShapeAws3dArrowSW);
  137. //**********************************************************************************************************************************************************
  138. //Arrow NW
  139. //**********************************************************************************************************************************************************
  140. /**
  141. * Extends mxShape.
  142. */
  143. function mxShapeAws3dArrowNW(bounds, fill, stroke, strokewidth)
  144. {
  145. mxShape.call(this);
  146. this.bounds = bounds;
  147. this.fill = fill;
  148. this.stroke = stroke;
  149. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  150. };
  151. /**
  152. * Extends mxShape.
  153. */
  154. mxUtils.extend(mxShapeAws3dArrowNW, mxShape);
  155. mxShapeAws3dArrowNW.prototype.cst = {
  156. ARROW_NW : 'mxgraph.aws3d.arrowNW'
  157. };
  158. /**
  159. * Function: paintVertexShape
  160. *
  161. * Paints the vertex shape.
  162. */
  163. mxShapeAws3dArrowNW.prototype.paintVertexShape = function(c, x, y, w, h)
  164. {
  165. c.translate(x, y);
  166. c.begin();
  167. c.moveTo(17, 8);
  168. c.lineTo(21, 5.5);
  169. c.lineTo(0, 0);
  170. c.lineTo(9.7, 12.2);
  171. c.lineTo(13.9, 9.8);
  172. c.lineTo(w - 9.7, h - 3.5);
  173. c.arcTo(6, 3, 0, 0, 0, w - 9, h - 0.4);
  174. c.arcTo(5.2, 3, 0, 0, 0, w - 1, h - 1.4);
  175. c.arcTo(6, 2.8, 0, 0, 0, w - 3, h - 5.4);
  176. c.arcTo(5, 3, 0, 0, 0, w - 6.7, h - 5.2);
  177. c.close();
  178. c.fillAndStroke();
  179. };
  180. mxCellRenderer.registerShape(mxShapeAws3dArrowNW.prototype.cst.ARROW_NW, mxShapeAws3dArrowNW);
  181. //**********************************************************************************************************************************************************
  182. //Arrowless NE
  183. //**********************************************************************************************************************************************************
  184. /**
  185. * Extends mxShape.
  186. */
  187. function mxShapeAws3dArrowlessNE(bounds, fill, stroke, strokewidth)
  188. {
  189. mxShape.call(this);
  190. this.bounds = bounds;
  191. this.fill = fill;
  192. this.stroke = stroke;
  193. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  194. };
  195. /**
  196. * Extends mxShape.
  197. */
  198. mxUtils.extend(mxShapeAws3dArrowlessNE, mxShape);
  199. mxShapeAws3dArrowlessNE.prototype.cst = {
  200. ARROWLESS_NE : 'mxgraph.aws3d.arrowlessNE'
  201. };
  202. /**
  203. * Function: paintVertexShape
  204. *
  205. * Paints the vertex shape.
  206. */
  207. mxShapeAws3dArrowlessNE.prototype.paintVertexShape = function(c, x, y, w, h)
  208. {
  209. c.translate(x, y);
  210. c.begin();
  211. c.moveTo(w - 3.1, 0);
  212. c.lineTo(w, 1.8);
  213. c.lineTo(9.7, h - 3.5);
  214. c.arcTo(6, 3, 0, 0, 1, 9, h - 0.4);
  215. c.arcTo(5.2, 3, 0, 0, 1, 1, h - 1.4);
  216. c.arcTo(6, 2.8, 0, 0, 1, 3, h - 5.4);
  217. c.arcTo(5, 3, 0, 0, 1, 6.7, h - 5.2);
  218. c.close();
  219. c.fillAndStroke();
  220. };
  221. mxCellRenderer.registerShape(mxShapeAws3dArrowlessNE.prototype.cst.ARROWLESS_NE, mxShapeAws3dArrowlessNE);
  222. //**********************************************************************************************************************************************************
  223. //Dashed edge with double arrow
  224. //**********************************************************************************************************************************************************
  225. /**
  226. * Extends mxShape.
  227. */
  228. function mxShapeAws3dDashedEdgeDouble(bounds, fill, stroke, strokewidth)
  229. {
  230. mxShape.call(this);
  231. this.bounds = bounds;
  232. this.fill = fill;
  233. this.stroke = stroke;
  234. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  235. };
  236. /**
  237. * Extends mxShape.
  238. */
  239. mxUtils.extend(mxShapeAws3dDashedEdgeDouble, mxShape);
  240. mxShapeAws3dDashedEdgeDouble.prototype.cst = {
  241. DASHED_EDGE_DOUBLE : 'mxgraph.aws3d.dashedEdgeDouble'
  242. };
  243. /**
  244. * Function: paintVertexShape
  245. *
  246. * Paints the vertex shape.
  247. */
  248. mxShapeAws3dDashedEdgeDouble.prototype.paintVertexShape = function(c, x, y, w, h)
  249. {
  250. c.translate(x, y);
  251. c.setFillColor('#2D6195');
  252. c.save();
  253. c.setStrokeColor('none');
  254. c.begin();
  255. c.moveTo(21, 5.5);
  256. c.lineTo(0, 0);
  257. c.lineTo(9.7, 12.2);
  258. c.fillAndStroke();
  259. c.begin();
  260. c.moveTo(w - 21, h - 5.5);
  261. c.lineTo(w, h);
  262. c.lineTo(w - 9.7, h - 12.2);
  263. c.fillAndStroke();
  264. c.restore();
  265. c.setStrokeColor('#2D6195');
  266. c.setStrokeWidth('4');
  267. c.setDashed('true');
  268. c.setLineCap('round');
  269. c.begin();
  270. c.moveTo(7.675, 4.425);
  271. c.lineTo(w - 7.675, h - 4.425);
  272. c.stroke();
  273. };
  274. mxCellRenderer.registerShape(mxShapeAws3dDashedEdgeDouble.prototype.cst.DASHED_EDGE_DOUBLE, mxShapeAws3dDashedEdgeDouble);
  275. //**********************************************************************************************************************************************************
  276. //Dashed edge with double arrow v2
  277. //**********************************************************************************************************************************************************
  278. /**
  279. * Extends mxShape.
  280. */
  281. function mxShapeAws3dDashedEdgeDouble2(bounds, fill, stroke, strokewidth)
  282. {
  283. mxShape.call(this);
  284. this.bounds = bounds;
  285. this.fill = fill;
  286. this.stroke = stroke;
  287. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  288. };
  289. /**
  290. * Extends mxShape.
  291. */
  292. mxUtils.extend(mxShapeAws3dDashedEdgeDouble2, mxShape);
  293. mxShapeAws3dDashedEdgeDouble2.prototype.cst = {
  294. DASHED_EDGE_DOUBLE2 : 'mxgraph.aws3d.dashedEdgeDouble2'
  295. };
  296. /**
  297. * Function: paintVertexShape
  298. *
  299. * Paints the vertex shape.
  300. */
  301. mxShapeAws3dDashedEdgeDouble2.prototype.paintVertexShape = function(c, x, y, w, h)
  302. {
  303. c.translate(x, y);
  304. var strokeColor = mxUtils.getValue(this.style, 'strokeColor', '#000000');
  305. c.save();
  306. c.setStrokeColor('none');
  307. c.setFillColor(strokeColor);
  308. c.begin();
  309. c.moveTo(21, 5.5);
  310. c.lineTo(0, 0);
  311. c.lineTo(9.7, 12.2);
  312. c.fillAndStroke();
  313. c.begin();
  314. c.moveTo(w - 21, h - 5.5);
  315. c.lineTo(w, h);
  316. c.lineTo(w - 9.7, h - 12.2);
  317. c.fillAndStroke();
  318. c.restore();
  319. c.setStrokeWidth('4');
  320. c.setDashed('true');
  321. c.setLineCap('round');
  322. c.begin();
  323. c.moveTo(7.675, 4.425);
  324. c.lineTo(w - 7.675, h - 4.425);
  325. c.stroke();
  326. };
  327. mxCellRenderer.registerShape(mxShapeAws3dDashedEdgeDouble2.prototype.cst.DASHED_EDGE_DOUBLE2, mxShapeAws3dDashedEdgeDouble2);
  328. //**********************************************************************************************************************************************************
  329. //Dashed arrowless edge
  330. //**********************************************************************************************************************************************************
  331. /**
  332. * Extends mxShape.
  333. */
  334. function mxShapeAws3dDashedArrowlessEdge(bounds, fill, stroke, strokewidth)
  335. {
  336. mxShape.call(this);
  337. this.bounds = bounds;
  338. this.fill = fill;
  339. this.stroke = stroke;
  340. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  341. };
  342. /**
  343. * Extends mxShape.
  344. */
  345. mxUtils.extend(mxShapeAws3dDashedArrowlessEdge, mxShape);
  346. mxShapeAws3dDashedArrowlessEdge.prototype.cst = {
  347. DASHED_ARROWLESS_EDGE : 'mxgraph.aws3d.dashedArrowlessEdge'
  348. };
  349. /**
  350. * Function: paintVertexShape
  351. *
  352. * Paints the vertex shape.
  353. */
  354. mxShapeAws3dDashedArrowlessEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  355. {
  356. c.translate(x, y);
  357. c.setStrokeColor('#2D6195');
  358. c.setStrokeWidth('4');
  359. c.setDashed('true');
  360. c.setLineCap('round');
  361. c.begin();
  362. c.moveTo(0, 0);
  363. c.lineTo(w, h);
  364. c.stroke();
  365. };
  366. mxCellRenderer.registerShape(mxShapeAws3dDashedArrowlessEdge.prototype.cst.DASHED_ARROWLESS_EDGE, mxShapeAws3dDashedArrowlessEdge);
  367. //**********************************************************************************************************************************************************
  368. //Dashed arrowless edge
  369. //**********************************************************************************************************************************************************
  370. /**
  371. * Extends mxShape.
  372. */
  373. function mxShapeAws3dDashedArrowlessEdge2(bounds, fill, stroke, strokewidth)
  374. {
  375. mxShape.call(this);
  376. this.bounds = bounds;
  377. this.fill = fill;
  378. this.stroke = stroke;
  379. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  380. };
  381. /**
  382. * Extends mxShape.
  383. */
  384. mxUtils.extend(mxShapeAws3dDashedArrowlessEdge2, mxShape);
  385. mxShapeAws3dDashedArrowlessEdge2.prototype.cst = {
  386. DASHED_ARROWLESS_EDGE2 : 'mxgraph.aws3d.dashedArrowlessEdge2'
  387. };
  388. /**
  389. * Function: paintVertexShape
  390. *
  391. * Paints the vertex shape.
  392. */
  393. mxShapeAws3dDashedArrowlessEdge2.prototype.paintVertexShape = function(c, x, y, w, h)
  394. {
  395. c.translate(x, y);
  396. c.setStrokeWidth('4');
  397. c.setDashed('true');
  398. c.setLineCap('round');
  399. c.begin();
  400. c.moveTo(0, 0);
  401. c.lineTo(w, h);
  402. c.stroke();
  403. };
  404. mxCellRenderer.registerShape(mxShapeAws3dDashedArrowlessEdge2.prototype.cst.DASHED_ARROWLESS_EDGE2, mxShapeAws3dDashedArrowlessEdge2);
  405. //**********************************************************************************************************************************************************
  406. //Dashed edge
  407. //**********************************************************************************************************************************************************
  408. /**
  409. * Extends mxShape.
  410. */
  411. function mxShapeAws3dDashedEdge(bounds, fill, stroke, strokewidth)
  412. {
  413. mxShape.call(this);
  414. this.bounds = bounds;
  415. this.fill = fill;
  416. this.stroke = stroke;
  417. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  418. };
  419. /**
  420. * Extends mxShape.
  421. */
  422. mxUtils.extend(mxShapeAws3dDashedEdge, mxShape);
  423. mxShapeAws3dDashedEdge.prototype.cst = {
  424. DASHED_EDGE : 'mxgraph.aws3d.dashedEdge'
  425. };
  426. /**
  427. * Function: paintVertexShape
  428. *
  429. * Paints the vertex shape.
  430. */
  431. mxShapeAws3dDashedEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  432. {
  433. c.translate(x, y);
  434. c.setFillColor('#2D6195');
  435. c.save();
  436. c.setStrokeColor('none');
  437. c.begin();
  438. c.moveTo(w - 21, 5.5);
  439. c.lineTo(w, 0);
  440. c.lineTo(w - 9.7, 12.2);
  441. c.fillAndStroke();
  442. c.restore();
  443. c.setStrokeColor('#2D6195');
  444. c.setStrokeWidth('4');
  445. c.setDashed('true');
  446. c.setLineCap('round');
  447. c.begin();
  448. c.moveTo(w - 7.675, 4.425);
  449. c.lineTo(0, h);
  450. c.stroke();
  451. };
  452. mxCellRenderer.registerShape(mxShapeAws3dDashedEdge.prototype.cst.DASHED_EDGE, mxShapeAws3dDashedEdge);
  453. //**********************************************************************************************************************************************************
  454. //Dashed edge v2
  455. //**********************************************************************************************************************************************************
  456. /**
  457. * Extends mxShape.
  458. */
  459. function mxShapeAws3dDashedEdge2(bounds, fill, stroke, strokewidth)
  460. {
  461. mxShape.call(this);
  462. this.bounds = bounds;
  463. this.fill = fill;
  464. this.stroke = stroke;
  465. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  466. };
  467. /**
  468. * Extends mxShape.
  469. */
  470. mxUtils.extend(mxShapeAws3dDashedEdge2, mxShape);
  471. mxShapeAws3dDashedEdge2.prototype.cst = {
  472. DASHED_EDGE2 : 'mxgraph.aws3d.dashedEdge2'
  473. };
  474. /**
  475. * Function: paintVertexShape
  476. *
  477. * Paints the vertex shape.
  478. */
  479. mxShapeAws3dDashedEdge2.prototype.paintVertexShape = function(c, x, y, w, h)
  480. {
  481. c.translate(x, y);
  482. var strokeColor = mxUtils.getValue(this.style, 'strokeColor', '#000000');
  483. c.save();
  484. c.setStrokeColor('none');
  485. c.setFillColor(strokeColor);
  486. c.begin();
  487. c.moveTo(w - 21, 5.5);
  488. c.lineTo(w, 0);
  489. c.lineTo(w - 9.7, 12.2);
  490. c.fillAndStroke();
  491. c.restore();
  492. c.setStrokeWidth('4');
  493. c.setDashed('true');
  494. c.setLineCap('round');
  495. c.begin();
  496. c.moveTo(w - 7.675, 4.425);
  497. c.lineTo(0, h);
  498. c.stroke();
  499. };
  500. mxCellRenderer.registerShape(mxShapeAws3dDashedEdge2.prototype.cst.DASHED_EDGE2, mxShapeAws3dDashedEdge2);
  501. //**********************************************************************************************************************************************************
  502. //Flat edge
  503. //**********************************************************************************************************************************************************
  504. /**
  505. * Extends mxShape.
  506. */
  507. function mxShapeAws3dFlatEdge(bounds, fill, stroke, strokewidth)
  508. {
  509. mxShape.call(this);
  510. this.bounds = bounds;
  511. this.fill = fill;
  512. this.stroke = stroke;
  513. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  514. };
  515. /**
  516. * Extends mxShape.
  517. */
  518. mxUtils.extend(mxShapeAws3dFlatEdge, mxShape);
  519. mxShapeAws3dFlatEdge.prototype.cst = {
  520. FLAT_EDGE : 'mxgraph.aws3d.flatEdge'
  521. };
  522. /**
  523. * Function: paintVertexShape
  524. *
  525. * Paints the vertex shape.
  526. */
  527. mxShapeAws3dFlatEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  528. {
  529. c.translate(x, y);
  530. c.setFillColor('#F4B934');
  531. c.setStrokeColor('none');
  532. c.begin();
  533. c.moveTo(w - 46, 8.8);
  534. c.lineTo(w - 61.2, 0);
  535. c.lineTo(w, 0);
  536. c.lineTo(w, 35.5);
  537. c.lineTo(w - 15.4, 26.5);
  538. c.lineTo(30.7, h);
  539. c.lineTo(0, h - 17.7);
  540. c.fillAndStroke();
  541. };
  542. mxCellRenderer.registerShape(mxShapeAws3dFlatEdge.prototype.cst.FLAT_EDGE, mxShapeAws3dFlatEdge);
  543. //**********************************************************************************************************************************************************
  544. //Flat edge v2
  545. //**********************************************************************************************************************************************************
  546. /**
  547. * Extends mxShape.
  548. */
  549. function mxShapeAws3dFlatEdge2(bounds, fill, stroke, strokewidth)
  550. {
  551. mxShape.call(this);
  552. this.bounds = bounds;
  553. this.fill = fill;
  554. this.stroke = stroke;
  555. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  556. };
  557. /**
  558. * Extends mxShape.
  559. */
  560. mxUtils.extend(mxShapeAws3dFlatEdge2, mxShape);
  561. mxShapeAws3dFlatEdge2.prototype.cst = {
  562. FLAT_EDGE2 : 'mxgraph.aws3d.flatEdge2'
  563. };
  564. /**
  565. * Function: paintVertexShape
  566. *
  567. * Paints the vertex shape.
  568. */
  569. mxShapeAws3dFlatEdge2.prototype.paintVertexShape = function(c, x, y, w, h)
  570. {
  571. c.translate(x, y);
  572. c.begin();
  573. c.moveTo(w - 46, 8.8);
  574. c.lineTo(w - 61.2, 0);
  575. c.lineTo(w, 0);
  576. c.lineTo(w, 35.5);
  577. c.lineTo(w - 15.4, 26.5);
  578. c.lineTo(30.7, h);
  579. c.lineTo(0, h - 17.7);
  580. c.close();
  581. c.fillAndStroke();
  582. };
  583. mxCellRenderer.registerShape(mxShapeAws3dFlatEdge2.prototype.cst.FLAT_EDGE2, mxShapeAws3dFlatEdge2);
  584. //**********************************************************************************************************************************************************
  585. //Flat double edge
  586. //**********************************************************************************************************************************************************
  587. /**
  588. * Extends mxShape.
  589. */
  590. function mxShapeAws3dFlatDoubleEdge(bounds, fill, stroke, strokewidth)
  591. {
  592. mxShape.call(this);
  593. this.bounds = bounds;
  594. this.fill = fill;
  595. this.stroke = stroke;
  596. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  597. };
  598. /**
  599. * Extends mxShape.
  600. */
  601. mxUtils.extend(mxShapeAws3dFlatDoubleEdge, mxShape);
  602. mxShapeAws3dFlatDoubleEdge.prototype.cst = {
  603. FLAT_DOUBLE_EDGE : 'mxgraph.aws3d.flatDoubleEdge'
  604. };
  605. /**
  606. * Function: paintVertexShape
  607. *
  608. * Paints the vertex shape.
  609. */
  610. mxShapeAws3dFlatDoubleEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  611. {
  612. c.translate(x, y);
  613. c.setFillColor('#F4B934');
  614. c.setStrokeColor('none');
  615. c.begin();
  616. c.moveTo(15.3, 61.9);
  617. c.lineTo(30.8, 53.2);
  618. c.lineTo(15.4, 44.2);
  619. c.lineTo(0, 53.2);
  620. c.lineTo(15.4, 8.8);
  621. c.lineTo(92.1, 0);
  622. c.lineTo(76.5, 8.8);
  623. c.lineTo(92.1, 17.7);
  624. c.lineTo(107.4, 8.8);
  625. c.lineTo(w - 15.3, h - 61.9);
  626. c.lineTo(w - 30.8, h - 53.2);
  627. c.lineTo(w - 15.4, h - 44.2);
  628. c.lineTo(w, h - 53.2);
  629. c.lineTo(w - 15.4, h - 8.8);
  630. c.lineTo(w - 92.1, h);
  631. c.lineTo(w - 76.5, h - 8.8);
  632. c.lineTo(w - 92.1, h - 17.7);
  633. c.lineTo(w - 107.4, h - 8.8);
  634. c.fillAndStroke();
  635. };
  636. mxCellRenderer.registerShape(mxShapeAws3dFlatDoubleEdge.prototype.cst.FLAT_DOUBLE_EDGE, mxShapeAws3dFlatDoubleEdge);
  637. //**********************************************************************************************************************************************************
  638. //Flat double edge v2
  639. //**********************************************************************************************************************************************************
  640. /**
  641. * Extends mxShape.
  642. */
  643. function mxShapeAws3dFlatDoubleEdge2(bounds, fill, stroke, strokewidth)
  644. {
  645. mxShape.call(this);
  646. this.bounds = bounds;
  647. this.fill = fill;
  648. this.stroke = stroke;
  649. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  650. };
  651. /**
  652. * Extends mxShape.
  653. */
  654. mxUtils.extend(mxShapeAws3dFlatDoubleEdge2, mxShape);
  655. mxShapeAws3dFlatDoubleEdge2.prototype.cst = {
  656. FLAT_DOUBLE_EDGE2 : 'mxgraph.aws3d.flatDoubleEdge2'
  657. };
  658. /**
  659. * Function: paintVertexShape
  660. *
  661. * Paints the vertex shape.
  662. */
  663. mxShapeAws3dFlatDoubleEdge2.prototype.paintVertexShape = function(c, x, y, w, h)
  664. {
  665. c.translate(x, y);
  666. c.begin();
  667. c.moveTo(15.3, 61.9);
  668. c.lineTo(30.8, 53.2);
  669. c.lineTo(15.4, 44.2);
  670. c.lineTo(0, 53.2);
  671. c.lineTo(15.4, 8.8);
  672. c.lineTo(92.1, 0);
  673. c.lineTo(76.5, 8.8);
  674. c.lineTo(92.1, 17.7);
  675. c.lineTo(107.4, 8.8);
  676. c.lineTo(w - 15.3, h - 61.9);
  677. c.lineTo(w - 30.8, h - 53.2);
  678. c.lineTo(w - 15.4, h - 44.2);
  679. c.lineTo(w, h - 53.2);
  680. c.lineTo(w - 15.4, h - 8.8);
  681. c.lineTo(w - 92.1, h);
  682. c.lineTo(w - 76.5, h - 8.8);
  683. c.lineTo(w - 92.1, h - 17.7);
  684. c.lineTo(w - 107.4, h - 8.8);
  685. c.close();
  686. c.fillAndStroke();
  687. };
  688. mxCellRenderer.registerShape(mxShapeAws3dFlatDoubleEdge2.prototype.cst.FLAT_DOUBLE_EDGE2, mxShapeAws3dFlatDoubleEdge2);
  689. //**********************************************************************************************************************************************************
  690. //AMI
  691. //**********************************************************************************************************************************************************
  692. /**
  693. * Extends mxShape.
  694. */
  695. function mxShapeAws3dAMI(bounds, fill, stroke, strokewidth)
  696. {
  697. mxShape.call(this);
  698. this.bounds = bounds;
  699. this.fill = fill;
  700. this.stroke = stroke;
  701. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  702. };
  703. /**
  704. * Extends mxShape.
  705. */
  706. mxUtils.extend(mxShapeAws3dAMI, mxShape);
  707. mxShapeAws3dAMI.prototype.cst = {
  708. AMI : 'mxgraph.aws3d.ami',
  709. SHADING_COLORS : 'shadingCols'
  710. };
  711. /**
  712. * Function: paintVertexShape
  713. *
  714. * Paints the vertex shape.
  715. */
  716. mxShapeAws3dAMI.prototype.paintVertexShape = function(c, x, y, w, h)
  717. {
  718. c.translate(x, y);
  719. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  720. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  721. var strokeWidth1 = strokeWidth * w / 92;
  722. var strokeWidth2 = strokeWidth * h / 60;
  723. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  724. c.setStrokeWidth(strokeWidth);
  725. c.setShadow(false);
  726. c.save();
  727. c.save();
  728. c.setStrokeWidth(2 * strokeWidth);
  729. c.setStrokeColor('#292929');
  730. c.setLineJoin('round');
  731. if (isShadow == 1)
  732. {
  733. c.setShadow(true);
  734. }
  735. c.begin();
  736. c.moveTo(0, h * 0.6483);
  737. c.lineTo(w * 0.0684, h * 0.4133);
  738. c.lineTo(w * 0.5326, 0);
  739. c.lineTo(w * 0.6685, 0);
  740. c.lineTo(w * 0.9359, h * 0.2367);
  741. c.lineTo(w, h * 0.465);
  742. c.lineTo(w * 0.4, h);
  743. c.close();
  744. c.fillAndStroke();
  745. c.restore();
  746. c.setFillColor('#000000');
  747. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  748. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  749. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  750. c.begin();
  751. c.moveTo(0, h * 0.65);
  752. c.lineTo(w * 0.0652, h * 0.5);
  753. c.lineTo(w * 0.3326, h * 0.7667);
  754. c.lineTo(w * 0.4663, h * 0.7667);
  755. c.lineTo(w * 0.4, h);
  756. c.close();
  757. c.fill();
  758. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  759. c.begin();
  760. c.moveTo(w * 0.4, h);
  761. c.lineTo(w * 0.4641, h * 0.77);
  762. c.lineTo(w * 0.9326, h * 0.355);
  763. c.lineTo(w * 0.9347, h * 0.24);
  764. c.lineTo(w, h * 0.4667);
  765. c.close();
  766. c.fill();
  767. c.restore();
  768. c.setLineJoin('round');
  769. c.begin();
  770. c.moveTo(0, h * 0.65);
  771. c.lineTo(w * 0.0652, h * 0.5);
  772. c.lineTo(w * 0.3326, h * 0.7667);
  773. c.lineTo(w * 0.4663, h * 0.7667);
  774. c.lineTo(w * 0.4, h);
  775. c.close();
  776. c.stroke();
  777. c.begin();
  778. c.moveTo(w * 0.4, h);
  779. c.lineTo(w * 0.4641, h * 0.77);
  780. c.lineTo(w * 0.9326, h * 0.355);
  781. c.lineTo(w * 0.9347, h * 0.24);
  782. c.lineTo(w, h * 0.4667);
  783. c.close();
  784. c.stroke();
  785. c.begin();
  786. c.moveTo(w * 0.0652, h * 0.42);
  787. c.lineTo(w * 0.0652, h * 0.5);
  788. c.moveTo(w * 0.3337, h * 0.7667);
  789. c.lineTo(w * 0.4, h);
  790. c.moveTo(w * 0.9348, h * 0.355);
  791. c.lineTo(w, h * 0.4733);
  792. c.stroke();
  793. c.setLineJoin('miter');
  794. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  795. c.setFillColor(strokeColor);
  796. c.begin();
  797. c.moveTo(w * 0.1935, h * 0.42);
  798. c.lineTo(w * 0.5543, h * 0.0967);
  799. c.lineTo(w * 0.6652, h * 0.1967);
  800. c.lineTo(w * 0.3, h * 0.5133);
  801. c.close();
  802. c.moveTo(w * 0.2967, h * 0.4633);
  803. c.lineTo(w * 0.3837, h * 0.3883);
  804. c.lineTo(w * 0.3326, h * 0.3417);
  805. c.lineTo(w * 0.2467, h * 0.42);
  806. c.close();
  807. c.moveTo(w * 0.362, h * 0.32);
  808. c.lineTo(w * 0.412, h * 0.3633);
  809. c.lineTo(w * 0.5054, h * 0.2867);
  810. c.lineTo(w * 0.4522, h * 0.24);
  811. c.close();
  812. c.moveTo(w * 0.5293, h * 0.26);
  813. c.lineTo(w * 0.6109, h * 0.1933);
  814. c.lineTo(w * 0.5511, h * 0.145);
  815. c.lineTo(w * 0.4739, h * 0.2133);
  816. c.close();
  817. c.moveTo(w * 0.3528, h * 0.557);
  818. c.lineTo(w * 0.7137, h * 0.2337);
  819. c.lineTo(w * 0.8246, h * 0.3337);
  820. c.lineTo(w * 0.4593, h * 0.6503);
  821. c.close();
  822. c.moveTo(w * 0.4561, h * 0.6003);
  823. c.lineTo(w * 0.543, h * 0.5253);
  824. c.lineTo(w * 0.492, h * 0.4787);
  825. c.lineTo(w * 0.4061, h * 0.557);
  826. c.close();
  827. c.moveTo(w * 0.5213, h * 0.457);
  828. c.lineTo(w * 0.5713, h * 0.5003);
  829. c.lineTo(w * 0.6648, h * 0.4237);
  830. c.lineTo(w * 0.6115, h * 0.377);
  831. c.close();
  832. c.moveTo(w * 0.6887, h * 0.397);
  833. c.lineTo(w * 0.7702, h * 0.3303);
  834. c.lineTo(w * 0.7104, h * 0.282);
  835. c.lineTo(w * 0.6333, h * 0.3503);
  836. c.close();
  837. c.fill();
  838. c.setStrokeWidth(2 * strokeWidth);
  839. c.setStrokeColor('#292929');
  840. c.setLineJoin('round');
  841. c.begin();
  842. c.moveTo(0, h * 0.6483);
  843. c.lineTo(w * 0.0684, h * 0.4133);
  844. c.lineTo(w * 0.5326, 0);
  845. c.lineTo(w * 0.6685, 0);
  846. c.lineTo(w * 0.9359, h * 0.2367);
  847. c.lineTo(w, h * 0.465);
  848. c.lineTo(w * 0.4, h);
  849. c.close();
  850. c.stroke();
  851. };
  852. mxCellRenderer.registerShape(mxShapeAws3dAMI.prototype.cst.AMI, mxShapeAws3dAMI);
  853. //**********************************************************************************************************************************************************
  854. //Snapshot
  855. //**********************************************************************************************************************************************************
  856. /**
  857. * Extends mxShape.
  858. */
  859. function mxShapeAws3dSnapshot(bounds, fill, stroke, strokewidth)
  860. {
  861. mxShape.call(this);
  862. this.bounds = bounds;
  863. this.fill = fill;
  864. this.stroke = stroke;
  865. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  866. };
  867. /**
  868. * Extends mxShape.
  869. */
  870. mxUtils.extend(mxShapeAws3dSnapshot, mxShape);
  871. mxShapeAws3dSnapshot.prototype.cst = {
  872. SNAPSHOT : 'mxgraph.aws3d.snapshot',
  873. SHADING_COLORS : 'shadingCols'
  874. };
  875. /**
  876. * Function: paintVertexShape
  877. *
  878. * Paints the vertex shape.
  879. */
  880. mxShapeAws3dSnapshot.prototype.paintVertexShape = function(c, x, y, w, h)
  881. {
  882. c.translate(x, y);
  883. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  884. var strokeWidth1 = strokeWidth * w / 92;
  885. var strokeWidth2 = strokeWidth * h / 60;
  886. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  887. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  888. c.setStrokeWidth(strokeWidth);
  889. c.setShadow(false);
  890. c.save();
  891. c.save();
  892. c.setStrokeWidth(2 * strokeWidth);
  893. c.setStrokeColor('#292929');
  894. c.setLineJoin('round');
  895. if(isShadow == 1)
  896. {
  897. c.setShadow(true);
  898. }
  899. c.begin();
  900. c.moveTo(w, h * 0.6483);
  901. c.lineTo(w * 0.9316, h * 0.4133);
  902. c.lineTo(w * 0.4674, 0);
  903. c.lineTo(w * 0.3315, 0);
  904. c.lineTo(w * 0.0641, h * 0.2367);
  905. c.lineTo(0, h * 0.465);
  906. c.lineTo(w * 0.6, h);
  907. c.close();
  908. c.fillAndStroke();
  909. c.restore();
  910. c.setFillColor('#000000');
  911. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSnapshot.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  912. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  913. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  914. c.begin();
  915. c.moveTo(w, h * 0.65);
  916. c.lineTo(w * 0.9348, h * 0.52);
  917. c.lineTo(w * 0.6674, h * 0.7667);
  918. c.lineTo(w * 0.5337, h * 0.7667);
  919. c.lineTo(w * 0.6, h);
  920. c.close();
  921. c.fill();
  922. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  923. c.begin();
  924. c.moveTo(w * 0.6, h);
  925. c.lineTo(w * 0.5359, h * 0.77);
  926. c.lineTo(w * 0.0674, h * 0.355);
  927. c.lineTo(w * 0.0653, h * 0.24);
  928. c.lineTo(0, h * 0.4667);
  929. c.close();
  930. c.fill();
  931. c.restore();
  932. c.setLineJoin('round');
  933. c.begin();
  934. c.moveTo(w, h * 0.65);
  935. c.lineTo(w * 0.9348, h * 0.52);
  936. c.lineTo(w * 0.6674, h * 0.7667);
  937. c.lineTo(w * 0.5337, h * 0.7667);
  938. c.lineTo(w * 0.6, h);
  939. c.close();
  940. c.stroke();
  941. c.begin();
  942. c.moveTo(w * 0.6, h);
  943. c.lineTo(w * 0.5359, h * 0.77);
  944. c.lineTo(w * 0.0674, h * 0.355);
  945. c.lineTo(w * 0.0653, h * 0.24);
  946. c.lineTo(0, h * 0.4667);
  947. c.close();
  948. c.stroke();
  949. c.begin();
  950. c.moveTo(w * 0.9348, h * 0.42);
  951. c.lineTo(w * 0.9348, h * 0.52);
  952. c.moveTo(w * 0.6663, h * 0.7667);
  953. c.lineTo(w * 0.6, h);
  954. c.moveTo(w * 0.0652, h * 0.355);
  955. c.lineTo(0, h * 0.4733);
  956. c.stroke();
  957. c.setStrokeWidth(2 * strokeWidth);
  958. c.setStrokeColor('#292929');
  959. c.setLineJoin('round');
  960. c.begin();
  961. c.moveTo(w, h * 0.6483);
  962. c.lineTo(w * 0.9316, h * 0.4133);
  963. c.lineTo(w * 0.4674, 0);
  964. c.lineTo(w * 0.3315, 0);
  965. c.lineTo(w * 0.0641, h * 0.2367);
  966. c.lineTo(0, h * 0.465);
  967. c.lineTo(w * 0.6, h);
  968. c.close();
  969. c.stroke();
  970. };
  971. mxCellRenderer.registerShape(mxShapeAws3dSnapshot.prototype.cst.SNAPSHOT, mxShapeAws3dSnapshot);
  972. //**********************************************************************************************************************************************************
  973. //Application
  974. //**********************************************************************************************************************************************************
  975. /**
  976. * Extends mxShape.
  977. */
  978. function mxShapeAws3dApplication(bounds, fill, stroke, strokewidth)
  979. {
  980. mxShape.call(this);
  981. this.bounds = bounds;
  982. this.fill = fill;
  983. this.stroke = stroke;
  984. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  985. };
  986. /**
  987. * Extends mxShape.
  988. */
  989. mxUtils.extend(mxShapeAws3dApplication, mxShape);
  990. mxShapeAws3dApplication.prototype.cst = {
  991. APPLICATION : 'mxgraph.aws3d.application',
  992. SHADING_COLORS : 'shadingCols'
  993. };
  994. /**
  995. * Function: paintVertexShape
  996. *
  997. * Paints the vertex shape.
  998. */
  999. mxShapeAws3dApplication.prototype.paintVertexShape = function(c, x, y, w, h)
  1000. {
  1001. c.translate(x, y);
  1002. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1003. var strokeWidth1 = strokeWidth * w / 62;
  1004. var strokeWidth2 = strokeWidth * h / 68.8;
  1005. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1006. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1007. c.setShadow(false);
  1008. c.setStrokeWidth(strokeWidth);
  1009. c.save();
  1010. c.save();
  1011. c.setStrokeWidth(2 * strokeWidth);
  1012. c.setStrokeColor('#292929');
  1013. c.setLineJoin('round');
  1014. if (isShadow == 1)
  1015. {
  1016. c.setShadow(true);
  1017. }
  1018. c.begin();
  1019. c.moveTo(0, h * 0.2544);
  1020. c.lineTo(w * 0.5, 0);
  1021. c.lineTo(w, h * 0.2544);
  1022. c.lineTo(w, h * 0.7485);
  1023. c.lineTo(w * 0.5, h);
  1024. c.lineTo(0, h * 0.7485);
  1025. c.close();
  1026. c.fillAndStroke();
  1027. c.restore();
  1028. c.setFillColor('#000000');
  1029. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1030. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1031. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1032. c.begin();
  1033. c.moveTo(0, h * 0.2544);
  1034. c.lineTo(w * 0.5, h * 0.5015);
  1035. c.lineTo(w * 0.5, h);
  1036. c.lineTo(0, h * 0.7485);
  1037. c.close();
  1038. c.fill();
  1039. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1040. c.begin();
  1041. c.moveTo(w * 0.5, h * 0.5015);
  1042. c.lineTo(w, h * 0.2544);
  1043. c.lineTo(w, h * 0.7485);
  1044. c.lineTo(w * 0.5, h);
  1045. c.close();
  1046. c.fill();
  1047. c.restore();
  1048. c.setLineJoin('round');
  1049. c.begin();
  1050. c.moveTo(0, h * 0.2544);
  1051. c.lineTo(w * 0.5, h * 0.5015);
  1052. c.lineTo(w * 0.5, h);
  1053. c.lineTo(0, h * 0.7485);
  1054. c.close();
  1055. c.stroke();
  1056. c.begin();
  1057. c.moveTo(w * 0.5, h * 0.5015);
  1058. c.lineTo(w, h * 0.2544);
  1059. c.lineTo(w, h * 0.7485);
  1060. c.lineTo(w * 0.5, h);
  1061. c.close();
  1062. c.stroke();
  1063. c.setLineJoin('miter');
  1064. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1065. c.setFillColor(strokeColor);
  1066. c.begin();
  1067. c.moveTo(w * 0.6694, h * 0.0872);
  1068. c.lineTo(w * 0.7629, h * 0.1337);
  1069. c.lineTo(w * 0.2661, h * 0.3882);
  1070. c.lineTo(w * 0.2661, h * 0.5407);
  1071. c.lineTo(w * 0.1742, h * 0.4953);
  1072. c.lineTo(w * 0.1742, h * 0.3459);
  1073. c.close();
  1074. c.moveTo(w * 0.8629, h * 0.1846);
  1075. c.lineTo(w * 0.379, h * 0.4331);
  1076. c.lineTo(w * 0.379, h * 0.5945);
  1077. c.lineTo(w * 0.2855, h * 0.5494);
  1078. c.lineTo(w * 0.2855, h * 0.3953);
  1079. c.lineTo(w * 0.7839, h * 0.1439);
  1080. c.close();
  1081. c.fill();
  1082. c.setStrokeWidth(2 * strokeWidth);
  1083. c.setStrokeColor('#292929');
  1084. c.setLineJoin('round');
  1085. c.begin();
  1086. c.moveTo(0, h * 0.2544);
  1087. c.lineTo(w * 0.5, 0);
  1088. c.lineTo(w, h * 0.2544);
  1089. c.lineTo(w, h * 0.7485);
  1090. c.lineTo(w * 0.5, h);
  1091. c.lineTo(0, h * 0.7485);
  1092. c.close();
  1093. c.stroke();
  1094. };
  1095. mxCellRenderer.registerShape(mxShapeAws3dApplication.prototype.cst.APPLICATION, mxShapeAws3dApplication);
  1096. //**********************************************************************************************************************************************************
  1097. //Application Server
  1098. //**********************************************************************************************************************************************************
  1099. /**
  1100. * Extends mxShape.
  1101. */
  1102. function mxShapeAws3dApplicationServer(bounds, fill, stroke, strokewidth)
  1103. {
  1104. mxShape.call(this);
  1105. this.bounds = bounds;
  1106. this.fill = fill;
  1107. this.stroke = stroke;
  1108. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1109. };
  1110. /**
  1111. * Extends mxShape.
  1112. */
  1113. mxUtils.extend(mxShapeAws3dApplicationServer, mxShape);
  1114. mxShapeAws3dApplicationServer.prototype.cst = {
  1115. APPLICATION_SERVER : 'mxgraph.aws3d.application_server',
  1116. SHADING_COLORS : 'shadingCols'
  1117. };
  1118. /**
  1119. * Function: paintVertexShape
  1120. *
  1121. * Paints the vertex shape.
  1122. */
  1123. mxShapeAws3dApplicationServer.prototype.paintVertexShape = function(c, x, y, w, h)
  1124. {
  1125. c.translate(x, y);
  1126. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1127. var strokeWidth1 = strokeWidth * w / 123;
  1128. var strokeWidth2 = strokeWidth * h / 124;
  1129. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1130. this.background(c, 0, 0, w, h, strokeWidth);
  1131. c.setShadow(false);
  1132. this.foreground(c, 0, 0, w, h, strokeWidth);
  1133. };
  1134. mxShapeAws3dApplicationServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  1135. {
  1136. c.setStrokeWidth(strokeWidth);
  1137. c.save();
  1138. c.save();
  1139. c.setStrokeWidth(2 * strokeWidth);
  1140. c.setStrokeColor('#292929');
  1141. c.setLineJoin('round');
  1142. c.begin();
  1143. c.moveTo(0, h * 0.7236);
  1144. c.lineTo(0, h * 0.2863);
  1145. c.lineTo(w * 0.5, 0);
  1146. c.lineTo(w, h * 0.2863);
  1147. c.lineTo(w, h * 0.7236);
  1148. c.lineTo(w * 0.5, h);
  1149. c.close();
  1150. c.fillAndStroke();
  1151. };
  1152. mxShapeAws3dApplicationServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  1153. {
  1154. c.restore();
  1155. c.setShadow(false);
  1156. c.setFillColor('#000000');
  1157. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplicationServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1158. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1159. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1160. c.begin();
  1161. c.moveTo(0, h * 0.2863);
  1162. c.lineTo(w * 0.5, h * 0.5726);
  1163. c.lineTo(w * 0.5, h);
  1164. c.lineTo(0, h * 0.7177);
  1165. c.close();
  1166. c.fill();
  1167. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1168. c.begin();
  1169. c.moveTo(w, h * 0.2863);
  1170. c.lineTo(w * 0.5, h * 0.5726);
  1171. c.lineTo(w * 0.5, h);
  1172. c.lineTo(w, h * 0.7177);
  1173. c.close();
  1174. c.fill();
  1175. c.restore();
  1176. c.setShadow(false);
  1177. c.setLineJoin('round');
  1178. c.begin();
  1179. c.moveTo(0, h * 0.2863);
  1180. c.lineTo(w * 0.5, h * 0.5726);
  1181. c.lineTo(w * 0.5, h);
  1182. c.lineTo(0, h * 0.7177);
  1183. c.close();
  1184. c.stroke();
  1185. c.begin();
  1186. c.moveTo(w, h * 0.2863);
  1187. c.lineTo(w * 0.5, h * 0.5726);
  1188. c.lineTo(w * 0.5, h);
  1189. c.lineTo(w, h * 0.7177);
  1190. c.close();
  1191. c.stroke();
  1192. c.setLineJoin('miter');
  1193. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1194. c.setFillColor(strokeColor);
  1195. c.begin();
  1196. c.moveTo(w * 0.374, h * 0.4435);
  1197. c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.374, h * 0.4153);
  1198. c.lineTo(w * 0.4797, h * 0.3548);
  1199. c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.5203, h * 0.3548);
  1200. c.lineTo(w * 0.626, h * 0.4153);
  1201. c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.626, h * 0.4411);
  1202. c.lineTo(w * 0.5203, h * 0.5016);
  1203. c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.4797, h * 0.5016);
  1204. c.close();
  1205. c.fill();
  1206. c.setStrokeWidth(2 * strokeWidth);
  1207. c.setStrokeColor('#292929');
  1208. c.setLineJoin('round');
  1209. c.begin();
  1210. c.moveTo(0, h * 0.7236);
  1211. c.lineTo(0, h * 0.2863);
  1212. c.lineTo(w * 0.5, 0);
  1213. c.lineTo(w, h * 0.2863);
  1214. c.lineTo(w, h * 0.7236);
  1215. c.lineTo(w * 0.5, h);
  1216. c.close();
  1217. c.stroke();
  1218. };
  1219. mxCellRenderer.registerShape(mxShapeAws3dApplicationServer.prototype.cst.APPLICATION_SERVER, mxShapeAws3dApplicationServer);
  1220. //**********************************************************************************************************************************************************
  1221. //CloudFront
  1222. //**********************************************************************************************************************************************************
  1223. /**
  1224. * Extends mxShape.
  1225. */
  1226. function mxShapeAws3dCloudFront(bounds, fill, stroke, strokewidth)
  1227. {
  1228. mxShape.call(this);
  1229. this.bounds = bounds;
  1230. this.fill = fill;
  1231. this.stroke = stroke;
  1232. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1233. };
  1234. /**
  1235. * Extends mxShape.
  1236. */
  1237. mxUtils.extend(mxShapeAws3dCloudFront, mxShape);
  1238. mxShapeAws3dCloudFront.prototype.cst = {
  1239. CLOUDFRONT : 'mxgraph.aws3d.cloudfront',
  1240. SHADING_COLORS : 'shadingCols'
  1241. };
  1242. /**
  1243. * Function: paintVertexShape
  1244. *
  1245. * Paints the vertex shape.
  1246. */
  1247. mxShapeAws3dCloudFront.prototype.paintVertexShape = function(c, x, y, w, h)
  1248. {
  1249. c.translate(x, y);
  1250. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1251. var strokeWidth1 = strokeWidth * w / 103.8;
  1252. var strokeWidth2 = strokeWidth * h / 169.8;
  1253. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1254. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1255. c.setShadow(false);
  1256. c.setStrokeWidth(strokeWidth);
  1257. c.save();
  1258. c.save();
  1259. c.setStrokeWidth(2 * strokeWidth);
  1260. c.setStrokeColor('#292929');
  1261. c.setLineJoin('round');
  1262. if (isShadow == 1)
  1263. {
  1264. c.setShadow(true);
  1265. }
  1266. c.begin();
  1267. c.moveTo(0, h * 0.7915);
  1268. c.lineTo(0, h * 0.7491);
  1269. c.lineTo(w * 0.0588, h * 0.7279);
  1270. c.lineTo(w * 0.0588, h * 0.1036);
  1271. c.lineTo(w * 0.3526, 0);
  1272. c.lineTo(w * 0.9422, h * 0.2073);
  1273. c.lineTo(w * 0.9422, h * 0.8316);
  1274. c.lineTo(w, h * 0.8539);
  1275. c.lineTo(w, h * 0.894);
  1276. c.lineTo(w * 0.7013, h);
  1277. c.lineTo(w * 0.5877, h);
  1278. c.close();
  1279. c.fillAndStroke();
  1280. c.restore();
  1281. c.setFillColor('#000000');
  1282. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCloudFront.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1283. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1284. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1285. c.begin();
  1286. c.moveTo(w * 0.0588, h * 0.106);
  1287. c.lineTo(w * 0.6474, h * 0.3121);
  1288. c.lineTo(w * 0.6474, h * 0.9352);
  1289. c.lineTo(w * 0.7052, h);
  1290. c.lineTo(w * 0.5915, h);
  1291. c.lineTo(0, h * 0.7915);
  1292. c.lineTo(0, h * 0.7491);
  1293. c.lineTo(w * 0.0588, h * 0.7279);
  1294. c.close();
  1295. c.fill();
  1296. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1297. c.begin();
  1298. c.moveTo(w * 0.6474, h * 0.3121);
  1299. c.lineTo(w * 0.9422, h * 0.2073);
  1300. c.lineTo(w * 0.9422, h * 0.8363);
  1301. c.lineTo(w, h * 0.8539);
  1302. c.lineTo(w, h * 0.894);
  1303. c.lineTo(w * 0.7013, h);
  1304. c.lineTo(w * 0.6474, h * 0.9305);
  1305. c.close();
  1306. c.fill();
  1307. c.restore();
  1308. c.setLineJoin('round');
  1309. c.begin();
  1310. c.moveTo(0, h * 0.7915);
  1311. c.lineTo(w * 0.0559, h * 0.7291);
  1312. c.lineTo(w * 0.6474, h * 0.9364);
  1313. c.lineTo(w * 0.5896, h);
  1314. c.moveTo(w * 0.6493, h * 0.9364);
  1315. c.lineTo(w * 0.9412, h * 0.8333);
  1316. c.lineTo(w, h * 0.894);
  1317. c.stroke();
  1318. c.begin();
  1319. c.moveTo(w * 0.0588, h * 0.106);
  1320. c.lineTo(w * 0.6474, h * 0.3121);
  1321. c.lineTo(w * 0.6474, h * 0.9352);
  1322. c.lineTo(w * 0.7052, h);
  1323. c.lineTo(w * 0.5915, h);
  1324. c.lineTo(0, h * 0.7915);
  1325. c.lineTo(0, h * 0.7491);
  1326. c.lineTo(w * 0.0588, h * 0.7279);
  1327. c.close();
  1328. c.stroke();
  1329. c.begin();
  1330. c.moveTo(w * 0.6474, h * 0.3121);
  1331. c.lineTo(w * 0.9422, h * 0.2073);
  1332. c.lineTo(w * 0.9422, h * 0.8363);
  1333. c.lineTo(w, h * 0.8539);
  1334. c.lineTo(w, h * 0.894);
  1335. c.lineTo(w * 0.7013, h);
  1336. c.lineTo(w * 0.6474, h * 0.9305);
  1337. c.close();
  1338. c.stroke();
  1339. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1340. c.setFillColor(strokeColor);
  1341. c.begin();
  1342. c.moveTo(w * 0.3333, h * 0.6643);
  1343. c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.2351, h * 0.6042);
  1344. c.arcTo(w * 0.4528, h * 0.2768, 0, 0, 1, w * 0.1724, h * 0.523);
  1345. c.lineTo(w * 0.2428, h * 0.5677);
  1346. c.lineTo(w * 0.2427, h * 0.5895);
  1347. c.lineTo(w * 0.2765, h * 0.5995);
  1348. c.close();
  1349. c.moveTo(w * 0.1599, h * 0.4935);
  1350. c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.1522, h * 0.4146);
  1351. c.arcTo(w * 0.1156, h * 0.0883, 0, 0, 1, w * 0.2071, h * 0.3486);
  1352. c.lineTo(w * 0.2013, h * 0.4187);
  1353. c.lineTo(w * 0.1859, h * 0.4146);
  1354. c.lineTo(w * 0.1859, h * 0.4464);
  1355. c.lineTo(w * 0.1907, h * 0.4493);
  1356. c.close();
  1357. c.moveTo(w * 0.2235, h * 0.3445);
  1358. c.arcTo(w * 0.1927, h * 0.1767, 0, 0, 1, w * 0.368, h * 0.361);
  1359. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.468, h * 0.4299);
  1360. c.lineTo(w * 0.368, h * 0.4034);
  1361. c.lineTo(w * 0.368, h * 0.394);
  1362. c.lineTo(w * 0.3256, h * 0.3799);
  1363. c.lineTo(w * 0.3256, h * 0.3887);
  1364. c.close();
  1365. c.moveTo(w * 0.4855, h * 0.4499);
  1366. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5337, h * 0.5395);
  1367. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5328, h * 0.6302);
  1368. c.lineTo(w * 0.4952, h * 0.5589);
  1369. c.lineTo(w * 0.5019, h * 0.5595);
  1370. c.lineTo(w * 0.5019, h * 0.5265);
  1371. c.lineTo(w * 0.4855, h * 0.5194);
  1372. c.close();
  1373. c.moveTo(w * 0.5241, h * 0.6455);
  1374. c.arcTo(w * 0.0963, h * 0.0589, 0, 0, 1, w * 0.4663, h * 0.682);
  1375. c.arcTo(w * 0.1445, h * 0.0883, 0, 0, 1, w * 0.3642, h * 0.6761);
  1376. c.lineTo(w * 0.4239, h * 0.6525);
  1377. c.lineTo(w * 0.4566, h * 0.6643);
  1378. c.lineTo(w * 0.4566, h * 0.6413);
  1379. c.close();
  1380. c.moveTo(w * 0.3507, h * 0.6667);
  1381. c.lineTo(w * 0.2871, h * 0.5919);
  1382. c.lineTo(w * 0.4123, h * 0.6366);
  1383. c.close();
  1384. c.moveTo(w * 0.2563, h * 0.5595);
  1385. c.lineTo(w * 0.1753, h * 0.5088);
  1386. c.lineTo(w * 0.2052, h * 0.4594);
  1387. c.close();
  1388. c.moveTo(w * 0.2139, h * 0.4229);
  1389. c.lineTo(w * 0.2197, h * 0.3528);
  1390. c.lineTo(w * 0.3256, h * 0.4028);
  1391. c.lineTo(w * 0.2283, h * 0.4252);
  1392. c.close();
  1393. c.moveTo(w * 0.2264, h * 0.4417);
  1394. c.lineTo(w * 0.3218, h * 0.4146);
  1395. c.lineTo(w * 0.3353, h * 0.4181);
  1396. c.lineTo(w * 0.3353, h * 0.4971);
  1397. c.lineTo(w * 0.3208, h * 0.4912);
  1398. c.lineTo(w * 0.3208, h * 0.4965);
  1399. c.lineTo(w * 0.2264, h * 0.4482);
  1400. c.close();
  1401. c.moveTo(w * 0.2697, h * 0.5618);
  1402. c.lineTo(w * 0.2245, h * 0.4635);
  1403. c.lineTo(w * 0.2331, h * 0.4588);
  1404. c.lineTo(w * 0.3256, h * 0.5112);
  1405. c.lineTo(w * 0.3237, h * 0.5241);
  1406. c.close();
  1407. c.moveTo(w * 0.2852, h * 0.576);
  1408. c.lineTo(w * 0.2852, h * 0.5654);
  1409. c.lineTo(w * 0.3391, h * 0.53);
  1410. c.lineTo(w * 0.3516, h * 0.5347);
  1411. c.lineTo(w * 0.4133, h * 0.6213);
  1412. c.close();
  1413. c.moveTo(w * 0.368, h * 0.5141);
  1414. c.lineTo(w * 0.368, h * 0.5088);
  1415. c.lineTo(w * 0.3526, h * 0.5029);
  1416. c.lineTo(w * 0.3526, h * 0.4234);
  1417. c.lineTo(w * 0.3622, h * 0.4276);
  1418. c.lineTo(w * 0.4547, h * 0.5177);
  1419. c.lineTo(w * 0.4557, h * 0.5277);
  1420. c.close();
  1421. c.moveTo(w * 0.3671, h * 0.417);
  1422. c.lineTo(w * 0.4692, h * 0.4411);
  1423. c.lineTo(w * 0.4721, h * 0.52);
  1424. c.close();
  1425. c.moveTo(w * 0.368, h * 0.5253);
  1426. c.lineTo(w * 0.4566, h * 0.5359);
  1427. c.lineTo(w * 0.4566, h * 0.5453);
  1428. c.lineTo(w * 0.4663, h * 0.5465);
  1429. c.lineTo(w * 0.4335, h * 0.6201);
  1430. c.lineTo(w * 0.422, h * 0.616);
  1431. c.lineTo(w * 0.368, h * 0.5389);
  1432. c.close();
  1433. c.moveTo(w * 0.4798, h * 0.5583);
  1434. c.lineTo(w * 0.5183, h * 0.629);
  1435. c.lineTo(w * 0.4557, h * 0.6313);
  1436. c.lineTo(w * 0.4557, h * 0.6237);
  1437. c.lineTo(w * 0.447, h * 0.6225);
  1438. c.close();
  1439. c.fill();
  1440. c.setStrokeWidth(2 * strokeWidth);
  1441. c.setStrokeColor('#292929');
  1442. c.setLineJoin('round');
  1443. c.begin();
  1444. c.moveTo(0, h * 0.7915);
  1445. c.lineTo(0, h * 0.7491);
  1446. c.lineTo(w * 0.0588, h * 0.7279);
  1447. c.lineTo(w * 0.0588, h * 0.1036);
  1448. c.lineTo(w * 0.3526, 0);
  1449. c.lineTo(w * 0.9422, h * 0.2073);
  1450. c.lineTo(w * 0.9422, h * 0.8316);
  1451. c.lineTo(w, h * 0.8539);
  1452. c.lineTo(w, h * 0.894);
  1453. c.lineTo(w * 0.7013, h);
  1454. c.lineTo(w * 0.5877, h);
  1455. c.close();
  1456. c.stroke();
  1457. };
  1458. mxCellRenderer.registerShape(mxShapeAws3dCloudFront.prototype.cst.CLOUDFRONT, mxShapeAws3dCloudFront);
  1459. //**********************************************************************************************************************************************************
  1460. //Data Center
  1461. //**********************************************************************************************************************************************************
  1462. /**
  1463. * Extends mxShape.
  1464. */
  1465. function mxShapeAws3dDataCenter(bounds, fill, stroke, strokewidth)
  1466. {
  1467. mxShape.call(this);
  1468. this.bounds = bounds;
  1469. this.fill = fill;
  1470. this.stroke = stroke;
  1471. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1472. };
  1473. /**
  1474. * Extends mxShape.
  1475. */
  1476. mxUtils.extend(mxShapeAws3dDataCenter, mxShape);
  1477. mxShapeAws3dDataCenter.prototype.cst = {
  1478. DATA_CENTER : 'mxgraph.aws3d.dataCenter',
  1479. SHADING_COLORS : 'shadingCols'
  1480. };
  1481. /**
  1482. * Function: paintVertexShape
  1483. *
  1484. * Paints the vertex shape.
  1485. */
  1486. mxShapeAws3dDataCenter.prototype.paintVertexShape = function(c, x, y, w, h)
  1487. {
  1488. c.translate(x, y);
  1489. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1490. var strokeWidth1 = strokeWidth * w / 123;
  1491. var strokeWidth2 = strokeWidth * h / 142;
  1492. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1493. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1494. c.setShadow(false);
  1495. c.setStrokeWidth(strokeWidth);
  1496. c.save();
  1497. c.save();
  1498. c.setStrokeWidth(2 * strokeWidth);
  1499. c.setStrokeColor('#292929');
  1500. c.setLineJoin('round');
  1501. if (isShadow == 1)
  1502. {
  1503. c.setShadow(true);
  1504. }
  1505. c.begin();
  1506. c.moveTo(0, h * 0.7465);
  1507. c.lineTo(0, h * 0.25);
  1508. c.lineTo(w * 0.5, 0);
  1509. c.lineTo(w, h * 0.25);
  1510. c.lineTo(w, h * 0.7465);
  1511. c.lineTo(w * 0.5, h);
  1512. c.close();
  1513. c.fillAndStroke();
  1514. c.restore();
  1515. c.setFillColor('#000000');
  1516. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataCenter.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1517. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1518. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1519. c.begin();
  1520. c.moveTo(0, h * 0.7465);
  1521. c.lineTo(0, h * 0.25);
  1522. c.lineTo(w * 0.5, h * 0.5);
  1523. c.lineTo(w * 0.5, h);
  1524. c.close();
  1525. c.fill();
  1526. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1527. c.begin();
  1528. c.moveTo(w, h * 0.7465);
  1529. c.lineTo(w, h * 0.25);
  1530. c.lineTo(w * 0.5, h * 0.5);
  1531. c.lineTo(w * 0.5, h);
  1532. c.close();
  1533. c.fill();
  1534. c.restore();
  1535. c.setLineJoin('round');
  1536. c.begin();
  1537. c.moveTo(0, h * 0.7465);
  1538. c.lineTo(0, h * 0.25);
  1539. c.lineTo(w * 0.5, h * 0.5);
  1540. c.lineTo(w * 0.5, h);
  1541. c.close();
  1542. c.stroke();
  1543. c.begin();
  1544. c.moveTo(w, h * 0.7465);
  1545. c.lineTo(w, h * 0.25);
  1546. c.lineTo(w * 0.5, h * 0.5);
  1547. c.lineTo(w * 0.5, h);
  1548. c.close();
  1549. c.stroke();
  1550. c.setLineCap('round');
  1551. c.setStrokeWidth(3 * strokeWidth);
  1552. c.begin();
  1553. c.moveTo(w * 0.0894, h * 0.3838);
  1554. c.lineTo(w * 0.4187, h * 0.5493);
  1555. c.moveTo(w * 0.0894, h * 0.4331);
  1556. c.lineTo(w * 0.4187, h * 0.5986);
  1557. c.moveTo(w * 0.0894, h * 0.4824);
  1558. c.lineTo(w * 0.4187, h * 0.6479);
  1559. c.moveTo(w * 0.5854, h * 0.5493);
  1560. c.lineTo(w * 0.9146, h * 0.3838);
  1561. c.moveTo(w * 0.5854, h * 0.5986);
  1562. c.lineTo(w * 0.9146, h * 0.4331);
  1563. c.moveTo(w * 0.5854, h * 0.6479);
  1564. c.lineTo(w * 0.9146, h * 0.4824);
  1565. c.stroke();
  1566. c.setStrokeWidth(2 * strokeWidth);
  1567. c.setStrokeColor('#292929');
  1568. c.setLineJoin('round');
  1569. c.begin();
  1570. c.moveTo(0, h * 0.7465);
  1571. c.lineTo(0, h * 0.25);
  1572. c.lineTo(w * 0.5, 0);
  1573. c.lineTo(w, h * 0.25);
  1574. c.lineTo(w, h * 0.7465);
  1575. c.lineTo(w * 0.5, h);
  1576. c.close();
  1577. c.stroke();
  1578. };
  1579. mxCellRenderer.registerShape(mxShapeAws3dDataCenter.prototype.cst.DATA_CENTER, mxShapeAws3dDataCenter);
  1580. //**********************************************************************************************************************************************************
  1581. //Data Server
  1582. //**********************************************************************************************************************************************************
  1583. /**
  1584. * Extends mxShape.
  1585. */
  1586. function mxShapeAws3dDataServer(bounds, fill, stroke, strokewidth)
  1587. {
  1588. mxShape.call(this);
  1589. this.bounds = bounds;
  1590. this.fill = fill;
  1591. this.stroke = stroke;
  1592. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1593. };
  1594. /**
  1595. * Extends mxShape.
  1596. */
  1597. mxUtils.extend(mxShapeAws3dDataServer, mxShape);
  1598. mxShapeAws3dDataServer.prototype.cst = {
  1599. DATA_SERVER : 'mxgraph.aws3d.dataServer',
  1600. SHADING_COLORS : 'shadingCols'
  1601. };
  1602. /**
  1603. * Function: paintVertexShape
  1604. *
  1605. * Paints the vertex shape.
  1606. */
  1607. mxShapeAws3dDataServer.prototype.paintVertexShape = function(c, x, y, w, h)
  1608. {
  1609. c.translate(x, y);
  1610. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1611. var strokeWidth1 = strokeWidth * w / 123;
  1612. var strokeWidth2 = strokeWidth * h / 106;
  1613. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1614. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1615. c.setShadow(false);
  1616. c.setStrokeWidth(strokeWidth);
  1617. c.save();
  1618. c.save();
  1619. c.setStrokeWidth(2 * strokeWidth);
  1620. c.setStrokeColor('#292929');
  1621. c.setLineJoin('round');
  1622. if (isShadow == 1)
  1623. {
  1624. c.setShadow(true);
  1625. }
  1626. c.begin();
  1627. c.moveTo(0, h * 0.6651);
  1628. c.lineTo(0, h * 0.3349);
  1629. c.lineTo(w * 0.5, 0);
  1630. c.lineTo(w, h * 0.3349);
  1631. c.lineTo(w, h * 0.6651);
  1632. c.lineTo(w * 0.5, h);
  1633. c.close();
  1634. c.fillAndStroke();
  1635. c.restore();
  1636. c.setFillColor('#000000');
  1637. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1638. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1639. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1640. c.begin();
  1641. c.moveTo(0, h * 0.6651);
  1642. c.lineTo(0, h * 0.3349);
  1643. c.lineTo(w * 0.5, h * 0.6698);
  1644. c.lineTo(w * 0.5, h);
  1645. c.close();
  1646. c.fill();
  1647. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1648. c.begin();
  1649. c.moveTo(w, h * 0.6651);
  1650. c.lineTo(w, h * 0.3349);
  1651. c.lineTo(w * 0.5, h * 0.6698);
  1652. c.lineTo(w * 0.5, h);
  1653. c.close();
  1654. c.fill();
  1655. c.restore();
  1656. c.setLineJoin('round');
  1657. c.begin();
  1658. c.moveTo(0, h * 0.6651);
  1659. c.lineTo(0, h * 0.3349);
  1660. c.lineTo(w * 0.5, h * 0.6698);
  1661. c.lineTo(w * 0.5, h);
  1662. c.close();
  1663. c.stroke();
  1664. c.begin();
  1665. c.moveTo(w, h * 0.6651);
  1666. c.lineTo(w, h * 0.3349);
  1667. c.lineTo(w * 0.5, h * 0.6698);
  1668. c.lineTo(w * 0.5, h);
  1669. c.close();
  1670. c.stroke();
  1671. c.setLineCap('round');
  1672. c.setStrokeWidth(3 * strokeWidth);
  1673. c.begin();
  1674. c.moveTo(w * 0.0878, h * 0.4858);
  1675. c.lineTo(w * 0.4187, h * 0.7094);
  1676. c.moveTo(w * 0.587, h * 0.7094);
  1677. c.lineTo(w * 0.9187, h * 0.4858);
  1678. c.stroke();
  1679. c.setStrokeWidth(2 * strokeWidth);
  1680. c.setStrokeColor('#292929');
  1681. c.setLineJoin('round');
  1682. c.begin();
  1683. c.moveTo(0, h * 0.6651);
  1684. c.lineTo(0, h * 0.3349);
  1685. c.lineTo(w * 0.5, 0);
  1686. c.lineTo(w, h * 0.3349);
  1687. c.lineTo(w, h * 0.6651);
  1688. c.lineTo(w * 0.5, h);
  1689. c.close();
  1690. c.stroke();
  1691. };
  1692. mxCellRenderer.registerShape(mxShapeAws3dDataServer.prototype.cst.DATA_SERVER, mxShapeAws3dDataServer);
  1693. //**********************************************************************************************************************************************************
  1694. //Elastic Load Balancing
  1695. //**********************************************************************************************************************************************************
  1696. /**
  1697. * Extends mxShape.
  1698. */
  1699. function mxShapeAws3dElasticLoadBalancing(bounds, fill, stroke, strokewidth)
  1700. {
  1701. mxShape.call(this);
  1702. this.bounds = bounds;
  1703. this.fill = fill;
  1704. this.stroke = stroke;
  1705. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1706. };
  1707. /**
  1708. * Extends mxShape.
  1709. */
  1710. mxUtils.extend(mxShapeAws3dElasticLoadBalancing, mxShape);
  1711. mxShapeAws3dElasticLoadBalancing.prototype.cst = {
  1712. ELASTIC_LOAD_BALANCING : 'mxgraph.aws3d.elasticLoadBalancing',
  1713. SHADING_COLORS : 'shadingCols'
  1714. };
  1715. /**
  1716. * Function: paintVertexShape
  1717. *
  1718. * Paints the vertex shape.
  1719. */
  1720. mxShapeAws3dElasticLoadBalancing.prototype.paintVertexShape = function(c, x, y, w, h)
  1721. {
  1722. c.translate(x, y);
  1723. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1724. var strokeWidth1 = strokeWidth * w / 92;
  1725. var strokeWidth2 = strokeWidth * h / 88.17;
  1726. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1727. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1728. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1729. c.setShadow(false);
  1730. c.setStrokeWidth(strokeWidth);
  1731. c.save();
  1732. c.save();
  1733. c.save();
  1734. c.save();
  1735. c.setStrokeWidth(2 * strokeWidth);
  1736. c.setStrokeColor('#292929');
  1737. c.setLineJoin('round');
  1738. if (isShadow == 1)
  1739. {
  1740. c.setShadow(true);
  1741. }
  1742. c.begin();
  1743. c.moveTo(0, h * 0.7996);
  1744. c.lineTo(0, h * 0.1985);
  1745. c.lineTo(w * 0.3315, 0);
  1746. c.lineTo(w * 0.6685, 0);
  1747. c.lineTo(w, h * 0.1985);
  1748. c.lineTo(w, h * 0.7996);
  1749. c.lineTo(w * 0.6685, h);
  1750. c.lineTo(w * 0.3315, h);
  1751. c.close();
  1752. c.fillAndStroke();
  1753. c.restore();
  1754. c.setFillColor('#000000');
  1755. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticLoadBalancing.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1756. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1757. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1758. c.begin();
  1759. c.moveTo(0, h * 0.4026);
  1760. c.lineTo(w * 0.3315, h * 0.6011);
  1761. c.lineTo(w * 0.6685, h * 0.6011);
  1762. c.lineTo(w * 0.6685, h);
  1763. c.lineTo(w * 0.3315, h);
  1764. c.lineTo(0, h * 0.7996);
  1765. c.close();
  1766. c.fill();
  1767. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1768. c.begin();
  1769. c.moveTo(w * 0.6685, h * 0.6011);
  1770. c.lineTo(w, h * 0.4026);
  1771. c.lineTo(w, h * 0.7996);
  1772. c.lineTo(w * 0.6685, h);
  1773. c.close();
  1774. c.fill();
  1775. c.restore();
  1776. c.setLineJoin('round');
  1777. c.begin();
  1778. c.moveTo(0, h * 0.4026);
  1779. c.lineTo(w * 0.3315, h * 0.6011);
  1780. c.lineTo(w * 0.6685, h * 0.6011);
  1781. c.lineTo(w * 0.6685, h);
  1782. c.lineTo(w * 0.3315, h);
  1783. c.lineTo(0, h * 0.7996);
  1784. c.close();
  1785. c.stroke();
  1786. c.begin();
  1787. c.moveTo(w * 0.6685, h * 0.6011);
  1788. c.lineTo(w, h * 0.4026);
  1789. c.lineTo(w, h * 0.7996);
  1790. c.lineTo(w * 0.6685, h);
  1791. c.close();
  1792. c.moveTo(w * 0.3315, h * 0.6011);
  1793. c.lineTo(w * 0.3315, h);
  1794. c.stroke();
  1795. c.restore();
  1796. c.setFillColor(strokeColor);
  1797. c.begin();
  1798. c.moveTo(w * 0.337, h * 0.1395);
  1799. c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.5, h * 0.1191);
  1800. c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.6739, h * 0.1645);
  1801. c.arcTo(w * 0.3261, h * 0.2155, 0, 0, 1, w * 0.8152, h * 0.3176);
  1802. c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.75, h * 0.4367);
  1803. c.arcTo(w * 0.3261, h * 0.3403, 0, 0, 1, w * 0.6033, h * 0.4854);
  1804. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.4348, h * 0.4741);
  1805. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2848, h * 0.4094);
  1806. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2065, h * 0.3062);
  1807. c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.2446, h * 0.1928);
  1808. c.arcTo(w * 0.2717, h * 0.1701, 0, 0, 1, w * 0.337, h * 0.1395);
  1809. c.fill();
  1810. c.restore();
  1811. c.begin();
  1812. c.moveTo(w * 0.2826, h * 0.372);
  1813. c.lineTo(w * 0.362, h * 0.3232);
  1814. c.lineTo(w * 0.4054, h * 0.3482);
  1815. c.lineTo(w * 0.4457, h * 0.2654);
  1816. c.lineTo(w * 0.4185, h * 0.2643);
  1817. c.lineTo(w * 0.4728, h * 0.2132);
  1818. c.lineTo(w * 0.4348, h * 0.1928);
  1819. c.lineTo(w * 0.5141, h * 0.144);
  1820. c.lineTo(w * 0.5837, h * 0.1883);
  1821. c.lineTo(w * 0.5043, h * 0.2348);
  1822. c.lineTo(w * 0.4848, h * 0.2223);
  1823. c.lineTo(w * 0.4967, h * 0.2688);
  1824. c.lineTo(w * 0.463, h * 0.2665);
  1825. c.lineTo(w * 0.4304, h * 0.3346);
  1826. c.lineTo(w * 0.4946, h * 0.2949);
  1827. c.lineTo(w * 0.4761, h * 0.2858);
  1828. c.lineTo(w * 0.5511, h * 0.2631);
  1829. c.lineTo(w * 0.5261, h * 0.2472);
  1830. c.lineTo(w * 0.6043, h * 0.1996);
  1831. c.lineTo(w * 0.6761, h * 0.2404);
  1832. c.lineTo(w * 0.5978, h * 0.2892);
  1833. c.lineTo(w * 0.5652, h * 0.2699);
  1834. c.lineTo(w * 0.5293, h * 0.3198);
  1835. c.lineTo(w * 0.5087, h * 0.3051);
  1836. c.lineTo(w * 0.4543, h * 0.3391);
  1837. c.lineTo(w * 0.563, h * 0.3221);
  1838. c.lineTo(w * 0.5598, h * 0.3017);
  1839. c.lineTo(w * 0.6326, h * 0.3096);
  1840. c.lineTo(w * 0.6163, h * 0.2994);
  1841. c.lineTo(w * 0.6957, h * 0.2529);
  1842. c.lineTo(w * 0.7674, h * 0.2938);
  1843. c.lineTo(w * 0.687, h * 0.3425);
  1844. c.lineTo(w * 0.6489, h * 0.321);
  1845. c.lineTo(w * 0.5707, h * 0.3539);
  1846. c.lineTo(w * 0.5674, h * 0.3369);
  1847. c.lineTo(w * 0.4293, h * 0.3618);
  1848. c.lineTo(w * 0.4641, h * 0.3834);
  1849. c.lineTo(w * 0.3859, h * 0.4299);
  1850. c.close();
  1851. c.fill();
  1852. c.setStrokeWidth(2 * strokeWidth);
  1853. c.setStrokeColor('#292929');
  1854. c.setLineJoin('round');
  1855. c.begin();
  1856. c.moveTo(0, h * 0.7996);
  1857. c.lineTo(0, h * 0.1985);
  1858. c.lineTo(w * 0.3315, 0);
  1859. c.lineTo(w * 0.6685, 0);
  1860. c.lineTo(w, h * 0.1985);
  1861. c.lineTo(w, h * 0.7996);
  1862. c.lineTo(w * 0.6685, h);
  1863. c.lineTo(w * 0.3315, h);
  1864. c.close();
  1865. c.stroke();
  1866. };
  1867. mxCellRenderer.registerShape(mxShapeAws3dElasticLoadBalancing.prototype.cst.ELASTIC_LOAD_BALANCING, mxShapeAws3dElasticLoadBalancing);
  1868. //**********************************************************************************************************************************************************
  1869. //Instance
  1870. //**********************************************************************************************************************************************************
  1871. /**
  1872. * Extends mxShape.
  1873. */
  1874. function mxShapeAws3dInstance(bounds, fill, stroke, strokewidth)
  1875. {
  1876. mxShape.call(this);
  1877. this.bounds = bounds;
  1878. this.fill = fill;
  1879. this.stroke = stroke;
  1880. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1881. };
  1882. /**
  1883. * Extends mxShape.
  1884. */
  1885. mxUtils.extend(mxShapeAws3dInstance, mxShape);
  1886. mxShapeAws3dInstance.prototype.cst = {
  1887. INSTANCE : 'mxgraph.aws3d.instance',
  1888. SHADING_COLORS : 'shadingCols'
  1889. };
  1890. /**
  1891. * Function: paintVertexShape
  1892. *
  1893. * Paints the vertex shape.
  1894. */
  1895. mxShapeAws3dInstance.prototype.paintVertexShape = function(c, x, y, w, h)
  1896. {
  1897. c.translate(x, y);
  1898. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1899. var strokeWidth1 = strokeWidth * w / 123;
  1900. var strokeWidth2 = strokeWidth * h / 97;
  1901. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1902. this.background(c, 0, 0, w, h, strokeWidth);
  1903. c.setShadow(false);
  1904. this.foreground(c, 0, 0, w, h, strokeWidth);
  1905. };
  1906. mxShapeAws3dInstance.prototype.background = function(c, x, y, w, h, strokeWidth)
  1907. {
  1908. c.setStrokeWidth(strokeWidth);
  1909. c.save();
  1910. c.save();
  1911. c.setStrokeWidth(2 * strokeWidth);
  1912. c.setStrokeColor('#292929');
  1913. c.setLineJoin('round');
  1914. c.begin();
  1915. c.moveTo(0, h * 0.634);
  1916. c.lineTo(0, h * 0.2732);
  1917. c.lineTo(w * 0.374, 0);
  1918. c.lineTo(w * 0.622, 0);
  1919. c.lineTo(w, h * 0.2732);
  1920. c.lineTo(w, h * 0.634);
  1921. c.lineTo(w * 0.5, h);
  1922. c.close();
  1923. c.fillAndStroke();
  1924. };
  1925. mxShapeAws3dInstance.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  1926. {
  1927. c.restore();
  1928. c.setShadow(false);
  1929. c.setFillColor('#000000');
  1930. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInstance.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1931. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1932. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1933. c.begin();
  1934. c.moveTo(0, h * 0.2732);
  1935. c.lineTo(w * 0.5, h * 0.6392);
  1936. c.lineTo(w * 0.5, h);
  1937. c.lineTo(0, h * 0.634);
  1938. c.close();
  1939. c.fill();
  1940. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1941. c.begin();
  1942. c.moveTo(w * 0.5, h * 0.6392);
  1943. c.lineTo(w, h * 0.2732);
  1944. c.lineTo(w, h * 0.6392);
  1945. c.lineTo(w * 0.5, h);
  1946. c.close();
  1947. c.fill();
  1948. c.restore();
  1949. c.setShadow(false);
  1950. c.setLineJoin('round');
  1951. c.begin();
  1952. c.moveTo(0, h * 0.2732);
  1953. c.lineTo(w * 0.5, h * 0.6392);
  1954. c.lineTo(w * 0.5, h);
  1955. c.lineTo(0, h * 0.634);
  1956. c.close();
  1957. c.stroke();
  1958. c.begin();
  1959. c.moveTo(w * 0.5, h * 0.6392);
  1960. c.lineTo(w, h * 0.2732);
  1961. c.lineTo(w, h * 0.6392);
  1962. c.lineTo(w * 0.5, h);
  1963. c.close();
  1964. c.stroke();
  1965. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1966. c.setFillColor(strokeColor);
  1967. c.begin();
  1968. c.moveTo(w * 0.374, h * 0.4742);
  1969. c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.374, h * 0.4381);
  1970. c.lineTo(w * 0.4797, h * 0.3608);
  1971. c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.5203, h * 0.3608);
  1972. c.lineTo(w * 0.626, h * 0.4381);
  1973. c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.626, h * 0.4711);
  1974. c.lineTo(w * 0.5203, h * 0.5485);
  1975. c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.4797, h * 0.5485);
  1976. c.close();
  1977. c.fill();
  1978. c.setStrokeWidth(2 * strokeWidth);
  1979. c.setStrokeColor('#292929');
  1980. c.setLineJoin('round');
  1981. c.begin();
  1982. c.moveTo(0, h * 0.634);
  1983. c.lineTo(0, h * 0.2732);
  1984. c.lineTo(w * 0.374, 0);
  1985. c.lineTo(w * 0.622, 0);
  1986. c.lineTo(w, h * 0.2732);
  1987. c.lineTo(w, h * 0.634);
  1988. c.lineTo(w * 0.5, h);
  1989. c.close();
  1990. c.stroke();
  1991. };
  1992. mxCellRenderer.registerShape(mxShapeAws3dInstance.prototype.cst.INSTANCE, mxShapeAws3dInstance);
  1993. //**********************************************************************************************************************************************************
  1994. //Internet Gateway
  1995. //**********************************************************************************************************************************************************
  1996. /**
  1997. * Extends mxShape.
  1998. */
  1999. function mxShapeAws3dInternetGateway(bounds, fill, stroke, strokewidth)
  2000. {
  2001. mxShape.call(this);
  2002. this.bounds = bounds;
  2003. this.fill = fill;
  2004. this.stroke = stroke;
  2005. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2006. };
  2007. /**
  2008. * Extends mxShape.
  2009. */
  2010. mxUtils.extend(mxShapeAws3dInternetGateway, mxShape);
  2011. mxShapeAws3dInternetGateway.prototype.cst = {
  2012. INTERNET_GATEWAY : 'mxgraph.aws3d.internetGateway',
  2013. SHADING_COLORS : 'shadingCols'
  2014. };
  2015. /**
  2016. * Function: paintVertexShape
  2017. *
  2018. * Paints the vertex shape.
  2019. */
  2020. mxShapeAws3dInternetGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  2021. {
  2022. c.translate(x, y);
  2023. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2024. var strokeWidth1 = strokeWidth * w / 116.7;
  2025. var strokeWidth2 = strokeWidth * h / 102.8;
  2026. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2027. this.background(c, 0, 0, w, h, strokeWidth);
  2028. c.setShadow(false);
  2029. this.foreground(c, 0, 0, w, h, strokeWidth);
  2030. };
  2031. mxShapeAws3dInternetGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  2032. {
  2033. c.setStrokeWidth(strokeWidth);
  2034. c.save();
  2035. c.save();
  2036. c.save();
  2037. c.save();
  2038. c.save();
  2039. c.setStrokeWidth(2 * strokeWidth);
  2040. c.setStrokeColor('#292929');
  2041. c.setLineJoin('round');
  2042. c.begin();
  2043. c.moveTo(w * 0.4199, h * 0.5447);
  2044. c.lineTo(w * 0.4199, h * 0.035);
  2045. c.lineTo(w * 0.8946, 0);
  2046. c.lineTo(w, h * 0.0691);
  2047. c.lineTo(w, h * 0.4134);
  2048. c.lineTo(w * 0.6812, h * 0.7247);
  2049. c.close();
  2050. c.fillAndStroke();
  2051. c.restore();
  2052. c.save();
  2053. c.setShadow(false);
  2054. c.setFillColor('#000000');
  2055. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2056. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2057. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2058. c.begin();
  2059. c.moveTo(w * 0.4199, h * 0.5447);
  2060. c.lineTo(w * 0.4199, h * 0.035);
  2061. c.lineTo(w * 0.6838, h * 0.2072);
  2062. c.lineTo(w * 0.6838, h * 0.7247);
  2063. c.close();
  2064. c.fill();
  2065. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2066. c.begin();
  2067. c.moveTo(w * 0.6838, h * 0.2072);
  2068. c.lineTo(w, h * 0.0691);
  2069. c.lineTo(w, h * 0.4134);
  2070. c.lineTo(w * 0.6838, h * 0.7247);
  2071. c.close();
  2072. c.fill();
  2073. c.restore();
  2074. c.setShadow(false);
  2075. c.begin();
  2076. c.moveTo(w * 0.4199, h * 0.5447);
  2077. c.lineTo(w * 0.4199, h * 0.035);
  2078. c.lineTo(w * 0.6838, h * 0.2072);
  2079. c.lineTo(w * 0.6838, h * 0.7247);
  2080. c.close();
  2081. c.stroke();
  2082. c.restore();
  2083. c.setLineJoin('round');
  2084. c.setShadow(false);
  2085. c.begin();
  2086. c.moveTo(w * 0.6838, h * 0.2072);
  2087. c.lineTo(w, h * 0.0691);
  2088. c.lineTo(w, h * 0.4134);
  2089. c.lineTo(w * 0.6838, h * 0.7247);
  2090. c.close();
  2091. c.stroke();
  2092. c.setStrokeWidth(2 * strokeWidth);
  2093. c.setStrokeColor('#292929');
  2094. c.begin();
  2095. c.moveTo(w * 0.4199, h * 0.5447);
  2096. c.lineTo(w * 0.4199, h * 0.035);
  2097. c.lineTo(w * 0.8946, 0);
  2098. c.lineTo(w, h * 0.0691);
  2099. c.lineTo(w, h * 0.4134);
  2100. c.lineTo(w * 0.6812, h * 0.7247);
  2101. c.close();
  2102. c.stroke();
  2103. c.restore();
  2104. c.setStrokeWidth(2 * strokeWidth);
  2105. c.setStrokeColor('#292929');
  2106. c.setLineJoin('round');
  2107. c.begin();
  2108. c.moveTo(0, h * 0.929);
  2109. c.lineTo(0, h * 0.5866);
  2110. c.lineTo(w * 0.3171, h * 0.1031);
  2111. c.lineTo(w * 0.5784, h * 0.2753);
  2112. c.lineTo(w * 0.5784, h * 0.7928);
  2113. c.lineTo(w * 0.1054, h);
  2114. c.close();
  2115. c.fillAndStroke();
  2116. };
  2117. mxShapeAws3dInternetGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2118. {
  2119. c.restore();
  2120. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  2121. c.setShadow(false);
  2122. c.setLineJoin('round');
  2123. c.setFillColor('#000000');
  2124. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2125. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2126. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2127. c.begin();
  2128. c.moveTo(0, h * 0.929);
  2129. c.lineTo(0, h * 0.5866);
  2130. c.lineTo(w * 0.1054, h * 0.6537);
  2131. c.lineTo(w * 0.1054, h);
  2132. c.close();
  2133. c.fill();
  2134. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2135. c.begin();
  2136. c.moveTo(w * 0.1054, h);
  2137. c.lineTo(w * 0.1054, h * 0.6537);
  2138. c.lineTo(w * 0.5784, h * 0.2753);
  2139. c.lineTo(w * 0.5784, h * 0.7928);
  2140. c.close();
  2141. c.fill();
  2142. c.restore();
  2143. c.setShadow(false);
  2144. c.setLineJoin('round');
  2145. c.begin();
  2146. c.moveTo(0, h * 0.929);
  2147. c.lineTo(0, h * 0.5866);
  2148. c.lineTo(w * 0.1054, h * 0.6537);
  2149. c.lineTo(w * 0.1054, h);
  2150. c.close();
  2151. c.stroke();
  2152. c.begin();
  2153. c.moveTo(w * 0.1054, h);
  2154. c.lineTo(w * 0.1054, h * 0.6537);
  2155. c.lineTo(w * 0.5784, h * 0.2753);
  2156. c.lineTo(w * 0.5784, h * 0.7928);
  2157. c.close();
  2158. c.stroke();
  2159. c.setStrokeWidth(2 * strokeWidth);
  2160. c.setStrokeColor('#292929');
  2161. c.setLineJoin('round');
  2162. c.begin();
  2163. c.moveTo(0, h * 0.929);
  2164. c.lineTo(0, h * 0.5866);
  2165. c.lineTo(w * 0.3171, h * 0.1031);
  2166. c.lineTo(w * 0.5784, h * 0.2753);
  2167. c.lineTo(w * 0.5784, h * 0.7928);
  2168. c.lineTo(w * 0.1054, h);
  2169. c.close();
  2170. c.stroke();
  2171. c.setFillColor(strokeColor);
  2172. c.begin();
  2173. c.moveTo(w * 0.7849, h * 0.5039);
  2174. c.arcTo(w * 0.0343, h * 0.0632, 0, 0, 1, w * 0.7481, h * 0.4796);
  2175. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.7661, h * 0.3911);
  2176. c.arcTo(w * 0.06, h * 0.0681, 0, 0, 1, w * 0.7712, h * 0.3356);
  2177. c.arcTo(w * 0.0257, h * 0.0292, 0, 0, 1, w * 0.7952, h * 0.32);
  2178. c.arcTo(w * 0.1285, h * 0.1459, 0, 0, 1, w * 0.8166, h * 0.2461);
  2179. c.arcTo(w * 0.06, h * 0.0973, 0, 0, 1, w * 0.8595, h * 0.2238);
  2180. c.arcTo(w * 0.0514, h * 0.0973, 0, 0, 1, w * 0.8937, h * 0.2743);
  2181. c.arcTo(w * 0.0428, h * 0.0778, 0, 0, 1, w * 0.9323, h * 0.3093);
  2182. c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.928, h * 0.3716);
  2183. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8972, h * 0.4125);
  2184. c.close();
  2185. c.fill();
  2186. };
  2187. mxCellRenderer.registerShape(mxShapeAws3dInternetGateway.prototype.cst.INTERNET_GATEWAY, mxShapeAws3dInternetGateway);
  2188. //**********************************************************************************************************************************************************
  2189. //Oracle Data Center
  2190. //**********************************************************************************************************************************************************
  2191. /**
  2192. * Extends mxShape.
  2193. */
  2194. function mxShapeAws3dOracleDataCenter(bounds, fill, stroke, strokewidth)
  2195. {
  2196. mxShape.call(this);
  2197. this.bounds = bounds;
  2198. this.fill = fill;
  2199. this.stroke = stroke;
  2200. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2201. };
  2202. /**
  2203. * Extends mxShape.
  2204. */
  2205. mxUtils.extend(mxShapeAws3dOracleDataCenter, mxShape);
  2206. mxShapeAws3dOracleDataCenter.prototype.cst = {
  2207. ORACLE_DATA_CENTER : 'mxgraph.aws3d.oracleDataCenter'
  2208. };
  2209. /**
  2210. * Function: paintVertexShape
  2211. *
  2212. * Paints the vertex shape.
  2213. */
  2214. mxShapeAws3dOracleDataCenter.prototype.paintVertexShape = function(c, x, y, w, h)
  2215. {
  2216. c.translate(x, y);
  2217. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2218. var strokeWidth1 = strokeWidth * w / 123;
  2219. var strokeWidth2 = strokeWidth * h /142;
  2220. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2221. c.setStrokeWidth(strokeWidth);
  2222. this.background(c, 0, 0, w, h, strokeWidth);
  2223. c.setShadow(false);
  2224. this.foreground(c, 0, 0, w, h, strokeWidth);
  2225. };
  2226. mxShapeAws3dOracleDataCenter.prototype.background = function(c, x, y, w, h, strokeWidth)
  2227. {
  2228. c.save();
  2229. c.save();
  2230. c.save();
  2231. c.setStrokeWidth(2 * strokeWidth);
  2232. c.setStrokeColor('#292929');
  2233. c.setLineJoin('round');
  2234. c.begin();
  2235. c.moveTo(0, h * 0.7464);
  2236. c.lineTo(0, h * 0.25);
  2237. c.lineTo(w * 0.5, 0);
  2238. c.lineTo(w, h * 0.25);
  2239. c.lineTo(w, h * 0.7464);
  2240. c.lineTo(w * 0.5, h);
  2241. c.close();
  2242. c.fillAndStroke();
  2243. };
  2244. mxShapeAws3dOracleDataCenter.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2245. {
  2246. c.restore();
  2247. c.setShadow(false);
  2248. c.setFillColor('#000000');
  2249. c.setAlpha('0.1');
  2250. c.begin();
  2251. c.moveTo(0, h * 0.7464);
  2252. c.lineTo(0, h * 0.25);
  2253. c.lineTo(w * 0.5, h * 0.5);
  2254. c.lineTo(w * 0.5, h);
  2255. c.close();
  2256. c.fill();
  2257. c.setAlpha('0.3');
  2258. c.begin();
  2259. c.moveTo(w * 0.5, h * 0.5);
  2260. c.lineTo(w, h * 0.25);
  2261. c.lineTo(w, h * 0.7464);
  2262. c.lineTo(w * 0.5, h);
  2263. c.close();
  2264. c.fill();
  2265. c.restore();
  2266. c.setShadow(false);
  2267. c.setLineJoin('round');
  2268. c.setFillColor('#ff0000');
  2269. c.begin();
  2270. c.moveTo(0, h * 0.5866);
  2271. c.lineTo(w * 0.5, h * 0.8359);
  2272. c.lineTo(w, h * 0.5866);
  2273. c.lineTo(w, h * 0.6986);
  2274. c.lineTo(w * 0.5, h * 0.9486);
  2275. c.lineTo(0, h * 0.6986);
  2276. c.fill();
  2277. c.setStrokeWidth(0.5 * strokeWidth);
  2278. c.setStrokeColor('#ffffff');
  2279. c.setFillColor('#ffffff');
  2280. c.begin();
  2281. c.moveTo(0, h * 0.5866);
  2282. c.lineTo(w * 0.5, h * 0.8359);
  2283. c.lineTo(w, h * 0.5866);
  2284. c.moveTo(w, h * 0.6986);
  2285. c.lineTo(w * 0.5, h * 0.9486);
  2286. c.lineTo(0, h * 0.6986);
  2287. c.stroke();
  2288. c.begin();
  2289. c.moveTo(w * 0.0813, h * 0.7113);
  2290. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831);
  2291. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613);
  2292. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549);
  2293. c.lineTo(w * 0.122, h * 0.6754);
  2294. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937);
  2295. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232);
  2296. c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296);
  2297. c.close();
  2298. c.moveTo(w * 0.1163, h * 0.7183);
  2299. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148);
  2300. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021);
  2301. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831);
  2302. c.lineTo(w * 0.087, h * 0.6676);
  2303. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697);
  2304. c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937);
  2305. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035);
  2306. c.close();
  2307. c.moveTo(w * 0.1439, h * 0.743);
  2308. c.lineTo(w * 0.1439, h * 0.6866);
  2309. c.lineTo(w * 0.1846, h * 0.707);
  2310. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183);
  2311. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738);
  2312. c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743);
  2313. c.lineTo(w * 0.1992, h * 0.769);
  2314. c.lineTo(w * 0.187, h * 0.7641);
  2315. c.lineTo(w * 0.1577, h * 0.7218);
  2316. c.lineTo(w * 0.1854, h * 0.7345);
  2317. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317);
  2318. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225);
  2319. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155);
  2320. c.lineTo(w * 0.1528, h * 0.7007);
  2321. c.lineTo(w * 0.1528, h * 0.7472);
  2322. c.close();
  2323. c.moveTo(w * 0.2008, h * 0.7711);
  2324. c.lineTo(w * 0.2293, h * 0.7338);
  2325. c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324);
  2326. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415);
  2327. c.lineTo(w * 0.2699, h * 0.8035);
  2328. c.lineTo(w * 0.2602, h * 0.8007);
  2329. c.lineTo(w * 0.252, h * 0.7859);
  2330. c.lineTo(w * 0.2293, h * 0.7754);
  2331. c.lineTo(w * 0.2244, h * 0.7634);
  2332. c.lineTo(w * 0.248, h * 0.7739);
  2333. c.lineTo(w * 0.235, h * 0.7444);
  2334. c.lineTo(w * 0.2122, h * 0.7768);
  2335. c.close();
  2336. c.moveTo(w * 0.3244, h * 0.8225);
  2337. c.lineTo(w * 0.3171, h * 0.8289);
  2338. c.lineTo(w * 0.2854, h * 0.8127);
  2339. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986);
  2340. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746);
  2341. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762);
  2342. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757);
  2343. c.lineTo(w * 0.3228, h * 0.7761);
  2344. c.lineTo(w * 0.3179, h * 0.7831);
  2345. c.lineTo(w * 0.2878, h * 0.7683);
  2346. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697);
  2347. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831);
  2348. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042);
  2349. c.close();
  2350. c.moveTo(w * 0.3276, h * 0.7789);
  2351. c.lineTo(w * 0.3366, h * 0.7831);
  2352. c.lineTo(w * 0.3366, h * 0.8289);
  2353. c.lineTo(w * 0.3805, h * 0.8507);
  2354. c.lineTo(w * 0.3748, h * 0.857);
  2355. c.lineTo(w * 0.3317, h * 0.8359);
  2356. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275);
  2357. c.close();
  2358. c.moveTo(w * 0.435, h * 0.8775);
  2359. c.lineTo(w * 0.4325, h * 0.8866);
  2360. c.lineTo(w * 0.3959, h * 0.8683);
  2361. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563);
  2362. c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183);
  2363. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134);
  2364. c.lineTo(w * 0.435, h * 0.8324);
  2365. c.lineTo(w * 0.4285, h * 0.838);
  2366. c.lineTo(w * 0.4008, h * 0.8246);
  2367. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831);
  2368. c.lineTo(w * 0.4333, h * 0.8542);
  2369. c.lineTo(w * 0.426, h * 0.8606);
  2370. c.lineTo(w * 0.3878, h * 0.8415);
  2371. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585);
  2372. c.close();
  2373. c.moveTo(w * 0.6171, h * 0.8063);
  2374. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092);
  2375. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303);
  2376. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592);
  2377. c.lineTo(w * 0.5894, h * 0.8761);
  2378. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732);
  2379. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458);
  2380. c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246);
  2381. c.close();
  2382. c.moveTo(w * 0.5886, h * 0.8296);
  2383. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472);
  2384. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862);
  2385. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676);
  2386. c.lineTo(w * 0.6163, h * 0.8528);
  2387. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359);
  2388. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225);
  2389. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155);
  2390. c.close();
  2391. c.moveTo(w * 0.64, h * 0.85);
  2392. c.lineTo(w * 0.64, h * 0.7930);
  2393. c.lineTo(w * 0.6854, h * 0.7718);
  2394. c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782);
  2395. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8);
  2396. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127);
  2397. c.lineTo(w * 0.6992, h * 0.8218);
  2398. c.lineTo(w * 0.6854, h * 0.8282);
  2399. c.lineTo(w * 0.6569, h * 0.8141);
  2400. c.lineTo(w * 0.6805, h * 0.8021);
  2401. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923);
  2402. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845);
  2403. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831);
  2404. c.lineTo(w * 0.6528, h * 0.7979);
  2405. c.lineTo(w * 0.6528, h * 0.8437);
  2406. c.close();
  2407. c.moveTo(w * 0.7, h * 0.8204);
  2408. c.lineTo(w * 0.7301, h * 0.7507);
  2409. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444);
  2410. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486);
  2411. c.lineTo(w * 0.7699, h * 0.7852);
  2412. c.lineTo(w * 0.7602, h * 0.7908);
  2413. c.lineTo(w * 0.7537, h * 0.7838);
  2414. c.lineTo(w * 0.7276, h * 0.7958);
  2415. c.lineTo(w * 0.7228, h * 0.788);
  2416. c.lineTo(w * 0.748, h * 0.7768);
  2417. c.lineTo(w * 0.7358, h * 0.7585);
  2418. c.lineTo(w * 0.7114, h * 0.8155);
  2419. c.close();
  2420. c.moveTo(w * 0.8244, h * 0.7486);
  2421. c.lineTo(w * 0.8171, h * 0.762);
  2422. c.lineTo(w * 0.7894, h * 0.7761);
  2423. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746);
  2424. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507);
  2425. c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162);
  2426. c.lineTo(w * 0.822, h * 0.7035);
  2427. c.lineTo(w * 0.8171, h * 0.7155);
  2428. c.lineTo(w * 0.7902, h * 0.7296);
  2429. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743);
  2430. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606);
  2431. c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767);
  2432. c.close();
  2433. c.moveTo(w * 0.8366, h * 0.6949);
  2434. c.lineTo(w * 0.8366, h * 0.7423);
  2435. c.lineTo(w * 0.878, h * 0.7231);
  2436. c.lineTo(w * 0.874, h * 0.7338);
  2437. c.lineTo(w * 0.8333, h * 0.7535);
  2438. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75);
  2439. c.lineTo(w * 0.8268, h * 0.7007);
  2440. c.close();
  2441. c.moveTo(w * 0.9342, h * 0.6472);
  2442. c.lineTo(w * 0.9293, h * 0.6599);
  2443. c.lineTo(w * 0.9033, h * 0.6725);
  2444. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817);
  2445. c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937);
  2446. c.lineTo(w * 0.9309, h * 0.6725);
  2447. c.lineTo(w * 0.9268, h * 0.6845);
  2448. c.lineTo(w * 0.887, h * 0.7035);
  2449. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106);
  2450. c.lineTo(w * 0.935, h * 0.693);
  2451. c.lineTo(w * 0.9285, h * 0.7063);
  2452. c.lineTo(w * 0.9008, h * 0.7197);
  2453. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204);
  2454. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028);
  2455. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669);
  2456. c.fill();
  2457. c.restore();
  2458. c.setShadow(false);
  2459. c.setLineJoin('round');
  2460. c.begin();
  2461. c.moveTo(0, h * 0.7464);
  2462. c.lineTo(0, h * 0.25);
  2463. c.lineTo(w * 0.5, h * 0.5);
  2464. c.lineTo(w * 0.5, h);
  2465. c.close();
  2466. c.stroke();
  2467. c.begin();
  2468. c.moveTo(w * 0.5, h * 0.5);
  2469. c.lineTo(w, h * 0.25);
  2470. c.lineTo(w, h * 0.7464);
  2471. c.lineTo(w * 0.5, h);
  2472. c.close();
  2473. c.stroke();
  2474. c.setStrokeWidth(2 * strokeWidth);
  2475. c.setStrokeColor('#292929');
  2476. c.setLineJoin('round');
  2477. c.begin();
  2478. c.moveTo(0, h * 0.7464);
  2479. c.lineTo(0, h * 0.25);
  2480. c.lineTo(w * 0.5, 0);
  2481. c.lineTo(w, h * 0.25);
  2482. c.lineTo(w, h * 0.7464);
  2483. c.lineTo(w * 0.5, h);
  2484. c.close();
  2485. c.stroke();
  2486. c.restore();
  2487. c.setShadow(false);
  2488. c.setStrokeWidth(3 * strokeWidth);
  2489. c.setLineCap('round');
  2490. c.begin();
  2491. c.moveTo(w * 0.0894, h * 0.3838);
  2492. c.lineTo(w * 0.4187, h * 0.5493);
  2493. c.moveTo(w * 0.0894, h * 0.4331);
  2494. c.lineTo(w * 0.4187, h * 0.5986);
  2495. c.moveTo(w * 0.0894, h * 0.4824);
  2496. c.lineTo(w * 0.4187, h * 0.6479);
  2497. c.moveTo(w * 0.5854, h * 0.5492);
  2498. c.lineTo(w * 0.9146, h * 0.3838);
  2499. c.moveTo(w * 0.5854, h * 0.5986);
  2500. c.lineTo(w * 0.9146, h * 0.4331);
  2501. c.moveTo(w * 0.5854, h * 0.6479);
  2502. c.lineTo(w * 0.9146, h * 0.4824);
  2503. c.stroke();
  2504. };
  2505. mxCellRenderer.registerShape(mxShapeAws3dOracleDataCenter.prototype.cst.ORACLE_DATA_CENTER, mxShapeAws3dOracleDataCenter);
  2506. //**********************************************************************************************************************************************************
  2507. //Oracle Database Server
  2508. //**********************************************************************************************************************************************************
  2509. /**
  2510. * Extends mxShape.
  2511. */
  2512. function mxShapeAws3dOracleDatabaseServer(bounds, fill, stroke, strokewidth)
  2513. {
  2514. mxShape.call(this);
  2515. this.bounds = bounds;
  2516. this.fill = fill;
  2517. this.stroke = stroke;
  2518. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2519. };
  2520. /**
  2521. * Extends mxShape.
  2522. */
  2523. mxUtils.extend(mxShapeAws3dOracleDatabaseServer, mxShape);
  2524. mxShapeAws3dOracleDatabaseServer.prototype.cst = {
  2525. ORACLE_DB_SERVER : 'mxgraph.aws3d.oracleDbServer'
  2526. };
  2527. /**
  2528. * Function: paintVertexShape
  2529. *
  2530. * Paints the vertex shape.
  2531. */
  2532. mxShapeAws3dOracleDatabaseServer.prototype.paintVertexShape = function(c, x, y, w, h)
  2533. {
  2534. c.translate(x, y);
  2535. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2536. var strokeWidth1 = strokeWidth * w / 123;
  2537. var strokeWidth2 = strokeWidth * h /142;
  2538. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2539. c.setStrokeWidth(strokeWidth);
  2540. this.background(c, 0, 0, w, h, strokeWidth);
  2541. c.setShadow(false);
  2542. this.foreground(c, 0, 0, w, h, strokeWidth);
  2543. };
  2544. mxShapeAws3dOracleDatabaseServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  2545. {
  2546. c.save();
  2547. c.save();
  2548. c.save();
  2549. c.setStrokeWidth(2 * strokeWidth);
  2550. c.setStrokeColor('#292929');
  2551. c.setLineJoin('round');
  2552. c.begin();
  2553. c.moveTo(0, h * 0.7331);
  2554. c.lineTo(0, h * 0.3346);
  2555. c.lineTo(w * 0.126, h * 0.1316);
  2556. c.lineTo(w * 0.374, 0);
  2557. c.lineTo(w * 0.626, 0);
  2558. c.lineTo(w * 0.874, h * 0.1316);
  2559. c.lineTo(w, h * 0.3346);
  2560. c.lineTo(w, h * 0.7331);
  2561. c.lineTo(w * 0.5, h);
  2562. c.close();
  2563. c.fillAndStroke();
  2564. };
  2565. mxShapeAws3dOracleDatabaseServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2566. {
  2567. c.restore();
  2568. c.setShadow(false);
  2569. c.setFillColor('#000000');
  2570. c.setAlpha('0.1');
  2571. c.begin();
  2572. c.moveTo(w * 0.126, h * 0.1316);
  2573. c.lineTo(w * 0.126, h * 0.267);
  2574. c.lineTo(w * 0.378, h * 0.4023);
  2575. c.lineTo(w * 0.5, h * 0.6015);
  2576. c.lineTo(w * 0.5, h);
  2577. c.lineTo(0, h * 0.7331);
  2578. c.lineTo(0, h * 0.3346);
  2579. c.close();
  2580. c.moveTo(w * 0.874, h * 0.267);
  2581. c.lineTo(w * 0.874, h * 0.1316);
  2582. c.lineTo(w, h * 0.3308);
  2583. c.fill();
  2584. c.setAlpha('0.3');
  2585. c.begin();
  2586. c.moveTo(w * 0.5, h);
  2587. c.lineTo(w * 0.5, h * 0.6015);
  2588. c.lineTo(w * 0.622, h * 0.4023);
  2589. c.lineTo(w * 0.874, h * 0.267);
  2590. c.lineTo(w, h * 0.3308);
  2591. c.lineTo(w, h * 0.7331);
  2592. c.close();
  2593. c.fill();
  2594. c.restore();
  2595. c.setShadow(false);
  2596. c.setLineJoin('round');
  2597. c.setFillColor('#ff0000');
  2598. c.begin();
  2599. c.moveTo(0, h * 0.5586);
  2600. c.lineTo(w * 0.5, h * 0.8248);
  2601. c.lineTo(w, h * 0.5586);
  2602. c.lineTo(w, h * 0.6782);
  2603. c.lineTo(w * 0.5, h * 0.9453);
  2604. c.lineTo(0, h * 0.6782);
  2605. c.fill();
  2606. c.setStrokeWidth(0.5 * strokeWidth);
  2607. c.setStrokeColor('#ffffff');
  2608. c.setFillColor('#ffffff');
  2609. c.begin();
  2610. c.moveTo(0, h * 0.5586);
  2611. c.lineTo(w * 0.5, h * 0.8248);
  2612. c.lineTo(w, h * 0.5586);
  2613. c.moveTo(w, h * 0.6782);
  2614. c.lineTo(w * 0.5, h * 0.9453);
  2615. c.lineTo(0, h * 0.6782);
  2616. c.stroke();
  2617. c.begin();
  2618. c.moveTo(w * 0.0813, h * 0.6918);
  2619. c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.065, h * 0.6616);
  2620. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.065, h * 0.6384);
  2621. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.0797, h * 0.6315);
  2622. c.lineTo(w * 0.122, h * 0.6534);
  2623. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.1358, h * 0.673);
  2624. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.139, h * 0.7045);
  2625. c.arcTo(w * 0.0179, h * 0.0165, 0, 0, 1, w * 0.1187, h * 0.7113);
  2626. c.close();
  2627. c.moveTo(w * 0.1163, h * 0.6992);
  2628. c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.1285, h * 0.6955);
  2629. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1293, h * 0.6819);
  2630. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1179, h * 0.6616);
  2631. c.lineTo(w * 0.087, h * 0.6451);
  2632. c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.0764, h * 0.6473);
  2633. c.arcTo(w * 0.0325, h * 0.0376, 0, 0, 0, w * 0.078, h * 0.673);
  2634. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.087, h * 0.6834);
  2635. c.close();
  2636. c.moveTo(w * 0.1439, h * 0.7256);
  2637. c.lineTo(w * 0.1439, h * 0.6654);
  2638. c.lineTo(w * 0.1846, h * 0.6872);
  2639. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.1967, h * 0.6992);
  2640. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2, h * 0.7203);
  2641. c.arcTo(w * 0.0138, h * 0.0165, 0, 0, 1, w * 0.1813, h * 0.7256);
  2642. c.lineTo(w * 0.1992, h * 0.7534);
  2643. c.lineTo(w * 0.187, h * 0.7481);
  2644. c.lineTo(w * 0.1577, h * 0.7029);
  2645. c.lineTo(w * 0.1854, h * 0.7165);
  2646. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.1911, h * 0.7135);
  2647. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 0, w * 0.1894, h * 0.7037);
  2648. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.1821, h * 0.6962);
  2649. c.lineTo(w * 0.1528, h * 0.6804);
  2650. c.lineTo(w * 0.1528, h * 0.7301);
  2651. c.close();
  2652. c.moveTo(w * 0.2008, h * 0.7556);
  2653. c.lineTo(w * 0.2293, h * 0.7158);
  2654. c.arcTo(w * 0.0065, h * 0.006, 0, 0, 1, w * 0.2382, h * 0.7143);
  2655. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2431, h * 0.724);
  2656. c.lineTo(w * 0.2699, h * 0.7902);
  2657. c.lineTo(w * 0.2602, h * 0.7872);
  2658. c.lineTo(w * 0.252, h * 0.7714);
  2659. c.lineTo(w * 0.2293, h * 0.7602);
  2660. c.lineTo(w * 0.2244, h * 0.7474);
  2661. c.lineTo(w * 0.248, h * 0.7586);
  2662. c.lineTo(w * 0.235, h * 0.7271);
  2663. c.lineTo(w * 0.2122, h * 0.7617);
  2664. c.close();
  2665. c.moveTo(w * 0.3244, h * 0.8105);
  2666. c.lineTo(w * 0.3171, h * 0.8173);
  2667. c.lineTo(w * 0.2854, h * 0.8);
  2668. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2724, h * 0.785);
  2669. c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.265, h * 0.7593);
  2670. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2683, h * 0.7459);
  2671. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.2829, h * 0.7405);
  2672. c.lineTo(w * 0.3228, h * 0.7609);
  2673. c.lineTo(w * 0.3179, h * 0.7684);
  2674. c.lineTo(w * 0.2878, h * 0.7526);
  2675. c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.2789, h * 0.7541);
  2676. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.2748, h * 0.7684);
  2677. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.2878, h * 0.7909);
  2678. c.close();
  2679. c.moveTo(w * 0.3276, h * 0.7639);
  2680. c.lineTo(w * 0.3366, h * 0.7684);
  2681. c.lineTo(w * 0.3366, h * 0.8173);
  2682. c.lineTo(w * 0.3805, h * 0.8406);
  2683. c.lineTo(w * 0.3748, h * 0.8473);
  2684. c.lineTo(w * 0.3317, h * 0.8248);
  2685. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3276, h * 0.8158);
  2686. c.close();
  2687. c.moveTo(w * 0.435, h * 0.8692);
  2688. c.lineTo(w * 0.4325, h * 0.8789);
  2689. c.lineTo(w * 0.3959, h * 0.8594);
  2690. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.3862, h * 0.8466);
  2691. c.arcTo(w * 0.0528, h * 0.0489, 0, 0, 1, w * 0.3805, h * 0.806);
  2692. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3951, h * 0.8008);
  2693. c.lineTo(w * 0.435, h * 0.821);
  2694. c.lineTo(w * 0.4285, h * 0.827);
  2695. c.lineTo(w * 0.4008, h * 0.8127);
  2696. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.3878, h * 0.8196);
  2697. c.lineTo(w * 0.4333, h * 0.8443);
  2698. c.lineTo(w * 0.426, h * 0.8512);
  2699. c.lineTo(w * 0.3878, h * 0.8308);
  2700. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.3976, h * 0.8489);
  2701. c.close();
  2702. c.moveTo(w * 0.6171, h * 0.7932);
  2703. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.6366, h * 0.7963);
  2704. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 1, w * 0.639, h * 0.8188);
  2705. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.6211, h * 0.8497);
  2706. c.lineTo(w * 0.5894, h * 0.8677);
  2707. c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 1, w * 0.565, h * 0.8646);
  2708. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.5659, h * 0.8354);
  2709. c.arcTo(w * 0.0488, h * 0.0451, 0, 0, 1, w * 0.5805, h * 0.8127);
  2710. c.close();
  2711. c.moveTo(w * 0.5886, h * 0.8181);
  2712. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.5748, h * 0.8368);
  2713. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.574, h * 0.8527);
  2714. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.587, h * 0.8586);
  2715. c.lineTo(w * 0.6163, h * 0.8428);
  2716. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.6285, h * 0.8248);
  2717. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6293, h * 0.8105);
  2718. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.6163, h * 0.803);
  2719. c.close();
  2720. c.moveTo(w * 0.64, h * 0.8398);
  2721. c.lineTo(w * 0.64, h * 0.779);
  2722. c.lineTo(w * 0.6854, h * 0.7563);
  2723. c.arcTo(w * 0.0106, h * 0.0098, 0, 0, 1, w * 0.7008, h * 0.7632);
  2724. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6959, h * 0.7865);
  2725. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6805, h * 0.8);
  2726. c.lineTo(w * 0.6992, h * 0.8097);
  2727. c.lineTo(w * 0.6854, h * 0.8166);
  2728. c.lineTo(w * 0.6569, h * 0.8015);
  2729. c.lineTo(w * 0.6805, h * 0.7887);
  2730. c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 0, w * 0.6894, h * 0.7782);
  2731. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6894, h * 0.7699);
  2732. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.6837, h * 0.7684);
  2733. c.lineTo(w * 0.6528, h * 0.7842);
  2734. c.lineTo(w * 0.6528, h * 0.8331);
  2735. c.close();
  2736. c.moveTo(w * 0.7, h * 0.8082);
  2737. c.lineTo(w * 0.7301, h * 0.7338);
  2738. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7358, h * 0.7271);
  2739. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7415, h * 0.7316);
  2740. c.lineTo(w * 0.7699, h * 0.7707);
  2741. c.lineTo(w * 0.7602, h * 0.7766);
  2742. c.lineTo(w * 0.7537, h * 0.7692);
  2743. c.lineTo(w * 0.7276, h * 0.782);
  2744. c.lineTo(w * 0.7228, h * 0.7736);
  2745. c.lineTo(w * 0.748, h * 0.7617);
  2746. c.lineTo(w * 0.7358, h * 0.7421);
  2747. c.lineTo(w * 0.7114, h * 0.803);
  2748. c.close();
  2749. c.moveTo(w * 0.8244, h * 0.7316);
  2750. c.lineTo(w * 0.8171, h * 0.7459);
  2751. c.lineTo(w * 0.7894, h * 0.7609);
  2752. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 1, w * 0.7683, h * 0.7593);
  2753. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.7667, h * 0.7338);
  2754. c.arcTo(w * 0.0488, h * 0.0452, 0, 0, 1, w * 0.7937, h * 0.697);
  2755. c.lineTo(w * 0.822, h * 0.6834);
  2756. c.lineTo(w * 0.8171, h * 0.6962);
  2757. c.lineTo(w * 0.7902, h * 0.7113);
  2758. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.778, h * 0.7256);
  2759. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.7756, h * 0.7444);
  2760. c.arcTo(w * 0.0077, h * 0.0072, 0, 0, 0, w * 0.787, h * 0.7512);
  2761. c.close();
  2762. c.moveTo(w * 0.8366, h * 0.6742);
  2763. c.lineTo(w * 0.8366, h * 0.7248);
  2764. c.lineTo(w * 0.878, h * 0.7043);
  2765. c.lineTo(w * 0.874, h * 0.7158);
  2766. c.lineTo(w * 0.8333, h * 0.7368);
  2767. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 1, w * 0.8268, h * 0.7324);
  2768. c.lineTo(w * 0.8268, h * 0.6804);
  2769. c.close();
  2770. c.moveTo(w * 0.9342, h * 0.6233);
  2771. c.lineTo(w * 0.9293, h * 0.6369);
  2772. c.lineTo(w * 0.9033, h * 0.6503);
  2773. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.8927, h * 0.6601);
  2774. c.arcTo(w * 0.0406, h * 0.0376, 0, 0, 0, w * 0.887, h * 0.6729);
  2775. c.lineTo(w * 0.9309, h * 0.6503);
  2776. c.lineTo(w * 0.9268, h * 0.6631);
  2777. c.lineTo(w * 0.887, h * 0.6834);
  2778. c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.8992, h * 0.691);
  2779. c.lineTo(w * 0.935, h * 0.6722);
  2780. c.lineTo(w * 0.9285, h * 0.6864);
  2781. c.lineTo(w * 0.9008, h * 0.7007);
  2782. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.8829, h * 0.7015);
  2783. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.8764, h * 0.6827);
  2784. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.8959, h * 0.6443);
  2785. c.fill();
  2786. c.restore();
  2787. c.setShadow(false);
  2788. c.setLineJoin('round');
  2789. c.begin();
  2790. c.moveTo(w * 0.126, h * 0.1316);
  2791. c.lineTo(w * 0.126, h * 0.267);
  2792. c.lineTo(w * 0.378, h * 0.4023);
  2793. c.lineTo(w * 0.5, h * 0.6015);
  2794. c.lineTo(w * 0.622, h * 0.4023);
  2795. c.lineTo(w * 0.874, h * 0.267);
  2796. c.lineTo(w * 0.874, h * 0.1316);
  2797. c.moveTo(0, h * 0.3346);
  2798. c.lineTo(w * 0.126, h * 0.267);
  2799. c.moveTo(w * 0.5, h * 0.6015);
  2800. c.lineTo(w * 0.5, h);
  2801. c.moveTo(w, h * 0.3346);
  2802. c.lineTo(w * 0.87, h * 0.267);
  2803. c.moveTo(w * 0.378, h * 0.4023);
  2804. c.lineTo(w * 0.622, h * 0.4023);
  2805. c.stroke();
  2806. c.setStrokeWidth(2 * strokeWidth);
  2807. c.setStrokeColor('#292929');
  2808. c.begin();
  2809. c.moveTo(0, h * 0.7331);
  2810. c.lineTo(0, h * 0.3346);
  2811. c.lineTo(w * 0.126, h * 0.1316);
  2812. c.lineTo(w * 0.374, 0);
  2813. c.lineTo(w * 0.626, 0);
  2814. c.lineTo(w * 0.874, h * 0.1316);
  2815. c.lineTo(w, h * 0.3346);
  2816. c.lineTo(w, h * 0.7331);
  2817. c.lineTo(w * 0.5, h);
  2818. c.close();
  2819. c.stroke();
  2820. };
  2821. mxCellRenderer.registerShape(mxShapeAws3dOracleDatabaseServer.prototype.cst.ORACLE_DB_SERVER, mxShapeAws3dOracleDatabaseServer);//zzz
  2822. //**********************************************************************************************************************************************************
  2823. //RDS Master
  2824. //**********************************************************************************************************************************************************
  2825. /**
  2826. * Extends mxShape.
  2827. */
  2828. function mxShapeAws3dRdsMaster(bounds, fill, stroke, strokewidth)
  2829. {
  2830. mxShape.call(this);
  2831. this.bounds = bounds;
  2832. this.fill = fill;
  2833. this.stroke = stroke;
  2834. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2835. };
  2836. /**
  2837. * Extends mxShape.
  2838. */
  2839. mxUtils.extend(mxShapeAws3dRdsMaster, mxShape);
  2840. mxShapeAws3dRdsMaster.prototype.cst = {
  2841. RDS_MASTER : 'mxgraph.aws3d.rdsMaster',
  2842. SHADING_COLORS : 'shadingCols'
  2843. };
  2844. /**
  2845. * Function: paintVertexShape
  2846. *
  2847. * Paints the vertex shape.
  2848. */
  2849. mxShapeAws3dRdsMaster.prototype.paintVertexShape = function(c, x, y, w, h)
  2850. {
  2851. c.translate(x, y);
  2852. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2853. var strokeWidth1 = strokeWidth * w / 123;
  2854. var strokeWidth2 = strokeWidth * h /133;
  2855. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2856. c.setStrokeWidth(strokeWidth);
  2857. this.background(c, 0, 0, w, h, strokeWidth);
  2858. c.setShadow(false);
  2859. this.foreground(c, 0, 0, w, h, strokeWidth);
  2860. };
  2861. mxShapeAws3dRdsMaster.prototype.background = function(c, x, y, w, h, strokeWidth)
  2862. {
  2863. c.save();
  2864. c.save();
  2865. c.setStrokeWidth(2 * strokeWidth);
  2866. c.setStrokeColor('#292929');
  2867. c.setLineJoin('round');
  2868. c.begin();
  2869. c.moveTo(0, h * 0.7331);
  2870. c.lineTo(0, h * 0.3346);
  2871. c.lineTo(w * 0.126, h * 0.1316);
  2872. c.lineTo(w * 0.374, 0);
  2873. c.lineTo(w * 0.626, 0);
  2874. c.lineTo(w * 0.874, h * 0.1316);
  2875. c.lineTo(w, h * 0.3346);
  2876. c.lineTo(w, h * 0.7331);
  2877. c.lineTo(w * 0.5, h);
  2878. c.close();
  2879. c.fillAndStroke();
  2880. };
  2881. mxShapeAws3dRdsMaster.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2882. {
  2883. c.restore();
  2884. c.setShadow(false);
  2885. c.setFillColor('#000000');
  2886. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRdsMaster.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2887. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2888. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2889. c.begin();
  2890. c.moveTo(w * 0.126, h * 0.1316);
  2891. c.lineTo(w * 0.126, h * 0.267);
  2892. c.lineTo(w * 0.378, h * 0.4023);
  2893. c.lineTo(w * 0.5, h * 0.6015);
  2894. c.lineTo(w * 0.5, h);
  2895. c.lineTo(0, h * 0.7331);
  2896. c.lineTo(0, h * 0.3346);
  2897. c.close();
  2898. c.moveTo(w * 0.874, h * 0.267);
  2899. c.lineTo(w * 0.874, h * 0.1316);
  2900. c.lineTo(w, h * 0.3308);
  2901. c.fill();
  2902. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2903. c.begin();
  2904. c.moveTo(w * 0.5, h);
  2905. c.lineTo(w * 0.5, h * 0.6015);
  2906. c.lineTo(w * 0.622, h * 0.4023);
  2907. c.lineTo(w * 0.874, h * 0.267);
  2908. c.lineTo(w, h * 0.3308);
  2909. c.lineTo(w, h * 0.7331);
  2910. c.close();
  2911. c.fill();
  2912. c.restore();
  2913. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  2914. c.setFillColor(strokeColor);
  2915. c.setShadow(false);
  2916. c.begin();
  2917. c.moveTo(w * 0.1878, h * 0.1932);
  2918. c.lineTo(w * 0.4854, h * 0.0414);
  2919. c.lineTo(w * 0.5886, h * 0.094);
  2920. c.lineTo(w * 0.4455, h * 0.2308);
  2921. c.lineTo(w * 0.7122, h * 0.1579);
  2922. c.lineTo(w * 0.8171, h * 0.2098);
  2923. c.lineTo(w * 0.5187, h * 0.3617);
  2924. c.lineTo(w * 0.4537, h * 0.3293);
  2925. c.lineTo(w * 0.7016, h * 0.2053);
  2926. c.lineTo(w * 0.3854, h * 0.2947);
  2927. c.lineTo(w * 0.3187, h * 0.2602);
  2928. c.lineTo(w * 0.4959, h * 0.0992);
  2929. c.lineTo(w * 0.2504, h * 0.2256);
  2930. c.close();
  2931. c.fill();
  2932. c.setLineJoin('round');
  2933. c.begin();
  2934. c.moveTo(w * 0.126, h * 0.1316);
  2935. c.lineTo(w * 0.126, h * 0.267);
  2936. c.lineTo(w * 0.378, h * 0.4023);
  2937. c.lineTo(w * 0.5, h * 0.6015);
  2938. c.lineTo(w * 0.622, h * 0.4023);
  2939. c.lineTo(w * 0.874, h * 0.267);
  2940. c.lineTo(w * 0.874, h * 0.1316);
  2941. c.moveTo(0, h * 0.3346);
  2942. c.lineTo(w * 0.126, h * 0.267);
  2943. c.moveTo(w * 0.5, h * 0.6015);
  2944. c.lineTo(w * 0.5, h);
  2945. c.moveTo(w, h * 0.3346);
  2946. c.lineTo(w * 0.87, h * 0.267);
  2947. c.moveTo(w * 0.378, h * 0.4023);
  2948. c.lineTo(w * 0.622, h * 0.4023);
  2949. c.stroke();
  2950. c.setStrokeWidth(2 * strokeWidth);
  2951. c.setStrokeColor('#292929');
  2952. c.begin();
  2953. c.moveTo(0, h * 0.7331);
  2954. c.lineTo(0, h * 0.3346);
  2955. c.lineTo(w * 0.126, h * 0.1316);
  2956. c.lineTo(w * 0.374, 0);
  2957. c.lineTo(w * 0.626, 0);
  2958. c.lineTo(w * 0.874, h * 0.1316);
  2959. c.lineTo(w, h * 0.3346);
  2960. c.lineTo(w, h * 0.7331);
  2961. c.lineTo(w * 0.5, h);
  2962. c.close();
  2963. c.stroke();
  2964. };
  2965. mxCellRenderer.registerShape(mxShapeAws3dRdsMaster.prototype.cst.RDS_MASTER, mxShapeAws3dRdsMaster);
  2966. //**********************************************************************************************************************************************************
  2967. //RDS
  2968. //**********************************************************************************************************************************************************
  2969. /**
  2970. * Extends mxShape.
  2971. */
  2972. function mxShapeAws3dRds(bounds, fill, stroke, strokewidth)
  2973. {
  2974. mxShape.call(this);
  2975. this.bounds = bounds;
  2976. this.fill = fill;
  2977. this.stroke = stroke;
  2978. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2979. };
  2980. /**
  2981. * Extends mxShape.
  2982. */
  2983. mxUtils.extend(mxShapeAws3dRds, mxShape);
  2984. mxShapeAws3dRds.prototype.cst = {
  2985. RDS : 'mxgraph.aws3d.rds',
  2986. SHADING_COLORS : 'shadingCols'
  2987. };
  2988. /**
  2989. * Function: paintVertexShape
  2990. *
  2991. * Paints the vertex shape.
  2992. */
  2993. mxShapeAws3dRds.prototype.paintVertexShape = function(c, x, y, w, h)
  2994. {
  2995. c.translate(x, y);
  2996. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2997. var strokeWidth1 = strokeWidth * w / 123;
  2998. var strokeWidth2 = strokeWidth * h /133;
  2999. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3000. c.setStrokeWidth(strokeWidth);
  3001. this.background(c, 0, 0, w, h, strokeWidth);
  3002. c.setShadow(false);
  3003. this.foreground(c, 0, 0, w, h, strokeWidth);
  3004. };
  3005. mxShapeAws3dRds.prototype.background = function(c, x, y, w, h, strokeWidth)
  3006. {
  3007. c.save();
  3008. c.save();
  3009. c.setStrokeWidth(2 * strokeWidth);
  3010. c.setStrokeColor('#292929');
  3011. c.setLineJoin('round');
  3012. c.begin();
  3013. c.moveTo(0, h * 0.7331);
  3014. c.lineTo(0, h * 0.3346);
  3015. c.lineTo(w * 0.126, h * 0.1316);
  3016. c.lineTo(w * 0.374, 0);
  3017. c.lineTo(w * 0.626, 0);
  3018. c.lineTo(w * 0.874, h * 0.1316);
  3019. c.lineTo(w, h * 0.3346);
  3020. c.lineTo(w, h * 0.7331);
  3021. c.lineTo(w * 0.5, h);
  3022. c.close();
  3023. c.fillAndStroke();
  3024. };
  3025. mxShapeAws3dRds.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3026. {
  3027. c.restore();
  3028. c.setShadow(false);
  3029. c.setFillColor('#000000');
  3030. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRds.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3031. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3032. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3033. c.begin();
  3034. c.moveTo(w * 0.126, h * 0.1316);
  3035. c.lineTo(w * 0.126, h * 0.267);
  3036. c.lineTo(w * 0.378, h * 0.4023);
  3037. c.lineTo(w * 0.5, h * 0.6015);
  3038. c.lineTo(w * 0.5, h);
  3039. c.lineTo(0, h * 0.7331);
  3040. c.lineTo(0, h * 0.3346);
  3041. c.close();
  3042. c.moveTo(w * 0.874, h * 0.267);
  3043. c.lineTo(w * 0.874, h * 0.1316);
  3044. c.lineTo(w, h * 0.3308);
  3045. c.fill();
  3046. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3047. c.begin();
  3048. c.moveTo(w * 0.5, h);
  3049. c.lineTo(w * 0.5, h * 0.6015);
  3050. c.lineTo(w * 0.622, h * 0.4023);
  3051. c.lineTo(w * 0.874, h * 0.267);
  3052. c.lineTo(w, h * 0.3308);
  3053. c.lineTo(w, h * 0.7331);
  3054. c.close();
  3055. c.fill();
  3056. c.restore();
  3057. c.setFillColor('#ffffff');
  3058. c.setShadow(false);
  3059. c.begin();
  3060. c.moveTo(0, h * 0.6053);
  3061. c.lineTo(w * 0.5, h * 0.8722);
  3062. c.lineTo(w, h * 0.6053);
  3063. c.lineTo(w, h * 0.6278);
  3064. c.lineTo(w * 0.5, h * 0.8947);
  3065. c.lineTo(0, h * 0.6278);
  3066. c.close();
  3067. c.fill();
  3068. c.setLineJoin('round');
  3069. c.begin();
  3070. c.moveTo(w * 0.126, h * 0.1316);
  3071. c.lineTo(w * 0.126, h * 0.267);
  3072. c.lineTo(w * 0.378, h * 0.4023);
  3073. c.lineTo(w * 0.5, h * 0.6015);
  3074. c.lineTo(w * 0.622, h * 0.4023);
  3075. c.lineTo(w * 0.874, h * 0.267);
  3076. c.lineTo(w * 0.874, h * 0.1316);
  3077. c.moveTo(0, h * 0.3346);
  3078. c.lineTo(w * 0.126, h * 0.267);
  3079. c.moveTo(w * 0.5, h * 0.6015);
  3080. c.lineTo(w * 0.5, h);
  3081. c.moveTo(w, h * 0.3346);
  3082. c.lineTo(w * 0.87, h * 0.267);
  3083. c.moveTo(w * 0.378, h * 0.4023);
  3084. c.lineTo(w * 0.622, h * 0.4023);
  3085. c.stroke();
  3086. c.setStrokeWidth(2 * strokeWidth);
  3087. c.setStrokeColor('#292929');
  3088. c.begin();
  3089. c.moveTo(0, h * 0.7331);
  3090. c.lineTo(0, h * 0.3346);
  3091. c.lineTo(w * 0.126, h * 0.1316);
  3092. c.lineTo(w * 0.374, 0);
  3093. c.lineTo(w * 0.626, 0);
  3094. c.lineTo(w * 0.874, h * 0.1316);
  3095. c.lineTo(w, h * 0.3346);
  3096. c.lineTo(w, h * 0.7331);
  3097. c.lineTo(w * 0.5, h);
  3098. c.close();
  3099. c.stroke();
  3100. };
  3101. mxCellRenderer.registerShape(mxShapeAws3dRds.prototype.cst.RDS, mxShapeAws3dRds);
  3102. //**********************************************************************************************************************************************************
  3103. //Route 53
  3104. //**********************************************************************************************************************************************************
  3105. /**
  3106. * Extends mxShape.
  3107. */
  3108. function mxShapeAws3dRoute53(bounds, fill, stroke, strokewidth)
  3109. {
  3110. mxShape.call(this);
  3111. this.bounds = bounds;
  3112. this.fill = fill;
  3113. this.stroke = stroke;
  3114. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3115. };
  3116. /**
  3117. * Extends mxShape.
  3118. */
  3119. mxUtils.extend(mxShapeAws3dRoute53, mxShape);
  3120. mxShapeAws3dRoute53.prototype.cst = {
  3121. ROUTE_53 : 'mxgraph.aws3d.route53',
  3122. SHADING_COLORS : 'shadingCols'
  3123. };
  3124. /**
  3125. * Function: paintVertexShape
  3126. *
  3127. * Paints the vertex shape.
  3128. */
  3129. mxShapeAws3dRoute53.prototype.paintVertexShape = function(c, x, y, w, h)
  3130. {
  3131. c.translate(x, y);
  3132. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3133. var strokeWidth1 = strokeWidth * w / 117;
  3134. var strokeWidth2 = strokeWidth * h /134.4;
  3135. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3136. c.setStrokeWidth(strokeWidth);
  3137. this.background(c, 0, 0, w, h, strokeWidth);
  3138. c.setShadow(false);
  3139. this.foreground(c, 0, 0, w, h, strokeWidth);
  3140. };
  3141. mxShapeAws3dRoute53.prototype.background = function(c, x, y, w, h, strokeWidth)
  3142. {
  3143. c.save();
  3144. c.save();
  3145. c.setStrokeWidth(2 * strokeWidth);
  3146. c.setStrokeColor('#292929');
  3147. c.setLineJoin('round');
  3148. c.begin();
  3149. c.moveTo(0, h * 0.6994);
  3150. c.lineTo(0, h * 0.2009);
  3151. c.lineTo(w * 0.0427, h * 0.0781);
  3152. c.lineTo(w * 0.7974, 0);
  3153. c.lineTo(w, h * 0.1004);
  3154. c.lineTo(w, h * 0.5915);
  3155. c.lineTo(w * 0.8376, h * 0.9784);
  3156. c.lineTo(w * 0.5983, h);
  3157. c.close();
  3158. c.fillAndStroke();
  3159. };
  3160. mxShapeAws3dRoute53.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3161. {
  3162. c.restore();
  3163. c.setShadow(false);
  3164. c.setFillColor('#000000');
  3165. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRoute53.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3166. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3167. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3168. c.begin();
  3169. c.moveTo(0, h * 0.2009);
  3170. c.lineTo(w * 0.6009, h * 0.5007);
  3171. c.lineTo(w * 0.8376, h * 0.4799);
  3172. c.lineTo(w * 0.8376, h * 0.9784);
  3173. c.lineTo(w * 0.5966, h);
  3174. c.lineTo(0, h * 0.6979);
  3175. c.close();
  3176. c.fill();
  3177. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3178. c.begin();
  3179. c.moveTo(w * 0.8348, h * 0.4861);
  3180. c.lineTo(w * 0.9985, h * 0.0992);
  3181. c.lineTo(w, h * 0.5952);
  3182. c.lineTo(w * 0.8404, h * 0.9747);
  3183. c.close();
  3184. c.fill();
  3185. c.restore();
  3186. c.setShadow(false);
  3187. c.setLineJoin('round');
  3188. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3189. c.setFillColor(strokeColor);
  3190. c.begin();
  3191. c.moveTo(w * 0.5855, h * 0.1079);
  3192. c.arcTo(w * 0.094, h * 0.0744, 0, 0, 0, w * 0.6863, h * 0.1548);
  3193. c.arcTo(w * 0.0855, h * 0.0446, 0, 0, 0, w * 0.7761, h * 0.2031);
  3194. c.lineTo(w * 0.7726, h * 0.2455);
  3195. c.arcTo(w * 0.0769, h * 0.0298, 0, 0, 0, w * 0.694, h * 0.2693);
  3196. c.arcTo(w * 0.0684, h * 0.0446, 0, 0, 1, w * 0.5897, h * 0.3051);
  3197. c.arcTo(w * 0.4274, h * 0.372, 0, 0, 0, w * 0.4573, h * 0.2753);
  3198. c.arcTo(w * 0.0855, h * 0.0744, 0, 0, 0, w * 0.4188, h * 0.2344);
  3199. c.lineTo(w * 0.3846, h * 0.2083);
  3200. c.arcTo(w * 0.0769, h * 0.0372, 0, 0, 1, w * 0.4103, h * 0.1525);
  3201. c.arcTo(w * 0.0855, h * 0.0409, 0, 0, 0, w * 0.4906, h * 0.1079);
  3202. c.close();
  3203. c.fill();
  3204. c.begin();
  3205. c.moveTo(0, h * 0.2009);
  3206. c.lineTo(w * 0.6009, h * 0.5007);
  3207. c.lineTo(w * 0.8376, h * 0.4799);
  3208. c.lineTo(w * 0.8376, h * 0.9784);
  3209. c.lineTo(w * 0.5966, h);
  3210. c.lineTo(0, h * 0.6979);
  3211. c.close();
  3212. c.moveTo(w * 0.8348, h * 0.4861);
  3213. c.lineTo(w * 0.9985, h * 0.0992);
  3214. c.lineTo(w, h * 0.5952);
  3215. c.lineTo(w * 0.8404, h * 0.9747);
  3216. c.close();
  3217. c.moveTo(w * 0.6009, h * 0.5007);
  3218. c.lineTo(w * 0.6009, h);
  3219. c.stroke();
  3220. c.setStrokeWidth(2 * strokeWidth);
  3221. c.setStrokeColor('#292929');
  3222. c.begin();
  3223. c.moveTo(0, h * 0.6994);
  3224. c.lineTo(0, h * 0.2009);
  3225. c.lineTo(w * 0.0427, h * 0.0781);
  3226. c.lineTo(w * 0.7974, 0);
  3227. c.lineTo(w, h * 0.1004);
  3228. c.lineTo(w, h * 0.5915);
  3229. c.lineTo(w * 0.8376, h * 0.9784);
  3230. c.lineTo(w * 0.5983, h);
  3231. c.close();
  3232. c.stroke();
  3233. };
  3234. mxCellRenderer.registerShape(mxShapeAws3dRoute53.prototype.cst.ROUTE_53, mxShapeAws3dRoute53);
  3235. //**********************************************************************************************************************************************************
  3236. //S3 Bucket
  3237. //**********************************************************************************************************************************************************
  3238. /**
  3239. * Extends mxShape.
  3240. */
  3241. function mxShapeAws3dS3Bucket(bounds, fill, stroke, strokewidth)
  3242. {
  3243. mxShape.call(this);
  3244. this.bounds = bounds;
  3245. this.fill = fill;
  3246. this.stroke = stroke;
  3247. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3248. };
  3249. /**
  3250. * Extends mxShape.
  3251. */
  3252. mxUtils.extend(mxShapeAws3dS3Bucket, mxShape);
  3253. mxShapeAws3dS3Bucket.prototype.cst = {
  3254. S3_BUCKET : 'mxgraph.aws3d.s3Bucket',
  3255. SHADING_COLORS : 'shadingCols'
  3256. };
  3257. /**
  3258. * Function: paintVertexShape
  3259. *
  3260. * Paints the vertex shape.
  3261. */
  3262. mxShapeAws3dS3Bucket.prototype.paintVertexShape = function(c, x, y, w, h)
  3263. {
  3264. c.translate(x, y);
  3265. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3266. var strokeWidth1 = strokeWidth * w / 61.5;
  3267. var strokeWidth2 = strokeWidth * h / 63.8;
  3268. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  3269. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3270. c.setShadow(false);
  3271. c.setStrokeWidth(strokeWidth);
  3272. c.save();
  3273. c.save();
  3274. c.setStrokeWidth(2 * strokeWidth);
  3275. c.setStrokeColor('#292929');
  3276. c.setLineJoin('round');
  3277. if (isShadow == 1)
  3278. {
  3279. c.setShadow(true);
  3280. }
  3281. c.begin();
  3282. c.moveTo(0, h * 0.2774);
  3283. c.lineTo(w * 0.5, 0);
  3284. c.lineTo(w, h * 0.2774);
  3285. c.lineTo(w * 0.7967, h * 0.8307);
  3286. c.lineTo(w * 0.5, h);
  3287. c.lineTo(w * 0.1951, h * 0.8307);
  3288. c.close();
  3289. c.fillAndStroke();
  3290. c.restore();
  3291. c.setFillColor('#000000');
  3292. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3Bucket.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3293. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3294. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3295. c.begin();
  3296. c.moveTo(0, h * 0.2774);
  3297. c.lineTo(w * 0.5, h * 0.5564);
  3298. c.lineTo(w * 0.5, h);
  3299. c.lineTo(w * 0.1984, h * 0.8307);
  3300. c.close();
  3301. c.fill();
  3302. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3303. c.begin();
  3304. c.moveTo(w * 0.5, h * 0.5533);
  3305. c.lineTo(w, h * 0.2774);
  3306. c.lineTo(w * 0.7967, h * 0.8307);
  3307. c.lineTo(w * 0.5, h);
  3308. c.close();
  3309. c.fill();
  3310. c.restore();
  3311. c.setLineJoin('round');
  3312. c.begin();
  3313. c.moveTo(0, h * 0.2774);
  3314. c.lineTo(w * 0.5, h * 0.5564);
  3315. c.lineTo(w, h * 0.2774);
  3316. c.stroke();
  3317. c.begin();
  3318. c.moveTo(w * 0.5, h * 0.5564);
  3319. c.lineTo(w * 0.5, h);
  3320. c.stroke();
  3321. c.setStrokeWidth(2 * strokeWidth);
  3322. c.setStrokeColor('#292929');
  3323. c.setLineJoin('round');
  3324. c.begin();
  3325. c.moveTo(0, h * 0.2774);
  3326. c.lineTo(w * 0.5008, 0);
  3327. c.lineTo(w, h * 0.2774);
  3328. c.lineTo(w * 0.7967, h * 0.8307);
  3329. c.lineTo(w * 0.5008, h);
  3330. c.lineTo(w * 0.1951, h * 0.8307);
  3331. c.close();
  3332. c.stroke();
  3333. };
  3334. mxCellRenderer.registerShape(mxShapeAws3dS3Bucket.prototype.cst.S3_BUCKET, mxShapeAws3dS3Bucket);
  3335. //**********************************************************************************************************************************************************
  3336. //S3
  3337. //**********************************************************************************************************************************************************
  3338. /**
  3339. * Extends mxShape.
  3340. */
  3341. function mxShapeAws3dS3(bounds, fill, stroke, strokewidth)
  3342. {
  3343. mxShape.call(this);
  3344. this.bounds = bounds;
  3345. this.fill = fill;
  3346. this.stroke = stroke;
  3347. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3348. };
  3349. /**
  3350. * Extends mxShape.
  3351. */
  3352. mxUtils.extend(mxShapeAws3dS3, mxShape);
  3353. mxShapeAws3dS3.prototype.cst = {
  3354. S3 : 'mxgraph.aws3d.s3',
  3355. SHADING_COLORS : 'shadingCols'
  3356. };
  3357. /**
  3358. * Function: paintVertexShape
  3359. *
  3360. * Paints the vertex shape.
  3361. */
  3362. mxShapeAws3dS3.prototype.paintVertexShape = function(c, x, y, w, h)
  3363. {
  3364. c.translate(x, y);
  3365. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3366. var strokeWidth1 = strokeWidth * w / 231.5;
  3367. var strokeWidth2 = strokeWidth * h / 239;
  3368. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3369. this.background(c, 0, 0, w, h, strokeWidth);
  3370. c.setShadow(false);
  3371. this.foreground(c, 0, 0, w, h, strokeWidth);
  3372. };
  3373. mxShapeAws3dS3.prototype.background = function(c, x, y, w, h, strokeWidth)
  3374. {
  3375. c.setStrokeWidth(strokeWidth);
  3376. c.save();
  3377. c.save();
  3378. c.setStrokeWidth(2 * strokeWidth);
  3379. c.setStrokeColor('#292929');
  3380. c.setLineJoin('round');
  3381. c.begin();
  3382. c.moveTo(0, h * 0.7782);
  3383. c.lineTo(0, h * 0.3406);
  3384. c.lineTo(w * 0.5974, 0);
  3385. c.lineTo(w, h * 0.2218);
  3386. c.lineTo(w, h * 0.6674);
  3387. c.lineTo(w * 0.3991, h);
  3388. c.close();
  3389. c.fillAndStroke();
  3390. };
  3391. mxShapeAws3dS3.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3392. {
  3393. c.restore();
  3394. c.setShadow(false);
  3395. c.setFillColor('#000000');
  3396. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3397. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3398. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3399. c.begin();
  3400. c.moveTo(0, h * 0.3406);
  3401. c.lineTo(w * 0.3991, h * 0.5548);
  3402. c.lineTo(w * 0.3991, h);
  3403. c.lineTo(0, h * 0.7782);
  3404. c.close();
  3405. c.fill();
  3406. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3407. c.begin();
  3408. c.moveTo(w * 0.3991, h * 0.5548);
  3409. c.lineTo(w, h * 0.2218);
  3410. c.lineTo(w, h * 0.6661);
  3411. c.lineTo(w * 0.3991, h);
  3412. c.close();
  3413. c.fill();
  3414. c.restore();
  3415. c.setShadow(false);
  3416. c.setLineJoin('round');
  3417. c.begin();
  3418. c.moveTo(0, h * 0.3406);
  3419. c.lineTo(w * 0.3991, h * 0.5548);
  3420. c.lineTo(w, h * 0.2218);
  3421. c.moveTo(w * 0.3991, h * 0.5548);
  3422. c.lineTo(w * 0.3991, h);
  3423. c.moveTo(w * 0.3991, h * 0.3335);
  3424. c.lineTo(w * 0.2009, h * 0.448);
  3425. c.lineTo(w * 0.2009, h * 0.8891);
  3426. c.moveTo(w * 0.5983, h * 0.2209);
  3427. c.lineTo(w * 0.7948, h * 0.1109);
  3428. c.moveTo(w * 0.2022, h * 0.2218);
  3429. c.lineTo(w * 0.5991, h * 0.4448);
  3430. c.lineTo(w * 0.5991, h * 0.8891);
  3431. c.moveTo(w * 0.4004, h * 0.1117);
  3432. c.lineTo(w * 0.7978, h * 0.3335);
  3433. c.lineTo(w * 0.7978, h * 0.7791);
  3434. c.stroke();
  3435. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3436. c.setFillColor(strokeColor);
  3437. c.begin();
  3438. c.moveTo(w * 0.4773, h * 0.2155);
  3439. c.arcTo(w * 0.0086, h * 0.0046, 0, 0, 1, w * 0.4903, h * 0.2096);
  3440. c.arcTo(w * 0.2808, h * 0.272, 0, 0, 1, w * 0.6004, h * 0.2619);
  3441. c.arcTo(w * 0.108, h * 0.105, 0, 0, 1, w * 0.6177, h * 0.277);
  3442. c.arcTo(w * 0.0065, h * 0.0063, 0, 0, 1, w * 0.6099, h * 0.2879);
  3443. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.5378, h * 0.2607);
  3444. c.arcTo(w * 0.216, h * 0.2092, 0, 0, 1, w * 0.4773, h * 0.2155);
  3445. c.close();
  3446. c.fill();
  3447. c.begin();
  3448. c.moveTo(w * 0.4687, h * 0.2138);
  3449. c.arcTo(w * 0.1512, h * 0.1464, 0, 0, 0, w * 0.4838, h * 0.2343);
  3450. c.arcTo(w * 0.2376, h * 0.2301, 0, 0, 0, w * 0.5529, h * 0.2774);
  3451. c.arcTo(w * 0.1728, h * 0.1674, 0, 0, 0, w * 0.6091, h * 0.2954);
  3452. c.lineTo(w * 0.4946, h * 0.3339);
  3453. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.4549, h * 0.3205);
  3454. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.419, h * 0.3004);
  3455. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.3965, h * 0.2795);
  3456. c.close();
  3457. c.fill();
  3458. c.setStrokeWidth(2 * strokeWidth);
  3459. c.setStrokeColor('#292929');
  3460. c.setLineJoin('round');
  3461. c.begin();
  3462. c.moveTo(0, h * 0.7782);
  3463. c.lineTo(0, h * 0.3406);
  3464. c.lineTo(w * 0.5974, 0);
  3465. c.lineTo(w, h * 0.2218);
  3466. c.lineTo(w, h * 0.6674);
  3467. c.lineTo(w * 0.3991, h);
  3468. c.close();
  3469. c.stroke();
  3470. };
  3471. mxCellRenderer.registerShape(mxShapeAws3dS3.prototype.cst.S3, mxShapeAws3dS3);
  3472. //**********************************************************************************************************************************************************
  3473. //SimpleDB
  3474. //**********************************************************************************************************************************************************
  3475. /**
  3476. * Extends mxShape.
  3477. */
  3478. function mxShapeAws3dSimpleDB(bounds, fill, stroke, strokewidth)
  3479. {
  3480. mxShape.call(this);
  3481. this.bounds = bounds;
  3482. this.fill = fill;
  3483. this.stroke = stroke;
  3484. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3485. };
  3486. /**
  3487. * Extends mxShape.
  3488. */
  3489. mxUtils.extend(mxShapeAws3dSimpleDB, mxShape);
  3490. mxShapeAws3dSimpleDB.prototype.cst = {
  3491. SIMPLE_DB : 'mxgraph.aws3d.simpleDb',
  3492. SHADING_COLORS : 'shadingCols'
  3493. };
  3494. /**
  3495. * Function: paintVertexShape
  3496. *
  3497. * Paints the vertex shape.
  3498. */
  3499. mxShapeAws3dSimpleDB.prototype.paintVertexShape = function(c, x, y, w, h)
  3500. {
  3501. c.translate(x, y);
  3502. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3503. var strokeWidth1 = strokeWidth * w / 123;
  3504. var strokeWidth2 = strokeWidth * h /133;
  3505. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3506. c.setStrokeWidth(strokeWidth);
  3507. this.background(c, 0, 0, w, h, strokeWidth);
  3508. c.setShadow(false);
  3509. this.foreground(c, 0, 0, w, h, strokeWidth);
  3510. };
  3511. mxShapeAws3dSimpleDB.prototype.background = function(c, x, y, w, h, strokeWidth)
  3512. {
  3513. c.save();
  3514. c.save();
  3515. c.save();
  3516. c.setStrokeWidth(2 * strokeWidth);
  3517. c.setStrokeColor('#292929');
  3518. c.setLineJoin('round');
  3519. c.begin();
  3520. c.moveTo(0, h * 0.7331);
  3521. c.lineTo(0, h * 0.3346);
  3522. c.lineTo(w * 0.126, h * 0.1316);
  3523. c.lineTo(w * 0.374, 0);
  3524. c.lineTo(w * 0.626, 0);
  3525. c.lineTo(w * 0.874, h * 0.1316);
  3526. c.lineTo(w, h * 0.3346);
  3527. c.lineTo(w, h * 0.7331);
  3528. c.lineTo(w * 0.5, h);
  3529. c.close();
  3530. c.fillAndStroke();
  3531. };
  3532. mxShapeAws3dSimpleDB.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3533. {
  3534. c.restore();
  3535. c.setShadow(false);
  3536. c.setFillColor('#000000');
  3537. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3538. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3539. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3540. c.begin();
  3541. c.moveTo(w * 0.126, h * 0.1316);
  3542. c.lineTo(w * 0.126, h * 0.267);
  3543. c.lineTo(w * 0.378, h * 0.4023);
  3544. c.lineTo(w * 0.5, h * 0.6015);
  3545. c.lineTo(w * 0.5, h);
  3546. c.lineTo(0, h * 0.7331);
  3547. c.lineTo(0, h * 0.3346);
  3548. c.close();
  3549. c.moveTo(w * 0.874, h * 0.267);
  3550. c.lineTo(w * 0.874, h * 0.1316);
  3551. c.lineTo(w, h * 0.3308);
  3552. c.fill();
  3553. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3554. c.begin();
  3555. c.moveTo(w * 0.5, h);
  3556. c.lineTo(w * 0.5, h * 0.6015);
  3557. c.lineTo(w * 0.622, h * 0.4023);
  3558. c.lineTo(w * 0.874, h * 0.267);
  3559. c.lineTo(w, h * 0.3308);
  3560. c.lineTo(w, h * 0.7331);
  3561. c.close();
  3562. c.fill();
  3563. c.restore();
  3564. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3565. c.setFillColor(strokeColor);
  3566. c.setShadow(false);
  3567. c.begin();
  3568. c.moveTo(w * 0.1821, h * 0.182);
  3569. c.lineTo(w * 0.4659, h * 0.0308);
  3570. c.lineTo(w * 0.822, h * 0.2218);
  3571. c.lineTo(w * 0.539, h * 0.3714);
  3572. c.close();
  3573. c.fill();
  3574. c.setLineJoin('round');
  3575. c.begin();
  3576. c.moveTo(w * 0.126, h * 0.1316);
  3577. c.lineTo(w * 0.126, h * 0.267);
  3578. c.lineTo(w * 0.378, h * 0.4023);
  3579. c.lineTo(w * 0.5, h * 0.6015);
  3580. c.lineTo(w * 0.622, h * 0.4023);
  3581. c.lineTo(w * 0.874, h * 0.267);
  3582. c.lineTo(w * 0.874, h * 0.1316);
  3583. c.moveTo(0, h * 0.3346);
  3584. c.lineTo(w * 0.126, h * 0.267);
  3585. c.moveTo(w * 0.5, h * 0.6015);
  3586. c.lineTo(w * 0.5, h);
  3587. c.moveTo(w, h * 0.3346);
  3588. c.lineTo(w * 0.87, h * 0.267);
  3589. c.moveTo(w * 0.378, h * 0.4023);
  3590. c.lineTo(w * 0.622, h * 0.4023);
  3591. c.stroke();
  3592. c.restore();
  3593. c.setShadow(false);
  3594. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  3595. c.setStrokeColor(fillColor);
  3596. c.setStrokeWidth(2.2 * strokeWidth);
  3597. c.begin();
  3598. c.moveTo(w * 0.2382, h * 0.2218);
  3599. c.lineTo(w * 0.5415, h * 0.0602);
  3600. c.moveTo(w * 0.3821, h * 0.0564);
  3601. c.lineTo(w * 0.7737, h * 0.2656);
  3602. c.moveTo(w * 0.2967, h * 0.0915);
  3603. c.lineTo(w * 0.7114, h * 0.312);
  3604. c.moveTo(w * 0.2209, h * 0.1316);
  3605. c.lineTo(w * 0.6179, h * 0.3434);
  3606. c.stroke();
  3607. c.setStrokeWidth(2 * strokeWidth);
  3608. c.setStrokeColor('#292929');
  3609. c.begin();
  3610. c.moveTo(0, h * 0.7331);
  3611. c.lineTo(0, h * 0.3346);
  3612. c.lineTo(w * 0.126, h * 0.1316);
  3613. c.lineTo(w * 0.374, 0);
  3614. c.lineTo(w * 0.626, 0);
  3615. c.lineTo(w * 0.874, h * 0.1316);
  3616. c.lineTo(w, h * 0.3346);
  3617. c.lineTo(w, h * 0.7331);
  3618. c.lineTo(w * 0.5, h);
  3619. c.close();
  3620. c.stroke();
  3621. };
  3622. mxCellRenderer.registerShape(mxShapeAws3dSimpleDB.prototype.cst.SIMPLE_DB, mxShapeAws3dSimpleDB);
  3623. //**********************************************************************************************************************************************************
  3624. //SQS
  3625. //**********************************************************************************************************************************************************
  3626. /**
  3627. * Extends mxShape.
  3628. */
  3629. function mxShapeAws3dSqs(bounds, fill, stroke, strokewidth)
  3630. {
  3631. mxShape.call(this);
  3632. this.bounds = bounds;
  3633. this.fill = fill;
  3634. this.stroke = stroke;
  3635. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3636. };
  3637. /**
  3638. * Extends mxShape.
  3639. */
  3640. mxUtils.extend(mxShapeAws3dSqs, mxShape);
  3641. mxShapeAws3dSqs.prototype.cst = {
  3642. SQS : 'mxgraph.aws3d.sqs',
  3643. SHADING_COLORS : 'shadingCols'
  3644. };
  3645. /**
  3646. * Function: paintVertexShape
  3647. *
  3648. * Paints the vertex shape.
  3649. */
  3650. mxShapeAws3dSqs.prototype.paintVertexShape = function(c, x, y, w, h)
  3651. {
  3652. c.translate(x, y);
  3653. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3654. var strokeWidth1 = strokeWidth * w / 184;
  3655. var strokeWidth2 = strokeWidth * h / 212.75;
  3656. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3657. this.background(c, 0, 0, w, h, strokeWidth);
  3658. c.setShadow(false);
  3659. this.foreground(c, 0, 0, w, h, strokeWidth);
  3660. };
  3661. mxShapeAws3dSqs.prototype.background = function(c, x, y, w, h, strokeWidth)
  3662. {
  3663. c.setStrokeWidth(strokeWidth);
  3664. c.save();
  3665. c.save();
  3666. c.setStrokeWidth(2 * strokeWidth);
  3667. c.setStrokeColor('#292929');
  3668. c.setLineJoin('round');
  3669. c.begin();
  3670. c.moveTo(0, h * 0.7485);
  3671. c.lineTo(0, h * 0.584);
  3672. c.lineTo(w * 0.1658, h * 0.1666);
  3673. c.lineTo(w * 0.5, 0);
  3674. c.lineTo(w * 0.8337, h * 0.1666);
  3675. c.lineTo(w, h * 0.584);
  3676. c.lineTo(w, h * 0.7485);
  3677. c.lineTo(w * 0.5, h);
  3678. c.close();
  3679. c.fillAndStroke();
  3680. };
  3681. mxShapeAws3dSqs.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3682. {
  3683. c.restore();
  3684. c.setShadow(false);
  3685. c.setFillColor('#000000');
  3686. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3687. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3688. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3689. c.begin();
  3690. c.moveTo(w * 0.1658, h * 0.1671);
  3691. c.lineTo(w * 0.5, h * 0.334);
  3692. c.lineTo(w * 0.5, h);
  3693. c.lineTo(0, h * 0.7485);
  3694. c.lineTo(0, h * 0.584);
  3695. c.close();
  3696. c.fill();
  3697. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3698. c.begin();
  3699. c.moveTo(w * 0.5, h * 0.3344);
  3700. c.lineTo(w * 0.8332, h * 0.1671);
  3701. c.lineTo(w, h * 0.584);
  3702. c.lineTo(w, h * 0.7509);
  3703. c.lineTo(w * 0.5, h);
  3704. c.close();
  3705. c.fill();
  3706. c.restore();
  3707. c.setShadow(false);
  3708. c.setLineJoin('round');
  3709. c.begin();
  3710. c.moveTo(w * 0.6674, h * 0.0844);
  3711. c.lineTo(w * 0.3337, h * 0.2512);
  3712. c.lineTo(w * 0.25, h * 0.7109);
  3713. c.lineTo(w * 0.25, h * 0.8736);
  3714. c.moveTo(w * 0.3326, h * 0.0839);
  3715. c.lineTo(w * 0.6674, h * 0.2512);
  3716. c.lineTo(w * 0.75, h * 0.7053);
  3717. c.lineTo(w * 0.75, h * 0.874);
  3718. c.moveTo(0, h * 0.584);
  3719. c.lineTo(w * 0.5, h * 0.8331);
  3720. c.lineTo(w, h * 0.584);
  3721. c.moveTo(w * 0.1658, h * 0.1671);
  3722. c.lineTo(w * 0.5, h * 0.334);
  3723. c.lineTo(w * 0.8332, h * 0.1671);
  3724. c.moveTo(w * 0.5, h * 0.334);
  3725. c.lineTo(w * 0.5, h);
  3726. c.stroke();
  3727. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3728. c.setFillColor(strokeColor);
  3729. c.begin();
  3730. c.moveTo(w * 0.3337, h * 0.1511);
  3731. c.lineTo(w * 0.4668, h * 0.0848);
  3732. c.lineTo(w * 0.6663, h * 0.184);
  3733. c.lineTo(w * 0.5337, h * 0.2503);
  3734. c.close();
  3735. c.fill();
  3736. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000');
  3737. c.setFillColor(fillColor);
  3738. c.begin();
  3739. c.moveTo(w * 0.3902, h * 0.153);
  3740. c.lineTo(w * 0.4701, h * 0.113);
  3741. c.lineTo(w * 0.4701, h * 0.153);
  3742. c.close();
  3743. c.moveTo(w * 0.4402, h * 0.1784);
  3744. c.lineTo(w * 0.5196, h * 0.1384);
  3745. c.lineTo(w * 0.5196, h * 0.1784);
  3746. c.close();
  3747. c.moveTo(w * 0.4908, h * 0.2033);
  3748. c.lineTo(w * 0.5701, h * 0.1633);
  3749. c.lineTo(w * 0.5701, h * 0.2033);
  3750. c.close();
  3751. c.fill();
  3752. c.setStrokeWidth(2 * strokeWidth);
  3753. c.setStrokeColor('#292929');
  3754. c.setLineJoin('round');
  3755. c.begin();
  3756. c.moveTo(0, h * 0.7485);
  3757. c.lineTo(0, h * 0.584);
  3758. c.lineTo(w * 0.1658, h * 0.1666);
  3759. c.lineTo(w * 0.5, 0);
  3760. c.lineTo(w * 0.8337, h * 0.1666);
  3761. c.lineTo(w, h * 0.584);
  3762. c.lineTo(w, h * 0.7485);
  3763. c.lineTo(w * 0.5, h);
  3764. c.close();
  3765. c.stroke();
  3766. };
  3767. mxCellRenderer.registerShape(mxShapeAws3dSqs.prototype.cst.SQS, mxShapeAws3dSqs);
  3768. //**********************************************************************************************************************************************************
  3769. //VPC Gateway
  3770. //**********************************************************************************************************************************************************
  3771. /**
  3772. * Extends mxShape.
  3773. */
  3774. function mxShapeAws3dVpcGateway(bounds, fill, stroke, strokewidth)
  3775. {
  3776. mxShape.call(this);
  3777. this.bounds = bounds;
  3778. this.fill = fill;
  3779. this.stroke = stroke;
  3780. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3781. };
  3782. /**
  3783. * Extends mxShape.
  3784. */
  3785. mxUtils.extend(mxShapeAws3dVpcGateway, mxShape);
  3786. mxShapeAws3dVpcGateway.prototype.cst = {
  3787. VPC_GATEWAY : 'mxgraph.aws3d.vpcGateway',
  3788. SHADING_COLORS : 'shadingCols'
  3789. };
  3790. /**
  3791. * Function: paintVertexShape
  3792. *
  3793. * Paints the vertex shape.
  3794. */
  3795. mxShapeAws3dVpcGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  3796. {
  3797. c.translate(x, y);
  3798. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3799. var strokeWidth1 = strokeWidth * w / 116.7;
  3800. var strokeWidth2 = strokeWidth * h / 102.8;
  3801. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3802. this.background(c, 0, 0, w, h, strokeWidth);
  3803. c.setShadow(false);
  3804. this.foreground(c, 0, 0, w, h, strokeWidth);
  3805. };
  3806. mxShapeAws3dVpcGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  3807. {
  3808. c.setStrokeWidth(strokeWidth);
  3809. c.save();
  3810. c.save();
  3811. c.save();
  3812. c.save();
  3813. c.save();
  3814. c.setStrokeWidth(2 * strokeWidth);
  3815. c.setStrokeColor('#292929');
  3816. c.setLineJoin('round');
  3817. c.begin();
  3818. c.moveTo(w * 0.5801, h * 0.5447);
  3819. c.lineTo(w * 0.5801, h * 0.035);
  3820. c.lineTo(w * 0.1054, 0);
  3821. c.lineTo(0, h * 0.0691);
  3822. c.lineTo(0, h * 0.4134);
  3823. c.lineTo(w * 0.3188, h * 0.7247);
  3824. c.close();
  3825. c.fillAndStroke();
  3826. c.restore();
  3827. c.save();
  3828. c.setShadow(false);
  3829. c.setFillColor('#000000');
  3830. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3831. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3832. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3833. c.begin();
  3834. c.moveTo(w * 0.5801, h * 0.5447);
  3835. c.lineTo(w * 0.5801, h * 0.035);
  3836. c.lineTo(w * 0.3162, h * 0.2072);
  3837. c.lineTo(w * 0.3162, h * 0.7247);
  3838. c.close();
  3839. c.fill();
  3840. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3841. c.begin();
  3842. c.moveTo(w * 0.3162, h * 0.2072);
  3843. c.lineTo(0, h * 0.0691);
  3844. c.lineTo(0, h * 0.4134);
  3845. c.lineTo(w * 0.3162, h * 0.7247);
  3846. c.close();
  3847. c.fill();
  3848. c.restore();
  3849. c.setShadow(false);
  3850. c.begin();
  3851. c.moveTo(w * 0.5801, h * 0.5447);
  3852. c.lineTo(w * 0.5801, h * 0.035);
  3853. c.lineTo(w * 0.3162, h * 0.2072);
  3854. c.lineTo(w * 0.3162, h * 0.7247);
  3855. c.close();
  3856. c.stroke();
  3857. c.restore();
  3858. c.setLineJoin('round');
  3859. c.setShadow(false);
  3860. c.begin();
  3861. c.moveTo(w * 0.3162, h * 0.2072);
  3862. c.lineTo(0, h * 0.0691);
  3863. c.lineTo(0, h * 0.4134);
  3864. c.lineTo(w * 0.3162, h * 0.7247);
  3865. c.close();
  3866. c.stroke();
  3867. c.setStrokeWidth(2 * strokeWidth);
  3868. c.setStrokeColor('#292929');
  3869. c.begin();
  3870. c.moveTo(w * 0.5801, h * 0.5447);
  3871. c.lineTo(w * 0.5801, h * 0.035);
  3872. c.lineTo(w * 0.1054, 0);
  3873. c.lineTo(0, h * 0.0691);
  3874. c.lineTo(0, h * 0.4134);
  3875. c.lineTo(w * 0.3188, h * 0.7247);
  3876. c.close();
  3877. c.stroke();
  3878. c.restore();
  3879. c.setStrokeWidth(2 * strokeWidth);
  3880. c.setStrokeColor('#292929');
  3881. c.setLineJoin('round');
  3882. c.begin();
  3883. c.moveTo(w, h * 0.929);
  3884. c.lineTo(w, h * 0.5866);
  3885. c.lineTo(w * 0.6829, h * 0.1031);
  3886. c.lineTo(w * 0.4216, h * 0.2753);
  3887. c.lineTo(w * 0.4216, h * 0.7928);
  3888. c.lineTo(w * 0.8946, h);
  3889. c.close();
  3890. c.fillAndStroke();
  3891. };
  3892. mxShapeAws3dVpcGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3893. {
  3894. c.restore();
  3895. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3896. c.setShadow(false);
  3897. c.setLineJoin('round');
  3898. c.setFillColor('#000000');
  3899. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3900. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3901. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3902. c.begin();
  3903. c.moveTo(w, h * 0.929);
  3904. c.lineTo(w, h * 0.5866);
  3905. c.lineTo(w * 0.8946, h * 0.6537);
  3906. c.lineTo(w * 0.8946, h);
  3907. c.close();
  3908. c.fill();
  3909. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3910. c.begin();
  3911. c.moveTo(w * 0.8946, h);
  3912. c.lineTo(w * 0.8946, h * 0.6537);
  3913. c.lineTo(w * 0.4216, h * 0.2753);
  3914. c.lineTo(w * 0.4216, h * 0.7928);
  3915. c.close();
  3916. c.fill();
  3917. c.restore();
  3918. c.setShadow(false);
  3919. c.setLineJoin('round');
  3920. c.begin();
  3921. c.moveTo(w, h * 0.929);
  3922. c.lineTo(w, h * 0.5866);
  3923. c.lineTo(w * 0.8946, h * 0.6537);
  3924. c.lineTo(w * 0.8946, h);
  3925. c.close();
  3926. c.stroke();
  3927. c.begin();
  3928. c.moveTo(w * 0.8946, h);
  3929. c.lineTo(w * 0.8946, h * 0.6537);
  3930. c.lineTo(w * 0.4216, h * 0.2753);
  3931. c.lineTo(w * 0.4216, h * 0.7928);
  3932. c.close();
  3933. c.stroke();
  3934. c.setStrokeWidth(2 * strokeWidth);
  3935. c.setStrokeColor('#292929');
  3936. c.setLineJoin('round');
  3937. c.begin();
  3938. c.moveTo(w, h * 0.929);
  3939. c.lineTo(w, h * 0.5866);
  3940. c.lineTo(w * 0.6829, h * 0.1031);
  3941. c.lineTo(w * 0.4216, h * 0.2753);
  3942. c.lineTo(w * 0.4216, h * 0.7928);
  3943. c.lineTo(w * 0.8946, h);
  3944. c.close();
  3945. c.stroke();
  3946. c.setFillColor(strokeColor);
  3947. c.begin();
  3948. c.moveTo(w * 0.5587, h * 0.7743);
  3949. c.lineTo(w * 0.5587, h * 0.6274);
  3950. c.lineTo(w * 0.5775, h * 0.6342);
  3951. c.lineTo(w * 0.5775, h * 0.57);
  3952. c.arcTo(w * 0.0428, h * 0.0486, 0, 0, 1, w * 0.6058, h * 0.5253);
  3953. c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.6564, h * 0.5447);
  3954. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.6847, h * 0.607);
  3955. c.lineTo(w * 0.6847, h * 0.6877);
  3956. c.lineTo(w * 0.7001, h * 0.6946);
  3957. c.lineTo(w * 0.7001, h * 0.8405);
  3958. c.close();
  3959. c.moveTo(w * 0.6564, h * 0.6741);
  3960. c.lineTo(w * 0.6564, h * 0.6177);
  3961. c.arcTo(w * 0.06, h * 0.0681, 0, 0, 0, w * 0.6392, h * 0.57);
  3962. c.arcTo(w * 0.0343, h * 0.0389, 0, 0, 0, w * 0.6195, h * 0.5574);
  3963. c.arcTo(w * 0.0111, h * 0.0126, 0, 0, 0, w * 0.6058, h * 0.5691);
  3964. c.lineTo(w * 0.6058, h * 0.6498);
  3965. c.close();
  3966. c.fill();
  3967. };
  3968. mxCellRenderer.registerShape(mxShapeAws3dVpcGateway.prototype.cst.VPC_GATEWAY, mxShapeAws3dVpcGateway);
  3969. //**********************************************************************************************************************************************************
  3970. //Web Server
  3971. //**********************************************************************************************************************************************************
  3972. /**
  3973. * Extends mxShape.
  3974. */
  3975. function mxShapeAws3dWebServer(bounds, fill, stroke, strokewidth)
  3976. {
  3977. mxShape.call(this);
  3978. this.bounds = bounds;
  3979. this.fill = fill;
  3980. this.stroke = stroke;
  3981. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3982. };
  3983. /**
  3984. * Extends mxShape.
  3985. */
  3986. mxUtils.extend(mxShapeAws3dWebServer, mxShape);
  3987. mxShapeAws3dWebServer.prototype.cst = {
  3988. WEB_SERVER : 'mxgraph.aws3d.webServer',
  3989. SHADING_COLORS : 'shadingCols'
  3990. };
  3991. /**
  3992. * Function: paintVertexShape
  3993. *
  3994. * Paints the vertex shape.
  3995. */
  3996. mxShapeAws3dWebServer.prototype.paintVertexShape = function(c, x, y, w, h)
  3997. {
  3998. c.translate(x, y);
  3999. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4000. var strokeWidth1 = strokeWidth * w / 123;
  4001. var strokeWidth2 = strokeWidth * h / 106;
  4002. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4003. this.background(c, 0, 0, w, h, strokeWidth);
  4004. c.setShadow(false);
  4005. this.foreground(c, 0, 0, w, h, strokeWidth);
  4006. };
  4007. mxShapeAws3dWebServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  4008. {
  4009. c.setStrokeWidth(strokeWidth);
  4010. c.save();
  4011. c.save();
  4012. c.setStrokeWidth(2 * strokeWidth);
  4013. c.setStrokeColor('#292929');
  4014. c.setLineJoin('round');
  4015. c.begin();
  4016. c.moveTo(0, h * 0.6651);
  4017. c.lineTo(0, h * 0.3349);
  4018. c.lineTo(w * 0.5, 0);
  4019. c.lineTo(w, h * 0.3349);
  4020. c.lineTo(w, h * 0.6651);
  4021. c.lineTo(w * 0.5, h);
  4022. c.close();
  4023. c.fillAndStroke();
  4024. };
  4025. mxShapeAws3dWebServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4026. {
  4027. c.restore();
  4028. c.setShadow(false);
  4029. c.setFillColor('#000000');
  4030. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWebServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4031. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4032. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4033. c.begin();
  4034. c.moveTo(0, h * 0.3349);
  4035. c.lineTo(w * 0.5, h * 0.6651);
  4036. c.lineTo(w * 0.5, h);
  4037. c.lineTo(0, h * 0.6651);
  4038. c.close();
  4039. c.fill();
  4040. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4041. c.begin();
  4042. c.moveTo(w * 0.5, h * 0.6651);
  4043. c.lineTo(w, h * 0.3349);
  4044. c.lineTo(w, h * 0.6651);
  4045. c.lineTo(w * 0.5, h);
  4046. c.close();
  4047. c.fill();
  4048. c.restore();
  4049. c.setShadow(false);
  4050. c.setLineJoin('round');
  4051. c.begin();
  4052. c.moveTo(0, h * 0.3349);
  4053. c.lineTo(w * 0.5, h * 0.6651);
  4054. c.lineTo(w * 0.5, h);
  4055. c.lineTo(0, h * 0.6651);
  4056. c.close();
  4057. c.stroke();
  4058. c.begin();
  4059. c.moveTo(w * 0.5, h * 0.6651);
  4060. c.lineTo(w, h * 0.3349);
  4061. c.lineTo(w, h * 0.6651);
  4062. c.lineTo(w * 0.5, h);
  4063. c.close();
  4064. c.stroke();
  4065. c.setLineJoin('miter');
  4066. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4067. c.setFillColor(strokeColor);
  4068. c.begin();
  4069. c.moveTo(w * 0.374, h * 0.5189);
  4070. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.374, h * 0.4858);
  4071. c.lineTo(w * 0.4797, h * 0.4151);
  4072. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.5203, h * 0.4151);
  4073. c.lineTo(w * 0.626, h * 0.4858);
  4074. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.626, h * 0.516);
  4075. c.lineTo(w * 0.5203, h * 0.5868);
  4076. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.4797, h * 0.5868);
  4077. c.close();
  4078. c.fill();
  4079. c.setStrokeWidth(2 * strokeWidth);
  4080. c.setStrokeColor('#292929');
  4081. c.setLineJoin('round');
  4082. c.begin();
  4083. c.moveTo(0, h * 0.6651);
  4084. c.lineTo(0, h * 0.3349);
  4085. c.lineTo(w * 0.5, 0);
  4086. c.lineTo(w, h * 0.3349);
  4087. c.lineTo(w, h * 0.6651);
  4088. c.lineTo(w * 0.5, h);
  4089. c.close();
  4090. c.stroke();
  4091. };
  4092. mxCellRenderer.registerShape(mxShapeAws3dWebServer.prototype.cst.WEB_SERVER, mxShapeAws3dWebServer);
  4093. //**********************************************************************************************************************************************************
  4094. //DynamoDB
  4095. //**********************************************************************************************************************************************************
  4096. /**
  4097. * Extends mxShape.
  4098. */
  4099. function mxShapeAws3dDynamoDB(bounds, fill, stroke, strokewidth)
  4100. {
  4101. mxShape.call(this);
  4102. this.bounds = bounds;
  4103. this.fill = fill;
  4104. this.stroke = stroke;
  4105. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4106. };
  4107. /**
  4108. * Extends mxShape.
  4109. */
  4110. mxUtils.extend(mxShapeAws3dDynamoDB, mxShape);
  4111. mxShapeAws3dDynamoDB.prototype.cst = {
  4112. DYNAMO_DB : 'mxgraph.aws3d.dynamoDb',
  4113. SHADING_COLORS : 'shadingCols'
  4114. };
  4115. /**
  4116. * Function: paintVertexShape
  4117. *
  4118. * Paints the vertex shape.
  4119. */
  4120. mxShapeAws3dDynamoDB.prototype.paintVertexShape = function(c, x, y, w, h)
  4121. {
  4122. c.translate(x, y);
  4123. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4124. var strokeWidth1 = strokeWidth * w / 181.5;
  4125. var strokeWidth2 = strokeWidth * h / 210;
  4126. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4127. this.background(c, 0, 0, w, h, strokeWidth);
  4128. c.setShadow(false);
  4129. this.foreground(c, 0, 0, w, h, strokeWidth);
  4130. };
  4131. mxShapeAws3dDynamoDB.prototype.background = function(c, x, y, w, h, strokeWidth)
  4132. {
  4133. c.setStrokeWidth(strokeWidth);
  4134. c.save();
  4135. c.save();
  4136. c.setStrokeWidth(2 * strokeWidth);
  4137. c.setStrokeColor('#292929');
  4138. c.setLineJoin('round');
  4139. c.begin();
  4140. c.moveTo(0, h * 0.8333);
  4141. c.lineTo(0, h * 0.1667);
  4142. c.lineTo(w * 0.3333, h * 0.0014);
  4143. c.lineTo(w * 0.4986, h * 0.1667);
  4144. c.lineTo(w * 0.6639, 0);
  4145. c.lineTo(w, h * 0.169);
  4146. c.lineTo(w, h * 0.8333);
  4147. c.lineTo(w * 0.6667, h);
  4148. c.lineTo(w * 0.5014, h * 0.9162);
  4149. c.lineTo(w * 0.3333, h);
  4150. c.close();
  4151. c.fillAndStroke();
  4152. };
  4153. mxShapeAws3dDynamoDB.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4154. {
  4155. c.restore();
  4156. c.setShadow(false);
  4157. c.setFillColor('#000000');
  4158. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4159. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4160. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4161. c.begin();
  4162. c.moveTo(w * 0.168, h * 0.3333);
  4163. c.lineTo(0, h * 0.3333);
  4164. c.lineTo(w * 0.3333, h * 0.5);
  4165. c.lineTo(w * 0.3333, h);
  4166. c.lineTo(0, h * 0.8333);
  4167. c.lineTo(0, h * 0.1714);
  4168. c.close();
  4169. c.moveTo(w * 0.4986, h * 0.1667);
  4170. c.lineTo(w * 0.6667, 0);
  4171. c.lineTo(w, h * 0.169);
  4172. c.lineTo(w * 0.832, h * 0.3348);//
  4173. c.lineTo(w, h * 0.3333);
  4174. c.lineTo(w * 0.6667, h * 0.5);
  4175. c.lineTo(w * 0.5014, h * 0.5);
  4176. c.lineTo(w * 0.832, h * 0.3348);
  4177. c.fill();
  4178. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4179. c.begin();
  4180. c.moveTo(w * 0.3333, h * 0.5);
  4181. c.lineTo(w * 0.4986, h * 0.5);
  4182. c.lineTo(w * 0.4986, h * 0.9162);
  4183. c.lineTo(w * 0.3333, h);
  4184. c.close();
  4185. c.moveTo(w * 0.6667, h);
  4186. c.lineTo(w * 0.6667, h * 0.5);
  4187. c.lineTo(w, h * 0.3333);
  4188. c.lineTo(w * 0.832, h * 0.3348);
  4189. c.lineTo(w, h * 0.169);
  4190. c.lineTo(w, h * 0.831);
  4191. c.close();
  4192. c.fill();
  4193. c.restore();
  4194. c.setShadow(false);
  4195. c.setLineJoin('round');
  4196. c.begin();
  4197. c.moveTo(w * 0.168, h * 0.3333);
  4198. c.lineTo(0, h * 0.3333);
  4199. c.lineTo(w * 0.3333, h * 0.5);
  4200. c.lineTo(w * 0.3333, h);
  4201. c.lineTo(0, h * 0.8333);
  4202. c.lineTo(0, h * 0.1714);
  4203. c.close();
  4204. c.moveTo(w * 0.4986, h * 0.1667);
  4205. c.lineTo(w * 0.6667, 0);
  4206. c.lineTo(w, h * 0.169);
  4207. c.lineTo(w * 0.832, h * 0.3348);
  4208. c.lineTo(w, h * 0.3333);
  4209. c.lineTo(w * 0.6667, h * 0.5);
  4210. c.lineTo(w * 0.5014, h * 0.5);
  4211. c.lineTo(w * 0.832, h * 0.3348);
  4212. c.close();
  4213. c.moveTo(w * 0.3333, h * 0.5);
  4214. c.lineTo(w * 0.4986, h * 0.5);
  4215. c.lineTo(w * 0.4986, h * 0.9162);
  4216. c.lineTo(w * 0.3333, h);
  4217. c.close();
  4218. c.moveTo(w * 0.6667, h);
  4219. c.lineTo(w * 0.6667, h * 0.5);
  4220. c.lineTo(w, h * 0.3333);
  4221. c.lineTo(w, h * 0.831);
  4222. c.close();
  4223. c.moveTo(w * 0.168, h * 0.3333);
  4224. c.lineTo(w * 0.5, h * 0.1667);
  4225. c.moveTo(w * 0.168, h * 0.3333);
  4226. c.lineTo(w * 0.5014, h * 0.5);
  4227. c.stroke();
  4228. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4229. c.setFillColor(strokeColor);
  4230. c.begin();
  4231. c.moveTo(w * 0.4876, h * 0.2262);
  4232. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5647, h * 0.25);
  4233. c.arcTo(w * 0.4407, h * 0.381, 0, 0, 1, w * 0.6419, h * 0.2905);
  4234. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.6799, h * 0.32);
  4235. c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.6634, h * 0.3314);
  4236. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5978, h * 0.3119);
  4237. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.508, h * 0.2667);
  4238. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.4711, h * 0.2343);
  4239. c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.4876, h * 0.2262);
  4240. c.close();
  4241. c.fill();
  4242. c.begin();
  4243. c.moveTo(w * 0.5124, h * 0.4143);
  4244. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.4683, h * 0.4095);
  4245. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3829, h * 0.3757);
  4246. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3196, h * 0.3371);
  4247. c.arcTo(w * 0.0661, h * 0.0357, 0, 0, 1, w * 0.3058, h * 0.3081);
  4248. c.lineTo(w * 0.4612, h * 0.2333);
  4249. c.arcTo(w * 0.0661, h * 0.0476, 0, 0, 0, w * 0.4744, h * 0.2548);
  4250. c.arcTo(w * 0.3306, h * 0.2857, 0, 0, 0, w * 0.53, h * 0.2905);
  4251. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 0, w * 0.6198, h * 0.3295);
  4252. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.665, h * 0.3367);
  4253. c.close();
  4254. c.moveTo(w * 0.5052, h * 0.3714);
  4255. c.arcTo(w * 0.0275, h * 0.019, 0, 0, 1, w * 0.5135, h * 0.3581);
  4256. c.arcTo(w * 0.0275, h * 0.0238, 0, 0, 1, w * 0.5344, h * 0.3571);
  4257. c.lineTo(w * 0.5405, h * 0.3471);
  4258. c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.5278, h * 0.3381);
  4259. c.arcTo(w * 0.022, h * 0.0119, 0, 0, 1, w * 0.5372, h * 0.3271);
  4260. c.lineTo(w * 0.5306, h * 0.3186);
  4261. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.5041, h * 0.3143);
  4262. c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.4975, h * 0.3029);
  4263. c.lineTo(w * 0.4777, h * 0.2995);
  4264. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4628, h * 0.3033);
  4265. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4408, h * 0.2967);
  4266. c.lineTo(w * 0.4187, h * 0.3);
  4267. c.arcTo(w * 0.011, h * 0.0081, 0, 0, 1, w * 0.4132, h * 0.3124);
  4268. c.arcTo(w * 0.0386, h * 0.0333, 0, 0, 1, w * 0.395, h * 0.3129);
  4269. c.lineTo(w * 0.3873, h * 0.3224);
  4270. c.arcTo(w * 0.0165, h * 0.0143, 0, 0, 1, w * 0.3994, h * 0.3333);
  4271. c.arcTo(w * 0.0138, h * 0.0119, 0, 0, 1, w * 0.3901, h * 0.3433);
  4272. c.lineTo(w * 0.3994, h * 0.3514);
  4273. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4215, h * 0.3548);
  4274. c.arcTo(w * 0.0165, h * 0.0119, 0, 0, 1, w * 0.4298, h * 0.3667);
  4275. c.lineTo(w * 0.449, h * 0.3714);
  4276. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4711, h * 0.3657);
  4277. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4887, h * 0.3724);
  4278. c.close();
  4279. c.moveTo(w * 0.4986, h * 0.351);
  4280. c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 1, w * 0.4804, h * 0.3552);
  4281. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.443, h * 0.349);
  4282. c.lineTo(w * 0.4413, h * 0.3529);
  4283. c.lineTo(w * 0.4242, h * 0.3371);
  4284. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4545, h * 0.3462);
  4285. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4793, h * 0.3476);
  4286. c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 0, w * 0.4986, h * 0.3448);
  4287. c.close();
  4288. c.moveTo(w * 0.503, h * 0.3349);
  4289. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4766, h * 0.3233);
  4290. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 0, w * 0.4529, h * 0.32);
  4291. c.arcTo(w * 0.0551, h * 0.0476, 0, 0, 0, w * 0.4325, h * 0.3238);
  4292. c.lineTo(w * 0.427, h * 0.3195);
  4293. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4556, h * 0.3157);
  4294. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4851, h * 0.3232);
  4295. c.lineTo(w * 0.4876, h * 0.3181);
  4296. c.close();
  4297. c.fill();
  4298. c.setStrokeWidth(2 * strokeWidth);
  4299. c.setStrokeColor('#292929');
  4300. c.setLineJoin('round');
  4301. c.begin();
  4302. c.moveTo(0, h * 0.8333);
  4303. c.lineTo(0, h * 0.1667);
  4304. c.lineTo(w * 0.3333, h * 0.0014);
  4305. c.lineTo(w * 0.4986, h * 0.1667);
  4306. c.lineTo(w * 0.6639, 0);
  4307. c.lineTo(w, h * 0.169);
  4308. c.lineTo(w, h * 0.8333);
  4309. c.lineTo(w * 0.6667, h);
  4310. c.lineTo(w * 0.5014, h * 0.9162);
  4311. c.lineTo(w * 0.3333, h);
  4312. c.close();
  4313. c.stroke();
  4314. };
  4315. mxCellRenderer.registerShape(mxShapeAws3dDynamoDB.prototype.cst.DYNAMO_DB, mxShapeAws3dDynamoDB);
  4316. //**********************************************************************************************************************************************************
  4317. //Elastic MapReduce
  4318. //**********************************************************************************************************************************************************
  4319. /**
  4320. * Extends mxShape.
  4321. */
  4322. function mxShapeAws3dElasticMapReduce(bounds, fill, stroke, strokewidth)
  4323. {
  4324. mxShape.call(this);
  4325. this.bounds = bounds;
  4326. this.fill = fill;
  4327. this.stroke = stroke;
  4328. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4329. };
  4330. /**
  4331. * Extends mxShape.
  4332. */
  4333. mxUtils.extend(mxShapeAws3dElasticMapReduce, mxShape);
  4334. mxShapeAws3dElasticMapReduce.prototype.cst = {
  4335. ELASTIC_MAP_REDUCE : 'mxgraph.aws3d.elasticMapReduce',
  4336. SHADING_COLORS : 'shadingCols'
  4337. };
  4338. /**
  4339. * Function: paintVertexShape
  4340. *
  4341. * Paints the vertex shape.
  4342. */
  4343. mxShapeAws3dElasticMapReduce.prototype.paintVertexShape = function(c, x, y, w, h)
  4344. {
  4345. c.translate(x, y);
  4346. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4347. var strokeWidth1 = strokeWidth * w / 123;
  4348. var strokeWidth2 = strokeWidth * h /133;
  4349. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4350. c.setStrokeWidth(strokeWidth);
  4351. this.background(c, 0, 0, w, h, strokeWidth);
  4352. c.setShadow(false);
  4353. this.foreground(c, 0, 0, w, h, strokeWidth);
  4354. };
  4355. mxShapeAws3dElasticMapReduce.prototype.background = function(c, x, y, w, h, strokeWidth)
  4356. {
  4357. c.save();
  4358. c.save();
  4359. c.setStrokeWidth(2 * strokeWidth);
  4360. c.setStrokeColor('#292929');
  4361. c.setLineJoin('round');
  4362. c.begin();
  4363. c.moveTo(0, h * 0.7331);
  4364. c.lineTo(0, h * 0.3346);
  4365. c.lineTo(w * 0.126, h * 0.1316);
  4366. c.lineTo(w * 0.374, 0);
  4367. c.lineTo(w * 0.626, 0);
  4368. c.lineTo(w * 0.874, h * 0.1316);
  4369. c.lineTo(w, h * 0.3346);
  4370. c.lineTo(w, h * 0.7331);
  4371. c.lineTo(w * 0.5, h);
  4372. c.close();
  4373. c.fillAndStroke();
  4374. };
  4375. mxShapeAws3dElasticMapReduce.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4376. {
  4377. c.restore();
  4378. c.setShadow(false);
  4379. c.setFillColor('#000000');
  4380. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4381. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4382. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4383. c.begin();
  4384. c.moveTo(w * 0.126, h * 0.1316);
  4385. c.lineTo(w * 0.126, h * 0.267);
  4386. c.lineTo(w * 0.378, h * 0.4023);
  4387. c.lineTo(w * 0.5, h * 0.6015);
  4388. c.lineTo(w * 0.5, h);
  4389. c.lineTo(0, h * 0.7331);
  4390. c.lineTo(0, h * 0.3346);
  4391. c.close();
  4392. c.moveTo(w * 0.874, h * 0.267);
  4393. c.lineTo(w * 0.874, h * 0.1316);
  4394. c.lineTo(w, h * 0.3308);
  4395. c.fill();
  4396. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4397. c.begin();
  4398. c.moveTo(w * 0.5, h);
  4399. c.lineTo(w * 0.5, h * 0.6015);
  4400. c.lineTo(w * 0.622, h * 0.4023);
  4401. c.lineTo(w * 0.874, h * 0.267);
  4402. c.lineTo(w, h * 0.3308);
  4403. c.lineTo(w, h * 0.7331);
  4404. c.close();
  4405. c.fill();
  4406. c.restore();
  4407. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4408. c.setFillColor(strokeColor);
  4409. c.setShadow(false);
  4410. c.begin();
  4411. c.moveTo(w * 0.3336, h * 0.1789);
  4412. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.359, h * 0.1789);
  4413. c.lineTo(w * 0.4001, h * 0.2015);
  4414. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4008, h * 0.2135);
  4415. c.lineTo(w * 0.3574, h * 0.2368);
  4416. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.3352, h * 0.2368);
  4417. c.lineTo(w * 0.2934, h * 0.2143);
  4418. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.2934, h * 0.2015);
  4419. c.close();
  4420. c.moveTo(w * 0.3705, h * 0.1729);
  4421. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3705, h * 0.1602);
  4422. c.lineTo(w * 0.4139, h * 0.1368);
  4423. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4336, h * 0.1368);
  4424. c.lineTo(w * 0.4811, h * 0.1617);
  4425. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4811, h * 0.1708);
  4426. c.lineTo(w * 0.4328, h * 0.1955);
  4427. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4156, h * 0.1955);
  4428. c.close();
  4429. c.moveTo(w * 0.4467, h * 0.1308);
  4430. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4467, h * 0.1203);
  4431. c.lineTo(w * 0.491, h * 0.0962);
  4432. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5123, h * 0.0962);
  4433. c.lineTo(w * 0.559, h * 0.1203);
  4434. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.559, h * 0.1293);
  4435. c.lineTo(w * 0.5123, h * 0.1549);
  4436. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4918, h * 0.1549);
  4437. c.close();
  4438. c.moveTo(w * 0.568, h * 0.1383);
  4439. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5918, h * 0.1383);
  4440. c.lineTo(w * 0.6361, h * 0.1624);
  4441. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6366, h * 0.1714);
  4442. c.lineTo(w * 0.5885, h * 0.1955);
  4443. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.568, h * 0.1955);
  4444. c.lineTo(w * 0.523, h * 0.1714);
  4445. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.523, h * 0.1616);
  4446. c.close();
  4447. c.moveTo(w * 0.6451, h * 0.1789);
  4448. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6697, h * 0.1789);
  4449. c.lineTo(w * 0.7123, h * 0.2023);
  4450. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.7123, h * 0.2128);
  4451. c.lineTo(w * 0.6664, h * 0.2376);
  4452. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6492, h * 0.2376);
  4453. c.lineTo(w * 0.6016, h * 0.2135);
  4454. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6016, h * 0.2023);
  4455. c.close();
  4456. c.moveTo(w * 0.6369, h * 0.2451);
  4457. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6369, h * 0.2526);
  4458. c.lineTo(w * 0.5172, h * 0.3173);
  4459. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4893, h * 0.3173);
  4460. c.lineTo(w * 0.3697, h * 0.2541);
  4461. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3697, h * 0.2436);
  4462. c.lineTo(w * 0.4918, h * 0.1782);
  4463. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5131, h * 0.1782);
  4464. c.close();
  4465. c.fill();
  4466. c.moveTo(w * 0., h * 0.);
  4467. c.lineTo(w * 0., h * 0.);
  4468. c.arcTo(w * 0., h * 0., 0, 0, 1, w * 0., h * 0.);
  4469. c.setLineJoin('round');
  4470. c.begin();
  4471. c.moveTo(w * 0.126, h * 0.1316);
  4472. c.lineTo(w * 0.126, h * 0.267);
  4473. c.lineTo(w * 0.378, h * 0.4023);
  4474. c.lineTo(w * 0.5, h * 0.6015);
  4475. c.lineTo(w * 0.622, h * 0.4023);
  4476. c.lineTo(w * 0.874, h * 0.267);
  4477. c.lineTo(w * 0.874, h * 0.1316);
  4478. c.moveTo(0, h * 0.3346);
  4479. c.lineTo(w * 0.126, h * 0.267);
  4480. c.moveTo(w * 0.5, h * 0.6015);
  4481. c.lineTo(w * 0.5, h);
  4482. c.moveTo(w, h * 0.3346);
  4483. c.lineTo(w * 0.87, h * 0.267);
  4484. c.moveTo(w * 0.378, h * 0.4023);
  4485. c.lineTo(w * 0.622, h * 0.4023);
  4486. c.stroke();
  4487. c.setStrokeWidth(2 * strokeWidth);
  4488. c.setStrokeColor('#292929');
  4489. c.begin();
  4490. c.moveTo(0, h * 0.7331);
  4491. c.lineTo(0, h * 0.3346);
  4492. c.lineTo(w * 0.126, h * 0.1316);
  4493. c.lineTo(w * 0.374, 0);
  4494. c.lineTo(w * 0.626, 0);
  4495. c.lineTo(w * 0.874, h * 0.1316);
  4496. c.lineTo(w, h * 0.3346);
  4497. c.lineTo(w, h * 0.7331);
  4498. c.lineTo(w * 0.5, h);
  4499. c.close();
  4500. c.stroke();
  4501. };
  4502. mxCellRenderer.registerShape(mxShapeAws3dElasticMapReduce.prototype.cst.ELASTIC_MAP_REDUCE, mxShapeAws3dElasticMapReduce);
  4503. //**********************************************************************************************************************************************************
  4504. //RDS Slave
  4505. //**********************************************************************************************************************************************************
  4506. /**
  4507. * Extends mxShape.
  4508. */
  4509. function mxShapeAws3dRdsSlave(bounds, fill, stroke, strokewidth)
  4510. {
  4511. mxShape.call(this);
  4512. this.bounds = bounds;
  4513. this.fill = fill;
  4514. this.stroke = stroke;
  4515. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4516. };
  4517. /**
  4518. * Extends mxShape.
  4519. */
  4520. mxUtils.extend(mxShapeAws3dRdsSlave, mxShape);
  4521. mxShapeAws3dRdsSlave.prototype.cst = {
  4522. RDS_SLAVE : 'mxgraph.aws3d.rdsSlave'
  4523. };
  4524. /**
  4525. * Function: paintVertexShape
  4526. *
  4527. * Paints the vertex shape.
  4528. */
  4529. mxShapeAws3dRdsSlave.prototype.paintVertexShape = function(c, x, y, w, h)
  4530. {
  4531. c.translate(x, y);
  4532. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4533. var strokeWidth1 = strokeWidth * w / 123;
  4534. var strokeWidth2 = strokeWidth * h /133;
  4535. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4536. c.setStrokeWidth(strokeWidth);
  4537. this.background(c, 0, 0, w, h, strokeWidth);
  4538. c.setShadow(false);
  4539. this.foreground(c, 0, 0, w, h, strokeWidth);
  4540. };
  4541. mxShapeAws3dRdsSlave.prototype.background = function(c, x, y, w, h, strokeWidth)
  4542. {
  4543. c.save();
  4544. c.save();
  4545. c.setStrokeWidth(2 * strokeWidth);
  4546. c.setStrokeColor('#292929');
  4547. c.setLineJoin('round');
  4548. c.begin();
  4549. c.moveTo(0, h * 0.7331);
  4550. c.lineTo(0, h * 0.3346);
  4551. c.lineTo(w * 0.126, h * 0.1316);
  4552. c.lineTo(w * 0.374, 0);
  4553. c.lineTo(w * 0.626, 0);
  4554. c.lineTo(w * 0.874, h * 0.1316);
  4555. c.lineTo(w, h * 0.3346);
  4556. c.lineTo(w, h * 0.7331);
  4557. c.lineTo(w * 0.5, h);
  4558. c.close();
  4559. c.fillAndStroke();
  4560. };
  4561. mxShapeAws3dRdsSlave.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4562. {
  4563. c.restore();
  4564. c.setShadow(false);
  4565. c.setFillColor('#000000');
  4566. c.setAlpha('0.1');
  4567. c.begin();
  4568. c.moveTo(w * 0.126, h * 0.1316);
  4569. c.lineTo(w * 0.126, h * 0.267);
  4570. c.lineTo(w * 0.378, h * 0.4023);
  4571. c.lineTo(w * 0.5, h * 0.6015);
  4572. c.lineTo(w * 0.5, h);
  4573. c.lineTo(0, h * 0.7331);
  4574. c.lineTo(0, h * 0.3346);
  4575. c.close();
  4576. c.moveTo(w * 0.874, h * 0.267);
  4577. c.lineTo(w * 0.874, h * 0.1316);
  4578. c.lineTo(w, h * 0.3308);
  4579. c.fill();
  4580. c.setAlpha('0.3');
  4581. c.begin();
  4582. c.moveTo(w * 0.5, h);
  4583. c.lineTo(w * 0.5, h * 0.6015);
  4584. c.lineTo(w * 0.622, h * 0.4023);
  4585. c.lineTo(w * 0.874, h * 0.267);
  4586. c.lineTo(w, h * 0.3308);
  4587. c.lineTo(w, h * 0.7331);
  4588. c.close();
  4589. c.fill();
  4590. c.restore();
  4591. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4592. c.setFillColor(strokeColor);
  4593. c.setShadow(false);
  4594. c.begin();
  4595. c.moveTo(w * 0.2457, h * 0.2137);
  4596. c.lineTo(w * 0.5393, h * 0.0593);
  4597. c.lineTo(w * 0.6875, h * 0.1377);
  4598. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.7137, h * 0.1625);
  4599. c.arcTo(w * 0.0348, h * 0.032, 0, 0, 1, w * 0.7076, h * 0.1968);
  4600. c.arcTo(w * 0.1743, h * 0.1599, 0, 0, 1, w * 0.6597, h * 0.2249);
  4601. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5943, h * 0.232);
  4602. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5542, h * 0.2225);
  4603. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.5673, h * 0.2353);
  4604. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 1, w * 0.5611, h * 0.2729);
  4605. c.lineTo(w * 0.4889, h * 0.316);
  4606. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.4766, h * 0.3352);
  4607. c.lineTo(w * 0.4052, h * 0.2992);
  4608. c.arcTo(w * 0.0173, h * 0.0159, 0, 0, 1, w * 0.4121, h * 0.2841);
  4609. c.lineTo(w * 0.4914, h * 0.2368);
  4610. c.arcTo(w * 0.0218, h * 0.02, 0, 0, 0, w * 0.4897, h * 0.2129);
  4611. c.lineTo(w * 0.4409, h * 0.1857);
  4612. c.lineTo(w * 0.3145, h * 0.2529);
  4613. c.close();
  4614. c.moveTo(w * 0.4801, h * 0.1633);
  4615. c.lineTo(w * 0.5263, h * 0.1865);
  4616. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 0, w * 0.583, h * 0.1905);
  4617. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 0, w * 0.6196, h * 0.1721);
  4618. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.6117, h * 0.1441);
  4619. c.lineTo(w * 0.5655, h * 0.1193);
  4620. c.fill();
  4621. c.setLineJoin('round');
  4622. c.begin();
  4623. c.moveTo(w * 0.126, h * 0.1316);
  4624. c.lineTo(w * 0.126, h * 0.267);
  4625. c.lineTo(w * 0.378, h * 0.4023);
  4626. c.lineTo(w * 0.5, h * 0.6015);
  4627. c.lineTo(w * 0.622, h * 0.4023);
  4628. c.lineTo(w * 0.874, h * 0.267);
  4629. c.lineTo(w * 0.874, h * 0.1316);
  4630. c.moveTo(0, h * 0.3346);
  4631. c.lineTo(w * 0.126, h * 0.267);
  4632. c.moveTo(w * 0.5, h * 0.6015);
  4633. c.lineTo(w * 0.5, h);
  4634. c.moveTo(w, h * 0.3346);
  4635. c.lineTo(w * 0.87, h * 0.267);
  4636. c.moveTo(w * 0.378, h * 0.4023);
  4637. c.lineTo(w * 0.622, h * 0.4023);
  4638. c.stroke();
  4639. c.setStrokeWidth(2 * strokeWidth);
  4640. c.setStrokeColor('#292929');
  4641. c.begin();
  4642. c.moveTo(0, h * 0.7331);
  4643. c.lineTo(0, h * 0.3346);
  4644. c.lineTo(w * 0.126, h * 0.1316);
  4645. c.lineTo(w * 0.374, 0);
  4646. c.lineTo(w * 0.626, 0);
  4647. c.lineTo(w * 0.874, h * 0.1316);
  4648. c.lineTo(w, h * 0.3346);
  4649. c.lineTo(w, h * 0.7331);
  4650. c.lineTo(w * 0.5, h);
  4651. c.close();
  4652. c.stroke();
  4653. };
  4654. mxCellRenderer.registerShape(mxShapeAws3dRdsSlave.prototype.cst.RDS_SLAVE, mxShapeAws3dRdsSlave);
  4655. //**********************************************************************************************************************************************************
  4656. //AMI
  4657. //**********************************************************************************************************************************************************
  4658. /**
  4659. * Extends mxShape.
  4660. */
  4661. function mxShapeAws3dAMI2(bounds, fill, stroke, strokewidth)
  4662. {
  4663. mxShape.call(this);
  4664. this.bounds = bounds;
  4665. this.fill = fill;
  4666. this.stroke = stroke;
  4667. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4668. };
  4669. /**
  4670. * Extends mxShape.
  4671. */
  4672. mxUtils.extend(mxShapeAws3dAMI2, mxShape);
  4673. mxShapeAws3dAMI2.prototype.cst = {
  4674. AMI_2 : 'mxgraph.aws3d.ami2',
  4675. SHADING_COLORS : 'shadingCols'
  4676. };
  4677. /**
  4678. * Function: paintVertexShape
  4679. *
  4680. * Paints the vertex shape.
  4681. */
  4682. mxShapeAws3dAMI2.prototype.paintVertexShape = function(c, x, y, w, h)
  4683. {
  4684. c.translate(x, y);
  4685. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4686. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  4687. var strokeWidth1 = strokeWidth * w / 92;
  4688. var strokeWidth2 = strokeWidth * h / 60;
  4689. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4690. c.setStrokeWidth(strokeWidth);
  4691. c.setShadow(false);
  4692. c.save();
  4693. c.save();
  4694. c.setStrokeWidth(2 * strokeWidth);
  4695. c.setStrokeColor('#292929');
  4696. c.setLineJoin('round');
  4697. if (isShadow == 1)
  4698. {
  4699. c.setShadow(true);
  4700. }
  4701. c.begin();
  4702. c.moveTo(0, h * 0.572);
  4703. c.lineTo(w * 0.0865, h * 0.284);
  4704. c.lineTo(w * 0.4203, 0);
  4705. c.lineTo(w * 0.5865, 0);
  4706. c.lineTo(w * 0.919, h * 0.286);
  4707. c.lineTo(w, h * 0.566);
  4708. c.lineTo(w * 0.5027, h);
  4709. c.close();
  4710. c.fillAndStroke();
  4711. c.restore();
  4712. c.setFillColor('#000000');
  4713. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4714. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4715. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4716. c.begin();
  4717. c.moveTo(0, h * 0.566);
  4718. c.lineTo(w * 0.0892, h * 0.282);
  4719. c.lineTo(w * 0.0878, h * 0.426);
  4720. c.lineTo(w * 0.4216, h * 0.712);
  4721. c.lineTo(w * 0.5865, h * 0.712);
  4722. c.lineTo(w * 0.5027, h);
  4723. c.close();
  4724. c.fill();
  4725. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4726. c.begin();
  4727. c.moveTo(w * 0.5027, h);
  4728. c.lineTo(w * 0.5865, h * 0.712);
  4729. c.lineTo(w * 0.9176, h * 0.43);
  4730. c.lineTo(w, h * 0.566);
  4731. c.close();
  4732. c.fill();
  4733. c.restore();
  4734. c.setLineJoin('round');
  4735. c.begin();
  4736. c.moveTo(0, h * 0.566);
  4737. c.lineTo(w * 0.0892, h * 0.282);
  4738. c.lineTo(w * 0.0878, h * 0.426);
  4739. c.lineTo(w * 0.4216, h * 0.712);
  4740. c.lineTo(w * 0.5865, h * 0.712);
  4741. c.lineTo(w * 0.5027, h);
  4742. c.close();
  4743. c.moveTo(w * 0.5027, h);
  4744. c.lineTo(w * 0.5865, h * 0.712);
  4745. c.lineTo(w * 0.9176, h * 0.43);
  4746. c.lineTo(w, h * 0.566);
  4747. c.close();
  4748. c.moveTo(0, h * 0.572);
  4749. c.lineTo(w * 0.0892, h * 0.422);
  4750. c.moveTo(w * 0.5027, h);
  4751. c.lineTo(w * 0.4189, h * 0.708);
  4752. c.moveTo(w * 0.9176, h * 0.43);
  4753. c.lineTo(w * 0.9176, h * 0.29);
  4754. c.stroke();
  4755. c.setStrokeWidth(2 * strokeWidth);
  4756. c.setLineJoin('round');
  4757. c.begin();
  4758. c.moveTo(w * 0.2095, h * 0.376);
  4759. c.lineTo(w * 0.527, h * 0.104);
  4760. c.lineTo(w * 0.6338, h * 0.194);
  4761. c.lineTo(w * 0.3149, h * 0.468);
  4762. c.close();
  4763. c.moveTo(w * 0.3716, h * 0.518);
  4764. c.lineTo(w * 0.6892, h * 0.246);
  4765. c.lineTo(w * 0.796, h * 0.336);
  4766. c.lineTo(w * 0.477, h * 0.61);
  4767. c.close();
  4768. c.moveTo(w * 0.3108, h * 0.282);
  4769. c.lineTo(w * 0.4257, h * 0.38);
  4770. c.moveTo(w * 0.4189, h * 0.194);
  4771. c.lineTo(w * 0.5297, h * 0.288);
  4772. c.moveTo(w * 0.5838, h * 0.338);
  4773. c.lineTo(w * 0.6892, h * 0.426);
  4774. c.moveTo(w * 0.4757, h * 0.426);
  4775. c.lineTo(w * 0.5838, h * 0.518);
  4776. c.stroke();
  4777. c.setStrokeColor('#292929');
  4778. c.begin();
  4779. c.moveTo(0, h * 0.572);
  4780. c.lineTo(w * 0.0865, h * 0.284);
  4781. c.lineTo(w * 0.4203, 0);
  4782. c.lineTo(w * 0.5865, 0);
  4783. c.lineTo(w * 0.919, h * 0.286);
  4784. c.lineTo(w, h * 0.566);
  4785. c.lineTo(w * 0.5027, h);
  4786. c.close();
  4787. c.stroke();
  4788. };
  4789. mxCellRenderer.registerShape(mxShapeAws3dAMI2.prototype.cst.AMI_2, mxShapeAws3dAMI2);
  4790. //**********************************************************************************************************************************************************
  4791. //EBS
  4792. //**********************************************************************************************************************************************************
  4793. /**
  4794. * Extends mxShape.
  4795. */
  4796. function mxShapeAws3dEbs(bounds, fill, stroke, strokewidth)
  4797. {
  4798. mxShape.call(this);
  4799. this.bounds = bounds;
  4800. this.fill = fill;
  4801. this.stroke = stroke;
  4802. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4803. };
  4804. /**
  4805. * Extends mxShape.
  4806. */
  4807. mxUtils.extend(mxShapeAws3dEbs, mxShape);
  4808. mxShapeAws3dEbs.prototype.cst = {
  4809. EBS : 'mxgraph.aws3d.ebs',
  4810. SHADING_COLORS : 'shadingCols'
  4811. };
  4812. /**
  4813. * Function: paintVertexShape
  4814. *
  4815. * Paints the vertex shape.
  4816. */
  4817. mxShapeAws3dEbs.prototype.paintVertexShape = function(c, x, y, w, h)
  4818. {
  4819. c.translate(x, y);
  4820. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4821. var strokeWidth1 = strokeWidth * w / 92;
  4822. var strokeWidth2 = strokeWidth * h / 60;
  4823. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  4824. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4825. c.setStrokeWidth(strokeWidth);
  4826. c.setShadow(false);
  4827. c.save();
  4828. c.save();
  4829. c.setStrokeWidth(2 * strokeWidth);
  4830. c.setStrokeColor('#292929');
  4831. c.setLineJoin('round');
  4832. if(isShadow == 1)
  4833. {
  4834. c.setShadow(true);
  4835. }
  4836. c.begin();
  4837. c.moveTo(0, h * 0.5276);
  4838. c.lineTo(0, h * 0.4188);
  4839. c.lineTo(w * 0.071, h * 0.2898);
  4840. c.lineTo(w * 0.4033, 0);
  4841. c.lineTo(w * 0.9301, h * 0.464);
  4842. c.lineTo(w, h * 0.5863);
  4843. c.lineTo(w, h * 0.7035);
  4844. c.lineTo(w * 0.6667, h);
  4845. c.lineTo(w * 0.5355, h);
  4846. c.close();
  4847. c.fillAndStroke();
  4848. c.restore();
  4849. c.setFillColor('#000000');
  4850. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4851. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4852. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4853. c.begin();
  4854. c.moveTo(w * 0.071, h * 0.2948);
  4855. c.lineTo(w * 0.6011, h * 0.7621);
  4856. c.lineTo(w * 0.6667, h);
  4857. c.lineTo(w * 0.5355, h);
  4858. c.lineTo(0, h * 0.5276);
  4859. c.lineTo(0, h * 0.4137);
  4860. c.close();
  4861. c.fill();
  4862. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4863. c.begin();
  4864. c.moveTo(w * 0.6011, h * 0.7655);
  4865. c.lineTo(w * 0.9344, h * 0.4724);
  4866. c.lineTo(w, h * 0.7035);
  4867. c.lineTo(w * 0.6667, h);
  4868. c.close();
  4869. c.fill();
  4870. c.restore();
  4871. c.setLineJoin('round');
  4872. c.begin();
  4873. c.moveTo(w * 0.071, h * 0.2948);
  4874. c.lineTo(w * 0.6011, h * 0.7621);
  4875. c.lineTo(w * 0.6667, h);
  4876. c.lineTo(w * 0.5355, h);
  4877. c.lineTo(0, h * 0.5276);
  4878. c.lineTo(0, h * 0.4137);
  4879. c.close();
  4880. c.moveTo(w * 0.6011, h * 0.7655);
  4881. c.lineTo(w * 0.9344, h * 0.4724);
  4882. c.lineTo(w, h * 0.7035);
  4883. c.lineTo(w * 0.6667, h);
  4884. c.close();
  4885. c.moveTo(w * 0.0033, h * 0.5276);
  4886. c.lineTo(w * 0.071, h * 0.2898);
  4887. c.moveTo(w * 0.5325, h * 0.9976);
  4888. c.lineTo(w * 0.603, h * 0.7593);
  4889. c.stroke();
  4890. c.setStrokeWidth(2 * strokeWidth);
  4891. c.setStrokeColor('#292929');
  4892. c.setLineJoin('round');
  4893. c.begin();
  4894. c.moveTo(0, h * 0.5276);
  4895. c.lineTo(0, h * 0.4188);
  4896. c.lineTo(w * 0.071, h * 0.2898);
  4897. c.lineTo(w * 0.4033, 0);
  4898. c.lineTo(w * 0.9301, h * 0.464);
  4899. c.lineTo(w, h * 0.5863);
  4900. c.lineTo(w, h * 0.7035);
  4901. c.lineTo(w * 0.6667, h);
  4902. c.lineTo(w * 0.5355, h);
  4903. c.close();
  4904. c.stroke();
  4905. };
  4906. mxCellRenderer.registerShape(mxShapeAws3dEbs.prototype.cst.EBS, mxShapeAws3dEbs);
  4907. //**********************************************************************************************************************************************************
  4908. //Oracle Server
  4909. //**********************************************************************************************************************************************************
  4910. /**
  4911. * Extends mxShape.
  4912. */
  4913. function mxShapeAws3dOracleServer(bounds, fill, stroke, strokewidth)
  4914. {
  4915. mxShape.call(this);
  4916. this.bounds = bounds;
  4917. this.fill = fill;
  4918. this.stroke = stroke;
  4919. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4920. };
  4921. /**
  4922. * Extends mxShape.
  4923. */
  4924. mxUtils.extend(mxShapeAws3dOracleServer, mxShape);
  4925. mxShapeAws3dOracleServer.prototype.cst = {
  4926. ORACLE_SERVER : 'mxgraph.aws3d.oracleServer'
  4927. };
  4928. /**
  4929. * Function: paintVertexShape
  4930. *
  4931. * Paints the vertex shape.
  4932. */
  4933. mxShapeAws3dOracleServer.prototype.paintVertexShape = function(c, x, y, w, h)
  4934. {
  4935. c.translate(x, y);
  4936. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4937. var strokeWidth1 = strokeWidth * w / 123;
  4938. var strokeWidth2 = strokeWidth * h /133;
  4939. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4940. c.setStrokeWidth(strokeWidth);
  4941. this.background(c, 0, 0, w, h, strokeWidth);
  4942. c.setShadow(false);
  4943. this.foreground(c, 0, 0, w, h, strokeWidth);
  4944. };
  4945. mxShapeAws3dOracleServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  4946. {
  4947. c.save();
  4948. c.save();
  4949. c.save();
  4950. c.setStrokeWidth(2 * strokeWidth);
  4951. c.setStrokeColor('#292929');
  4952. c.setLineJoin('round');
  4953. c.begin();
  4954. c.moveTo(0, h * 0.7464);
  4955. c.lineTo(0, h * 0.25);
  4956. c.lineTo(w * 0.5, 0);
  4957. c.lineTo(w, h * 0.25);
  4958. c.lineTo(w, h * 0.7464);
  4959. c.lineTo(w * 0.5, h);
  4960. c.close();
  4961. c.fillAndStroke();
  4962. };
  4963. mxShapeAws3dOracleServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4964. {
  4965. c.restore();
  4966. c.setShadow(false);
  4967. c.setFillColor('#000000');
  4968. c.setAlpha('0.1');
  4969. c.begin();
  4970. c.moveTo(0, h * 0.7464);
  4971. c.lineTo(0, h * 0.25);
  4972. c.lineTo(w * 0.5, h * 0.5);
  4973. c.lineTo(w * 0.5, h);
  4974. c.close();
  4975. c.fill();
  4976. c.setAlpha('0.3');
  4977. c.begin();
  4978. c.moveTo(w * 0.5, h * 0.5);
  4979. c.lineTo(w, h * 0.25);
  4980. c.lineTo(w, h * 0.7464);
  4981. c.lineTo(w * 0.5, h);
  4982. c.close();
  4983. c.fill();
  4984. c.restore();
  4985. c.setShadow(false);
  4986. c.setLineJoin('round');
  4987. c.setFillColor('#ff0000');
  4988. c.begin();
  4989. c.moveTo(0, h * 0.5866);
  4990. c.lineTo(w * 0.5, h * 0.8359);
  4991. c.lineTo(w, h * 0.5866);
  4992. c.lineTo(w, h * 0.6986);
  4993. c.lineTo(w * 0.5, h * 0.9486);
  4994. c.lineTo(0, h * 0.6986);
  4995. c.fill();
  4996. c.setStrokeWidth(0.5 * strokeWidth);
  4997. c.setStrokeColor('#ffffff');
  4998. c.setFillColor('#ffffff');
  4999. c.begin();
  5000. c.moveTo(0, h * 0.5866);
  5001. c.lineTo(w * 0.5, h * 0.8359);
  5002. c.lineTo(w, h * 0.5866);
  5003. c.moveTo(w, h * 0.6986);
  5004. c.lineTo(w * 0.5, h * 0.9486);
  5005. c.lineTo(0, h * 0.6986);
  5006. c.stroke();
  5007. c.begin();
  5008. c.moveTo(w * 0.0813, h * 0.7113);
  5009. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831);
  5010. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613);
  5011. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549);
  5012. c.lineTo(w * 0.122, h * 0.6754);
  5013. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937);
  5014. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232);
  5015. c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296);
  5016. c.close();
  5017. c.moveTo(w * 0.1163, h * 0.7183);
  5018. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148);
  5019. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021);
  5020. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831);
  5021. c.lineTo(w * 0.087, h * 0.6676);
  5022. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697);
  5023. c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937);
  5024. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035);
  5025. c.close();
  5026. c.moveTo(w * 0.1439, h * 0.743);
  5027. c.lineTo(w * 0.1439, h * 0.6866);
  5028. c.lineTo(w * 0.1846, h * 0.707);
  5029. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183);
  5030. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738);
  5031. c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743);
  5032. c.lineTo(w * 0.1992, h * 0.769);
  5033. c.lineTo(w * 0.187, h * 0.7641);
  5034. c.lineTo(w * 0.1577, h * 0.7218);
  5035. c.lineTo(w * 0.1854, h * 0.7345);
  5036. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317);
  5037. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225);
  5038. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155);
  5039. c.lineTo(w * 0.1528, h * 0.7007);
  5040. c.lineTo(w * 0.1528, h * 0.7472);
  5041. c.close();
  5042. c.moveTo(w * 0.2008, h * 0.7711);
  5043. c.lineTo(w * 0.2293, h * 0.7338);
  5044. c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324);
  5045. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415);
  5046. c.lineTo(w * 0.2699, h * 0.8035);
  5047. c.lineTo(w * 0.2602, h * 0.8007);
  5048. c.lineTo(w * 0.252, h * 0.7859);
  5049. c.lineTo(w * 0.2293, h * 0.7754);
  5050. c.lineTo(w * 0.2244, h * 0.7634);
  5051. c.lineTo(w * 0.248, h * 0.7739);
  5052. c.lineTo(w * 0.235, h * 0.7444);
  5053. c.lineTo(w * 0.2122, h * 0.7768);
  5054. c.close();
  5055. c.moveTo(w * 0.3244, h * 0.8225);
  5056. c.lineTo(w * 0.3171, h * 0.8289);
  5057. c.lineTo(w * 0.2854, h * 0.8127);
  5058. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986);
  5059. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746);
  5060. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762);
  5061. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757);
  5062. c.lineTo(w * 0.3228, h * 0.7761);
  5063. c.lineTo(w * 0.3179, h * 0.7831);
  5064. c.lineTo(w * 0.2878, h * 0.7683);
  5065. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697);
  5066. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831);
  5067. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042);
  5068. c.close();
  5069. c.moveTo(w * 0.3276, h * 0.7789);
  5070. c.lineTo(w * 0.3366, h * 0.7831);
  5071. c.lineTo(w * 0.3366, h * 0.8289);
  5072. c.lineTo(w * 0.3805, h * 0.8507);
  5073. c.lineTo(w * 0.3748, h * 0.857);
  5074. c.lineTo(w * 0.3317, h * 0.8359);
  5075. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275);
  5076. c.close();
  5077. c.moveTo(w * 0.435, h * 0.8775);
  5078. c.lineTo(w * 0.4325, h * 0.8866);
  5079. c.lineTo(w * 0.3959, h * 0.8683);
  5080. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563);
  5081. c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183);
  5082. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134);
  5083. c.lineTo(w * 0.435, h * 0.8324);
  5084. c.lineTo(w * 0.4285, h * 0.838);
  5085. c.lineTo(w * 0.4008, h * 0.8246);
  5086. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831);
  5087. c.lineTo(w * 0.4333, h * 0.8542);
  5088. c.lineTo(w * 0.426, h * 0.8606);
  5089. c.lineTo(w * 0.3878, h * 0.8415);
  5090. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585);
  5091. c.close();
  5092. c.moveTo(w * 0.6171, h * 0.8063);
  5093. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092);
  5094. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303);
  5095. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592);
  5096. c.lineTo(w * 0.5894, h * 0.8761);
  5097. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732);
  5098. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458);
  5099. c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246);
  5100. c.close();
  5101. c.moveTo(w * 0.5886, h * 0.8296);
  5102. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472);
  5103. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862);
  5104. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676);
  5105. c.lineTo(w * 0.6163, h * 0.8528);
  5106. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359);
  5107. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225);
  5108. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155);
  5109. c.close();
  5110. c.moveTo(w * 0.64, h * 0.85);
  5111. c.lineTo(w * 0.64, h * 0.7930);
  5112. c.lineTo(w * 0.6854, h * 0.7718);
  5113. c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782);
  5114. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8);
  5115. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127);
  5116. c.lineTo(w * 0.6992, h * 0.8218);
  5117. c.lineTo(w * 0.6854, h * 0.8282);
  5118. c.lineTo(w * 0.6569, h * 0.8141);
  5119. c.lineTo(w * 0.6805, h * 0.8021);
  5120. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923);
  5121. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845);
  5122. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831);
  5123. c.lineTo(w * 0.6528, h * 0.7979);
  5124. c.lineTo(w * 0.6528, h * 0.8437);
  5125. c.close();
  5126. c.moveTo(w * 0.7, h * 0.8204);
  5127. c.lineTo(w * 0.7301, h * 0.7507);
  5128. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444);
  5129. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486);
  5130. c.lineTo(w * 0.7699, h * 0.7852);
  5131. c.lineTo(w * 0.7602, h * 0.7908);
  5132. c.lineTo(w * 0.7537, h * 0.7838);
  5133. c.lineTo(w * 0.7276, h * 0.7958);
  5134. c.lineTo(w * 0.7228, h * 0.788);
  5135. c.lineTo(w * 0.748, h * 0.7768);
  5136. c.lineTo(w * 0.7358, h * 0.7585);
  5137. c.lineTo(w * 0.7114, h * 0.8155);
  5138. c.close();
  5139. c.moveTo(w * 0.8244, h * 0.7486);
  5140. c.lineTo(w * 0.8171, h * 0.762);
  5141. c.lineTo(w * 0.7894, h * 0.7761);
  5142. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746);
  5143. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507);
  5144. c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162);
  5145. c.lineTo(w * 0.822, h * 0.7035);
  5146. c.lineTo(w * 0.8171, h * 0.7155);
  5147. c.lineTo(w * 0.7902, h * 0.7296);
  5148. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743);
  5149. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606);
  5150. c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767);
  5151. c.close();
  5152. c.moveTo(w * 0.8366, h * 0.6949);
  5153. c.lineTo(w * 0.8366, h * 0.7423);
  5154. c.lineTo(w * 0.878, h * 0.7231);
  5155. c.lineTo(w * 0.874, h * 0.7338);
  5156. c.lineTo(w * 0.8333, h * 0.7535);
  5157. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75);
  5158. c.lineTo(w * 0.8268, h * 0.7007);
  5159. c.close();
  5160. c.moveTo(w * 0.9342, h * 0.6472);
  5161. c.lineTo(w * 0.9293, h * 0.6599);
  5162. c.lineTo(w * 0.9033, h * 0.6725);
  5163. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817);
  5164. c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937);
  5165. c.lineTo(w * 0.9309, h * 0.6725);
  5166. c.lineTo(w * 0.9268, h * 0.6845);
  5167. c.lineTo(w * 0.887, h * 0.7035);
  5168. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106);
  5169. c.lineTo(w * 0.935, h * 0.693);
  5170. c.lineTo(w * 0.9285, h * 0.7063);
  5171. c.lineTo(w * 0.9008, h * 0.7197);
  5172. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204);
  5173. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028);
  5174. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669);
  5175. c.fill();
  5176. c.restore();
  5177. c.setShadow(false);
  5178. c.setLineJoin('round');
  5179. c.begin();
  5180. c.moveTo(0, h * 0.7464);
  5181. c.lineTo(0, h * 0.25);
  5182. c.lineTo(w * 0.5, h * 0.5);
  5183. c.lineTo(w * 0.5, h);
  5184. c.close();
  5185. c.moveTo(w * 0.5, h * 0.5);
  5186. c.lineTo(w, h * 0.25);
  5187. c.lineTo(w, h * 0.7464);
  5188. c.lineTo(w * 0.5, h);
  5189. c.close();
  5190. c.stroke();
  5191. c.setLineJoin('miter');
  5192. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5193. c.setFillColor(strokeColor);
  5194. c.begin();
  5195. c.moveTo(w * 0.374, h * 0.3873);
  5196. c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.374, h * 0.3626);
  5197. c.lineTo(w * 0.4797, h * 0.3098);
  5198. c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.5203, h * 0.3098);
  5199. c.lineTo(w * 0.626, h * 0.3626);
  5200. c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.626, h * 0.3852);
  5201. c.lineTo(w * 0.5203, h * 0.438);
  5202. c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.4797, h * 0.438);
  5203. c.close();
  5204. c.fill();
  5205. c.setStrokeWidth(2 * strokeWidth);
  5206. c.setStrokeColor('#292929');
  5207. c.setLineJoin('round');
  5208. c.begin();
  5209. c.moveTo(0, h * 0.7464);
  5210. c.lineTo(0, h * 0.25);
  5211. c.lineTo(w * 0.5, 0);
  5212. c.lineTo(w, h * 0.25);
  5213. c.lineTo(w, h * 0.7464);
  5214. c.lineTo(w * 0.5, h);
  5215. c.close();
  5216. c.stroke();
  5217. };
  5218. mxCellRenderer.registerShape(mxShapeAws3dOracleServer.prototype.cst.ORACLE_SERVER, mxShapeAws3dOracleServer);
  5219. //**********************************************************************************************************************************************************
  5220. //Secure Connection
  5221. //**********************************************************************************************************************************************************
  5222. /**
  5223. * Extends mxShape.
  5224. */
  5225. function mxShapeAws3dSecureConnection(bounds, fill, stroke, strokewidth)
  5226. {
  5227. mxShape.call(this);
  5228. this.bounds = bounds;
  5229. this.fill = fill;
  5230. this.stroke = stroke;
  5231. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5232. };
  5233. /**
  5234. * Extends mxShape.
  5235. */
  5236. mxUtils.extend(mxShapeAws3dSecureConnection, mxShape);
  5237. mxShapeAws3dSecureConnection.prototype.cst = {
  5238. SECURE_CONNECTION : 'mxgraph.aws3d.secureConnection'
  5239. };
  5240. /**
  5241. * Function: paintVertexShape
  5242. *
  5243. * Paints the vertex shape.
  5244. */
  5245. mxShapeAws3dSecureConnection.prototype.paintVertexShape = function(c, x, y, w, h)
  5246. {
  5247. c.translate(x, y);
  5248. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5249. var strokeWidth1 = strokeWidth * w / 57;
  5250. var strokeWidth2 = strokeWidth * h /34;
  5251. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5252. c.setStrokeWidth(strokeWidth);
  5253. this.background(c, 0, 0, w, h, strokeWidth);
  5254. c.setShadow(false);
  5255. this.foreground(c, 0, 0, w, h, strokeWidth);
  5256. };
  5257. mxShapeAws3dSecureConnection.prototype.background = function(c, x, y, w, h, strokeWidth)
  5258. {
  5259. c.begin();
  5260. c.moveTo(w * 0.0058, h * 0.3889);
  5261. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0774, h * 0.1856);
  5262. c.arcTo(w * 0.5241, h * 0.8839, 0, 0, 1, w * 0.308, h * 0.0262);
  5263. c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.6417, h * 0.056);
  5264. c.arcTo(w * 0.6988, h * 1.1786, 0, 0, 1, w * 0.9106, h * 0.277);
  5265. c.arcTo(w * 0.2621, h * 0.442, 0, 0, 1, w, h * 0.5451);
  5266. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.9474, h * 0.7808);
  5267. c.arcTo(w * 0.4368, h * 0.7366, 0, 0, 1, w * 0.7186, h * 0.9605);
  5268. c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.3045, h * 0.9104);
  5269. c.arcTo(w * 0.6115, h * 1.0312, 0, 0, 1, w * 0.0687, h * 0.6747);
  5270. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0058, h * 0.3889);
  5271. c.close();
  5272. c.fill();
  5273. };
  5274. mxShapeAws3dSecureConnection.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5275. {
  5276. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5277. c.setFillColor(strokeColor);
  5278. c.begin();
  5279. c.moveTo(w * 0.2661, h * 0.5068);
  5280. c.lineTo(w * 0.5002, h * 0.7336);
  5281. c.lineTo(w * 0.6626, h * 0.5775);
  5282. c.lineTo(w * 0.6469, h * 0.5539);
  5283. c.lineTo(w * 0.6958, h * 0.5097);
  5284. c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.7325, h * 0.4066);
  5285. c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.6889, h * 0.3153);
  5286. c.arcTo(w * 0.1747, h * 0.2946, 0, 0, 0, w * 0.5928, h * 0.2622);
  5287. c.arcTo(w * 0.1398, h * 0.2357, 0, 0, 0, w * 0.5107, h * 0.3005);
  5288. c.lineTo(w * 0.446, h * 0.3654);
  5289. c.lineTo(w * 0.4268, h * 0.3477);
  5290. c.close();
  5291. c.moveTo(w * 0.4949, h * 0.4184);
  5292. c.lineTo(w * 0.5491, h * 0.3624);
  5293. c.arcTo(w * 0.1222, h * 0.2062, 0, 0, 1, w * 0.6277, h * 0.3536);
  5294. c.arcTo(w * 0.0874, h * 0.1179, 0, 0, 1, w * 0.6679, h * 0.3978);
  5295. c.arcTo(w * 0.0175, h * 0.0295, 0, 0, 1, w * 0.6626, h * 0.439);
  5296. c.lineTo(w * 0.5928, h * 0.5068);
  5297. c.close();
  5298. c.fill();
  5299. };
  5300. mxCellRenderer.registerShape(mxShapeAws3dSecureConnection.prototype.cst.SECURE_CONNECTION, mxShapeAws3dSecureConnection);
  5301. //**********************************************************************************************************************************************************
  5302. //Email Service
  5303. //**********************************************************************************************************************************************************
  5304. /**
  5305. * Extends mxShape.
  5306. */
  5307. function mxShapeAws3dEmailService(bounds, fill, stroke, strokewidth)
  5308. {
  5309. mxShape.call(this);
  5310. this.bounds = bounds;
  5311. this.fill = fill;
  5312. this.stroke = stroke;
  5313. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5314. };
  5315. /**
  5316. * Extends mxShape.
  5317. */
  5318. mxUtils.extend(mxShapeAws3dEmailService, mxShape);
  5319. mxShapeAws3dEmailService.prototype.cst = {
  5320. EMAIL_SERVICE : 'mxgraph.aws3d.email_service',
  5321. SHADING_COLORS : 'shadingCols'
  5322. };
  5323. /**
  5324. * Function: paintVertexShape
  5325. *
  5326. * Paints the vertex shape.
  5327. */
  5328. mxShapeAws3dEmailService.prototype.paintVertexShape = function(c, x, y, w, h)
  5329. {
  5330. c.translate(x, y);
  5331. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5332. var strokeWidth1 = strokeWidth * w / 151;
  5333. var strokeWidth2 = strokeWidth * h / 192;
  5334. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5335. this.background(c, 0, 0, w, h, strokeWidth);
  5336. c.setShadow(false);
  5337. this.foreground(c, 0, 0, w, h, strokeWidth);
  5338. };
  5339. mxShapeAws3dEmailService.prototype.background = function(c, x, y, w, h, strokeWidth)
  5340. {
  5341. c.setStrokeWidth(strokeWidth);
  5342. c.save();
  5343. c.save();
  5344. c.setStrokeWidth(2 * strokeWidth);
  5345. c.setStrokeColor('#292929');
  5346. c.setLineJoin('round');
  5347. c.begin();
  5348. c.moveTo(0, h * 0.8182);
  5349. c.lineTo(0, h * 0.1818);
  5350. c.lineTo(w * 0.4007, 0);
  5351. c.lineTo(w * 0.606, 0);
  5352. c.lineTo(w, h * 0.1792);
  5353. c.lineTo(w, h * 0.8182);
  5354. c.lineTo(w * 0.5993, h);
  5355. c.lineTo(w * 0.4007, h);
  5356. c.close();
  5357. c.fillAndStroke();
  5358. };
  5359. mxShapeAws3dEmailService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5360. {
  5361. c.restore();
  5362. c.setShadow(false);
  5363. c.setFillColor('#000000');
  5364. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEmailService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5365. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5366. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5367. c.begin();
  5368. c.moveTo(0, h * 0.2727);
  5369. c.lineTo(w * 0.4007, h * 0.4546);
  5370. c.lineTo(w * 0.5993, h * 0.4546);
  5371. c.lineTo(w * 0.5993, h);
  5372. c.lineTo(w * 0.4007, h);
  5373. c.lineTo(0, h * 0.8182);
  5374. c.close();
  5375. c.fill();
  5376. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5377. c.begin();
  5378. c.moveTo(w * 0.5993, h * 0.4546);
  5379. c.lineTo(w, h * 0.2727);
  5380. c.lineTo(w * 0.8013, h * 0.1792);
  5381. c.lineTo(w * 0.8013, h * 0.0883);
  5382. c.lineTo(w, h * 0.1792);
  5383. c.lineTo(w, h * 0.8182);
  5384. c.lineTo(w * 0.5993, h);
  5385. c.close();
  5386. c.fill();
  5387. c.restore();
  5388. c.setShadow(false);
  5389. c.setLineJoin('round');
  5390. c.begin();
  5391. c.moveTo(0, h * 0.2727);
  5392. c.lineTo(w * 0.4007, h * 0.4546);
  5393. c.lineTo(w * 0.5993, h * 0.4546);
  5394. c.lineTo(w * 0.5993, h);
  5395. c.lineTo(w * 0.4007, h);
  5396. c.lineTo(0, h * 0.8182);
  5397. c.close();
  5398. c.stroke();
  5399. c.begin();
  5400. c.moveTo(w * 0.5993, h * 0.4546);
  5401. c.lineTo(w, h * 0.2727);
  5402. c.lineTo(w * 0.8013, h * 0.1792);
  5403. c.lineTo(w * 0.8013, h * 0.0883);
  5404. c.lineTo(w, h * 0.1792);
  5405. c.lineTo(w, h * 0.8182);
  5406. c.lineTo(w * 0.5993, h);
  5407. c.close();
  5408. c.stroke();
  5409. c.begin();
  5410. c.moveTo(w * 0.202, h * 0.0883);
  5411. c.lineTo(w * 0.202, h * 0.1818);
  5412. c.lineTo(w * 0.4007, h * 0.2727);
  5413. c.lineTo(w * 0.5993, h * 0.2727);
  5414. c.lineTo(w * 0.798, h * 0.1818);
  5415. c.moveTo(w * 0.2053, h * 0.1818);
  5416. c.lineTo(w * 0.0033, h * 0.2714);
  5417. c.moveTo(w * 0.4007, h * 0.2727);
  5418. c.lineTo(w * 0.4007, h * 0.9961);
  5419. c.moveTo(w * 0.5993, h * 0.2727);
  5420. c.lineTo(w * 0.5993, h * 0.4546);
  5421. c.stroke();
  5422. c.setLineJoin('miter');
  5423. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5424. c.setFillColor(strokeColor);
  5425. c.begin();
  5426. c.moveTo(w * 0.4437, h * 0.0779);
  5427. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 1, w * 0.404, h * 0.0706);
  5428. c.arcTo(w * 0.0464, h * 0.0364, 0, 0, 1, w * 0.3815, h * 0.0421);
  5429. c.arcTo(w * 0.053, h * 0.026, 0, 0, 1, w * 0.4205, h * 0.0187);
  5430. c.arcTo(w * 0.1987, h * 0.1558, 0, 0, 1, w * 0.4768, h * 0.0203);
  5431. c.arcTo(w * 0.0795, h * 0.0364, 0, 0, 1, w * 0.5199, h * 0.0494);
  5432. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.5099, h * 0.0649);
  5433. c.arcTo(w * 0.0795, h * 0.0623, 0, 0, 1, w * 0.4536, h * 0.0727);
  5434. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4404, h * 0.0597);
  5435. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4219, h * 0.0566);
  5436. c.arcTo(w * 0.0199, h * 0.0114, 0, 0, 1, w * 0.4172, h * 0.0431);
  5437. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4483, h * 0.0416);
  5438. c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 1, w * 0.457, h * 0.053);
  5439. c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 0, w * 0.4669, h * 0.0431);
  5440. c.arcTo(w * 0.0166, h * 0.0166, 0, 0, 0, w * 0.4464, h * 0.0358);
  5441. c.lineTo(w * 0.4437, h * 0.0338);
  5442. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4603, h * 0.0322);
  5443. c.arcTo(w * 0.0397, h * 0.0156, 0, 0, 1, w * 0.4755, h * 0.0462);
  5444. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4669, h * 0.0545);
  5445. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 1, w * 0.453, h * 0.0608);
  5446. c.arcTo(w * 0.0099, h * 0.0078, 0, 0, 0, w * 0.4636, h * 0.0675);
  5447. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.498, h * 0.0623);
  5448. c.arcTo(w * 0.0185, h * 0.0145, 0, 0, 0, w * 0.5079, h * 0.0457);
  5449. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4848, h * 0.0296);
  5450. c.arcTo(w * 0.0993, h * 0.0779, 0, 0, 0, w * 0.455, h * 0.0234);
  5451. c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.4172, h * 0.026);
  5452. c.arcTo(w * 0.0397, h * 0.0312, 0, 0, 0, w * 0.3927, h * 0.039);
  5453. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 0, w * 0.3974, h * 0.0571);
  5454. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4205, h * 0.0701);
  5455. c.arcTo(w * 0.0331, h * 0.026, 0, 0, 0, w * 0.4404, h * 0.0722);
  5456. c.moveTo(w * 0.42, h * 0.049);
  5457. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.055);
  5458. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.45, h * 0.049);
  5459. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.043);
  5460. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.42, h * 0.049);
  5461. c.close();
  5462. c.moveTo(w * 0.4669, h * 0.0894);
  5463. c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.5099, h * 0.0831);
  5464. c.lineTo(w * 0.6689, h * 0.1543);
  5465. c.lineTo(w * 0.4887, h * 0.1371);
  5466. c.close();
  5467. c.moveTo(w * 0.3887, h * 0.0769);
  5468. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.4205, h * 0.0888);
  5469. c.arcTo(w * 0.0662, h * 0.026, 0, 0, 0, w * 0.447, h * 0.0894);
  5470. c.lineTo(w * 0.4735, h * 0.1512);
  5471. c.lineTo(w * 0.6689, h * 0.1688);
  5472. c.lineTo(w * 0.5199, h * 0.2364);
  5473. c.lineTo(w * 0.2815, h * 0.1273);
  5474. c.close();
  5475. c.fill();
  5476. c.setStrokeWidth(2 * strokeWidth);
  5477. c.setStrokeColor('#292929');
  5478. c.setLineJoin('round');
  5479. c.begin();
  5480. c.moveTo(0, h * 0.8182);
  5481. c.lineTo(0, h * 0.1818);
  5482. c.lineTo(w * 0.4007, 0);
  5483. c.lineTo(w * 0.606, 0);
  5484. c.lineTo(w, h * 0.1792);
  5485. c.lineTo(w, h * 0.8182);
  5486. c.lineTo(w * 0.5993, h);
  5487. c.lineTo(w * 0.4007, h);
  5488. c.close();
  5489. c.stroke();
  5490. };
  5491. mxCellRenderer.registerShape(mxShapeAws3dEmailService.prototype.cst.EMAIL_SERVICE, mxShapeAws3dEmailService);
  5492. //**********************************************************************************************************************************************************
  5493. //Worker
  5494. //**********************************************************************************************************************************************************
  5495. /**
  5496. * Extends mxShape.
  5497. */
  5498. function mxShapeAws3dWorker(bounds, fill, stroke, strokewidth)
  5499. {
  5500. mxShape.call(this);
  5501. this.bounds = bounds;
  5502. this.fill = fill;
  5503. this.stroke = stroke;
  5504. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5505. };
  5506. /**
  5507. * Extends mxShape.
  5508. */
  5509. mxUtils.extend(mxShapeAws3dWorker, mxShape);
  5510. mxShapeAws3dWorker.prototype.cst = {
  5511. WORKER : 'mxgraph.aws3d.worker',
  5512. SHADING_COLORS : 'shadingCols'
  5513. };
  5514. /**
  5515. * Function: paintVertexShape
  5516. *
  5517. * Paints the vertex shape.
  5518. */
  5519. mxShapeAws3dWorker.prototype.paintVertexShape = function(c, x, y, w, h)
  5520. {
  5521. c.translate(x, y);
  5522. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5523. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5524. var strokeWidth1 = strokeWidth * w / 74;
  5525. var strokeWidth2 = strokeWidth * h / 50;
  5526. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5527. c.setStrokeWidth(strokeWidth);
  5528. c.setShadow(false);
  5529. c.save();
  5530. c.save();
  5531. c.setStrokeWidth(2 * strokeWidth);
  5532. c.setStrokeColor('#292929');
  5533. c.setLineJoin('round');
  5534. if (isShadow == 1)
  5535. {
  5536. c.setShadow(true);
  5537. }
  5538. c.begin();
  5539. c.moveTo(0, h * 0.572);
  5540. c.lineTo(w * 0.0865, h * 0.284);
  5541. c.lineTo(w * 0.4203, 0);
  5542. c.lineTo(w * 0.5865, 0);
  5543. c.lineTo(w * 0.919, h * 0.286);
  5544. c.lineTo(w, h * 0.566);
  5545. c.lineTo(w * 0.5027, h);
  5546. c.close();
  5547. c.fillAndStroke();
  5548. c.restore();
  5549. c.setFillColor('#000000');
  5550. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorker.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5551. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5552. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5553. c.begin();
  5554. c.moveTo(0, h * 0.566);
  5555. c.lineTo(w * 0.0892, h * 0.282);
  5556. c.lineTo(w * 0.0878, h * 0.426);
  5557. c.lineTo(w * 0.4216, h * 0.712);
  5558. c.lineTo(w * 0.5865, h * 0.712);
  5559. c.lineTo(w * 0.5027, h);
  5560. c.close();
  5561. c.fill();
  5562. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5563. c.begin();
  5564. c.moveTo(w * 0.5027, h);
  5565. c.lineTo(w * 0.5865, h * 0.712);
  5566. c.lineTo(w * 0.9176, h * 0.43);
  5567. c.lineTo(w, h * 0.566);
  5568. c.close();
  5569. c.fill();
  5570. c.restore();
  5571. c.setLineJoin('round');
  5572. c.begin();
  5573. c.moveTo(0, h * 0.566);
  5574. c.lineTo(w * 0.0892, h * 0.282);
  5575. c.lineTo(w * 0.0878, h * 0.426);
  5576. c.lineTo(w * 0.4216, h * 0.712);
  5577. c.lineTo(w * 0.5865, h * 0.712);
  5578. c.lineTo(w * 0.5027, h);
  5579. c.close();
  5580. c.moveTo(w * 0.5027, h);
  5581. c.lineTo(w * 0.5865, h * 0.712);
  5582. c.lineTo(w * 0.9176, h * 0.43);
  5583. c.lineTo(w, h * 0.566);
  5584. c.close();
  5585. c.moveTo(0, h * 0.572);
  5586. c.lineTo(w * 0.0892, h * 0.422);
  5587. c.moveTo(w * 0.5027, h);
  5588. c.lineTo(w * 0.4189, h * 0.708);
  5589. c.moveTo(w * 0.9176, h * 0.43);
  5590. c.lineTo(w * 0.9176, h * 0.29);
  5591. c.stroke();
  5592. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5593. c.setFillColor(strokeColor);
  5594. c.setLineJoin('round');
  5595. c.begin();
  5596. c.moveTo(w * 0.2892, h * 0.2104);
  5597. c.lineTo(w * 0.3595, h * 0.1503);
  5598. c.lineTo(w * 0.3973, h * 0.1844);
  5599. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.4486, h * 0.1703);
  5600. c.lineTo(w * 0.4486, h * 0.1242);
  5601. c.lineTo(w * 0.5527, h * 0.1242);
  5602. c.lineTo(w * 0.5527, h * 0.1703);
  5603. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.6149, h * 0.1924);
  5604. c.lineTo(w * 0.6527, h * 0.1603);
  5605. c.lineTo(w * 0.7257, h * 0.2224);
  5606. c.lineTo(w * 0.6892, h * 0.2545);
  5607. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.7162, h * 0.3106);
  5608. c.lineTo(w * 0.7676, h * 0.3106);
  5609. c.lineTo(w * 0.7676, h * 0.3988);
  5610. c.lineTo(w * 0.7162, h * 0.3988);
  5611. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.6973, h * 0.4409);
  5612. c.lineTo(w * 0.7378, h * 0.475);
  5613. c.lineTo(w * 0.6635, h * 0.5371);
  5614. c.lineTo(w * 0.6297, h * 0.505);
  5615. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.5527, h * 0.5351);
  5616. c.lineTo(w * 0.5527, h * 0.5812);
  5617. c.lineTo(w * 0.45, h * 0.5812);
  5618. c.lineTo(w * 0.45, h * 0.5351);
  5619. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.3878, h * 0.513);
  5620. c.lineTo(w * 0.3514, h * 0.5431);
  5621. c.lineTo(w * 0.2784, h * 0.481);
  5622. c.lineTo(w * 0.3149, h * 0.4509);
  5623. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.2865, h * 0.3968);
  5624. c.lineTo(w * 0.2351, h * 0.3968);
  5625. c.lineTo(w * 0.2351, h * 0.3086);
  5626. c.lineTo(w * 0.2865, h * 0.3086);
  5627. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.3203, h * 0.2425);
  5628. c.close();
  5629. c.moveTo(w * 0.4054, h * 0.2445);
  5630. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.3554, h * 0.2986);
  5631. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.3432, h * 0.3567);
  5632. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.3635, h * 0.4208);
  5633. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.4122, h * 0.4649);
  5634. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4122, h * 0.4649);
  5635. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5676, h * 0.4749);
  5636. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.6351, h * 0.4228);
  5637. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.6595, h * 0.3467);
  5638. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.6149, h * 0.2605);
  5639. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5419, h * 0.2204);
  5640. c.arcTo(w * 0.3378, h * 0.501, 0, 0, 0, w * 0.4649, h * 0.2184);
  5641. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4054, h * 0.2445);
  5642. c.close();
  5643. c.moveTo(w * 0.473, h * 0.2806);
  5644. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.55, h * 0.2866);
  5645. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 1, w * 0.5892, h * 0.3307);
  5646. c.arcTo(w * 0.0338, h * 0.0501, 0, 0, 1, w * 0.5824, h * 0.3888);
  5647. c.arcTo(w * 0.0946, h * 0.1403, 0, 0, 1, w * 0.5216, h * 0.4269);
  5648. c.arcTo(w * 0.1622, h * 0.2405, 0, 0, 1, w * 0.4432, h * 0.4128);
  5649. c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4108, h * 0.3527);
  5650. c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4351, h * 0.2986);
  5651. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 1, w * 0.473, h * 0.2806);
  5652. c.close();
  5653. c.fill();
  5654. c.setStrokeWidth(2 * strokeWidth);
  5655. c.setStrokeColor('#292929');
  5656. c.begin();
  5657. c.moveTo(0, h * 0.572);
  5658. c.lineTo(w * 0.0865, h * 0.284);
  5659. c.lineTo(w * 0.4203, 0);
  5660. c.lineTo(w * 0.5865, 0);
  5661. c.lineTo(w * 0.919, h * 0.286);
  5662. c.lineTo(w, h * 0.566);
  5663. c.lineTo(w * 0.5027, h);
  5664. c.close();
  5665. c.stroke();
  5666. };
  5667. mxCellRenderer.registerShape(mxShapeAws3dWorker.prototype.cst.WORKER, mxShapeAws3dWorker);
  5668. //**********************************************************************************************************************************************************
  5669. //Application
  5670. //**********************************************************************************************************************************************************
  5671. /**
  5672. * Extends mxShape.
  5673. */
  5674. function mxShapeAws3dApplication2(bounds, fill, stroke, strokewidth)
  5675. {
  5676. mxShape.call(this);
  5677. this.bounds = bounds;
  5678. this.fill = fill;
  5679. this.stroke = stroke;
  5680. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5681. };
  5682. /**
  5683. * Extends mxShape.
  5684. */
  5685. mxUtils.extend(mxShapeAws3dApplication2, mxShape);
  5686. mxShapeAws3dApplication2.prototype.cst = {
  5687. APPLICATION2 : 'mxgraph.aws3d.application2',
  5688. SHADING_COLORS : 'shadingCols'
  5689. };
  5690. /**
  5691. * Function: paintVertexShape
  5692. *
  5693. * Paints the vertex shape.
  5694. */
  5695. mxShapeAws3dApplication2.prototype.paintVertexShape = function(c, x, y, w, h)
  5696. {
  5697. c.translate(x, y);
  5698. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5699. var strokeWidth1 = strokeWidth * w / 62;
  5700. var strokeWidth2 = strokeWidth * h / 53.5;
  5701. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5702. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5703. c.setShadow(false);
  5704. c.setStrokeWidth(strokeWidth);
  5705. c.save();
  5706. c.save();
  5707. c.setStrokeWidth(2 * strokeWidth);
  5708. c.setStrokeColor('#292929');
  5709. c.setLineJoin('round');
  5710. if (isShadow == 1)
  5711. {
  5712. c.setShadow(true);
  5713. }
  5714. c.begin();
  5715. c.moveTo(0, h * 0.6766);
  5716. c.lineTo(0, h * 0.3271);
  5717. c.lineTo(w * 0.5, 0);
  5718. c.lineTo(w, h * 0.3271);
  5719. c.lineTo(w, h * 0.6766);
  5720. c.lineTo(w * 0.5, h);
  5721. c.close();
  5722. c.fillAndStroke();
  5723. c.restore();
  5724. c.setFillColor('#000000');
  5725. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5726. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5727. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5728. c.begin();
  5729. c.moveTo(0, h * 0.3271);
  5730. c.lineTo(w * 0.5, h * 0.6449);
  5731. c.lineTo(w * 0.5, h);
  5732. c.lineTo(0, h * 0.6766);
  5733. c.close();
  5734. c.fill();
  5735. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5736. c.begin();
  5737. c.moveTo(w * 0.5, h * 0.6449);
  5738. c.lineTo(w, h * 0.3271);
  5739. c.lineTo(w, h * 0.6766);
  5740. c.lineTo(w * 0.5, h);
  5741. c.close();
  5742. c.fill();
  5743. c.restore();
  5744. c.setLineJoin('round');
  5745. c.begin();
  5746. c.moveTo(0, h * 0.3271);
  5747. c.lineTo(w * 0.5, h * 0.6449);
  5748. c.lineTo(w * 0.5, h);
  5749. c.lineTo(0, h * 0.6766);
  5750. c.close();
  5751. c.stroke();
  5752. c.begin();
  5753. c.moveTo(w * 0.5, h * 0.6449);
  5754. c.lineTo(w, h * 0.3271);
  5755. c.lineTo(w, h * 0.6766);
  5756. c.lineTo(w * 0.5, h);
  5757. c.close();
  5758. c.stroke();
  5759. c.setLineJoin('miter');
  5760. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5761. c.setFillColor(strokeColor);
  5762. c.begin();
  5763. c.moveTo(w * 0.1742, h * 0.6355);
  5764. c.lineTo(w * 0.1742, h * 0.4393);
  5765. c.lineTo(w * 0.6726, h * 0.1121);
  5766. c.lineTo(w * 0.7661, h * 0.1738);
  5767. c.lineTo(w * 0.2661, h * 0.4991);
  5768. c.lineTo(w * 0.2661, h * 0.6916);
  5769. c.close();
  5770. c.moveTo(w * 0.2871, h * 0.7084);
  5771. c.lineTo(w * 0.2871, h * 0.514);
  5772. c.lineTo(w * 0.7823, h * 0.1869);
  5773. c.lineTo(w * 0.8629, h * 0.2374);
  5774. c.lineTo(w * 0.379, h * 0.5626);
  5775. c.lineTo(w * 0.379, h * 0.7607);
  5776. c.close();
  5777. c.fill();
  5778. c.setStrokeWidth(2 * strokeWidth);
  5779. c.setStrokeColor('#292929');
  5780. c.setLineJoin('round');
  5781. c.begin();
  5782. c.moveTo(0, h * 0.6766);
  5783. c.lineTo(0, h * 0.3271);
  5784. c.lineTo(w * 0.5, 0);
  5785. c.lineTo(w, h * 0.3271);
  5786. c.lineTo(w, h * 0.6766);
  5787. c.lineTo(w * 0.5, h);
  5788. c.close();
  5789. c.stroke();
  5790. };
  5791. mxCellRenderer.registerShape(mxShapeAws3dApplication2.prototype.cst.APPLICATION2, mxShapeAws3dApplication2);
  5792. //**********************************************************************************************************************************************************
  5793. //Elastic Beanstalk
  5794. //**********************************************************************************************************************************************************
  5795. /**
  5796. * Extends mxShape.
  5797. */
  5798. function mxShapeAws3dElasticBeanstalk(bounds, fill, stroke, strokewidth)
  5799. {
  5800. mxShape.call(this);
  5801. this.bounds = bounds;
  5802. this.fill = fill;
  5803. this.stroke = stroke;
  5804. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5805. };
  5806. /**
  5807. * Extends mxShape.
  5808. */
  5809. mxUtils.extend(mxShapeAws3dElasticBeanstalk, mxShape);
  5810. mxShapeAws3dElasticBeanstalk.prototype.cst = {
  5811. ELASTIC_BEANSTALK : 'mxgraph.aws3d.elasticBeanstalk',
  5812. SHADING_COLORS : 'shadingCols'
  5813. };
  5814. /**
  5815. * Function: paintVertexShape
  5816. *
  5817. * Paints the vertex shape.
  5818. */
  5819. mxShapeAws3dElasticBeanstalk.prototype.paintVertexShape = function(c, x, y, w, h)
  5820. {
  5821. c.translate(x, y);
  5822. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5823. var strokeWidth1 = strokeWidth * w / 181.5;
  5824. var strokeWidth2 = strokeWidth * h / 140;
  5825. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5826. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5827. c.setShadow(false);
  5828. c.setStrokeWidth(strokeWidth);
  5829. c.save();
  5830. c.save();
  5831. c.save();
  5832. c.setStrokeWidth(2 * strokeWidth);
  5833. c.setStrokeColor('#292929');
  5834. c.setLineJoin('round');
  5835. if (isShadow == 1)
  5836. {
  5837. c.setShadow(true);
  5838. }
  5839. c.begin();
  5840. c.moveTo(0, h * 0.6239);
  5841. c.lineTo(0, h * 0.3754);
  5842. c.lineTo(w * 0.5, 0);
  5843. c.lineTo(w, h * 0.3754);
  5844. c.lineTo(w, h * 0.6239);
  5845. c.lineTo(w * 0.5, h);
  5846. c.close();
  5847. c.fillAndStroke();
  5848. c.restore();
  5849. c.setFillColor('#000000');
  5850. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticBeanstalk.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5851. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5852. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5853. c.begin();
  5854. c.moveTo(0, h * 0.3754);
  5855. c.lineTo(w * 0.5, h * 0.7514);
  5856. c.lineTo(w * 0.5, h);
  5857. c.lineTo(0, h * 0.6239);
  5858. c.close();
  5859. c.fill();
  5860. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5861. c.begin();
  5862. c.moveTo(w * 0.5, h * 0.7514);
  5863. c.lineTo(w, h * 0.3754);
  5864. c.lineTo(w, h * 0.6239);
  5865. c.lineTo(w * 0.5, h);
  5866. c.close();
  5867. c.fill();
  5868. c.restore();
  5869. c.setLineJoin('round');
  5870. c.begin();
  5871. c.moveTo(0, h * 0.3754);
  5872. c.lineTo(w * 0.5, h * 0.7514);
  5873. c.lineTo(w * 0.5, h);
  5874. c.lineTo(0, h * 0.6239);
  5875. c.close();
  5876. c.moveTo(w * 0.5, h * 0.7514);
  5877. c.lineTo(w, h * 0.3754);
  5878. c.lineTo(w, h * 0.6239);
  5879. c.lineTo(w * 0.5, h);
  5880. c.close();
  5881. c.moveTo(w * 0.2485, h * 0.187);
  5882. c.lineTo(w * 0.7493, h * 0.5623);
  5883. c.lineTo(w * 0.7493, h * 0.8123);
  5884. c.stroke();
  5885. c.setLineJoin('miter');
  5886. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5887. c.setFillColor(strokeColor);
  5888. c.begin();
  5889. c.moveTo(w * 0.7763, h * 0.2063);
  5890. c.lineTo(w * 0.2749, h * 0.5817);
  5891. c.lineTo(w * 0.2749, h * 0.8309);
  5892. c.lineTo(w * 0.2204, h * 0.7894);
  5893. c.lineTo(w * 0.2204, h * 0.5394);
  5894. c.lineTo(w * 0.7185, h * 0.1619);
  5895. c.close();
  5896. c.fill();
  5897. c.restore();
  5898. c.begin();
  5899. c.moveTo(w * 0.1713, h * 0.543);
  5900. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2028, h * 0.5723);
  5901. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2281, h * 0.6096);
  5902. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2402, h * 0.644);
  5903. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2424, h * 0.6848);
  5904. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.216, h * 0.6612);
  5905. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.1895, h * 0.6239);
  5906. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.1719, h * 0.5824);
  5907. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.1713, h * 0.543);
  5908. c.close();
  5909. c.moveTo(w * 0.2507, h * 0.7794);
  5910. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.254, h * 0.7421);
  5911. c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.27, h * 0.7264);
  5912. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2986, h * 0.73);
  5913. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3234, h * 0.7457);
  5914. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3218, h * 0.7815);
  5915. c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.3019, h * 0.7987);
  5916. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.27, h * 0.7923);
  5917. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2507, h * 0.7794);
  5918. c.close();
  5919. c.moveTo(w * 0.2799, h * 0.5265);
  5920. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.3003, h * 0.515);
  5921. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3317, h * 0.515);
  5922. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3774, h * 0.5315);
  5923. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4033, h * 0.5487);
  5924. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3906, h * 0.5595);
  5925. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3493, h * 0.5616);
  5926. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3069, h * 0.5444);
  5927. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2799, h * 0.5265);
  5928. c.close();
  5929. c.moveTo(w * 0.2887, h * 0.3933);
  5930. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.314, h * 0.414);
  5931. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3322, h * 0.4391);
  5932. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.3344, h * 0.4699);
  5933. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.3196, h * 0.485);
  5934. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2887, h * 0.4592);
  5935. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.27, h * 0.4269);
  5936. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.2727, h * 0.4054);
  5937. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2887, h * 0.3933);
  5938. c.close();
  5939. c.moveTo(w * 0.4613, h * 0.262);
  5940. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4867, h * 0.2827);
  5941. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5049, h * 0.3078);
  5942. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.5071, h * 0.3386);
  5943. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4922, h * 0.3537);
  5944. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4613, h * 0.3279);
  5945. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4426, h * 0.2956);
  5946. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.4453, h * 0.2741);
  5947. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4613, h * 0.262);
  5948. c.close();
  5949. c.moveTo(w * 0.4525, h * 0.3952);
  5950. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4729, h * 0.3837);
  5951. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5043, h * 0.3837);
  5952. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.55, h * 0.4002);
  5953. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5759, h * 0.4174);
  5954. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5633, h * 0.4282);
  5955. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5219, h * 0.4303);
  5956. c.arcTo(w * 0.1653, h * 0.1074, 0, 0, 1, w * 0.4795, h * 0.4131);
  5957. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4525, h * 0.3952);
  5958. c.close();
  5959. c.moveTo(w * 0.6217, h * 0.1426);
  5960. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6471, h * 0.1633);
  5961. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6652, h * 0.1884);
  5962. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.6674, h * 0.2192);
  5963. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6526, h * 0.2342);
  5964. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6217, h * 0.2085);
  5965. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.603, h * 0.1762);
  5966. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.6057, h * 0.1547);
  5967. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6217, h * 0.1426);
  5968. c.close();
  5969. c.moveTo(w * 0.6129, h * 0.2758);
  5970. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.6333, h * 0.2643);
  5971. c.arcTo(w * 0.0826, h * 0.1433, 0, 0, 1, w * 0.6647, h * 0.2643);
  5972. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7104, h * 0.2808);
  5973. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298);
  5974. c.arcTo(w * 0.0826, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298);
  5975. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.6823, h * 0.3109);
  5976. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6399, h * 0.2937);
  5977. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6129, h * 0.2758);
  5978. c.close();
  5979. c.fillAndStroke();
  5980. c.setStrokeWidth(2 * strokeWidth);
  5981. c.setStrokeColor('#292929');
  5982. c.setLineJoin('round');
  5983. c.begin();
  5984. c.moveTo(0, h * 0.6239);
  5985. c.lineTo(0, h * 0.3754);
  5986. c.lineTo(w * 0.5, 0);
  5987. c.lineTo(w, h * 0.3754);
  5988. c.lineTo(w, h * 0.6239);
  5989. c.lineTo(w * 0.5, h);
  5990. c.close();
  5991. c.stroke();
  5992. };
  5993. mxCellRenderer.registerShape(mxShapeAws3dElasticBeanstalk.prototype.cst.ELASTIC_BEANSTALK, mxShapeAws3dElasticBeanstalk);
  5994. //**********************************************************************************************************************************************************
  5995. //SimpleDB 2
  5996. //**********************************************************************************************************************************************************
  5997. /**
  5998. * Extends mxShape.
  5999. */
  6000. function mxShapeAws3dSimpleDB2(bounds, fill, stroke, strokewidth)
  6001. {
  6002. mxShape.call(this);
  6003. this.bounds = bounds;
  6004. this.fill = fill;
  6005. this.stroke = stroke;
  6006. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6007. };
  6008. /**
  6009. * Extends mxShape.
  6010. */
  6011. mxUtils.extend(mxShapeAws3dSimpleDB2, mxShape);
  6012. mxShapeAws3dSimpleDB2.prototype.cst = {
  6013. SIMPLE_DB_2 : 'mxgraph.aws3d.simpleDb2',
  6014. SHADING_COLORS : 'shadingCols'
  6015. };
  6016. /**
  6017. * Function: paintVertexShape
  6018. *
  6019. * Paints the vertex shape.
  6020. */
  6021. mxShapeAws3dSimpleDB2.prototype.paintVertexShape = function(c, x, y, w, h)
  6022. {
  6023. c.translate(x, y);
  6024. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6025. var strokeWidth1 = strokeWidth * w / 181.5;
  6026. var strokeWidth2 = strokeWidth * h / 210;
  6027. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6028. this.background(c, 0, 0, w, h, strokeWidth);
  6029. c.setShadow(false);
  6030. this.foreground(c, 0, 0, w, h, strokeWidth);
  6031. };
  6032. mxShapeAws3dSimpleDB2.prototype.background = function(c, x, y, w, h, strokeWidth)
  6033. {
  6034. c.setStrokeWidth(strokeWidth);
  6035. c.save();
  6036. c.save();
  6037. c.save();
  6038. c.setStrokeWidth(2 * strokeWidth);
  6039. c.setStrokeColor('#292929');
  6040. c.setLineJoin('round');
  6041. c.begin();
  6042. c.moveTo(0, h * 0.8183);
  6043. c.lineTo(0, h * 0.1848);
  6044. c.lineTo(w * 0.3366, 0);
  6045. c.lineTo(w * 0.6293, h * 0.0021);
  6046. c.lineTo(w, h * 0.1833);
  6047. c.lineTo(w, h * 0.8183);
  6048. c.lineTo(w * 0.6694, h);
  6049. c.lineTo(w * 0.4986, h * 0.9091);
  6050. c.lineTo(w * 0.3333, h);
  6051. c.close();
  6052. c.fillAndStroke();
  6053. };
  6054. mxShapeAws3dSimpleDB2.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6055. {
  6056. c.restore();
  6057. c.setShadow(false);
  6058. c.setFillColor('#000000');
  6059. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6060. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6061. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6062. c.begin();
  6063. c.moveTo(0, h * 0.1848);
  6064. c.lineTo(w * 0.168, h * 0.1833);
  6065. c.lineTo(0, h * 0.365);
  6066. c.lineTo(w * 0.3333, h * 0.5467);
  6067. c.lineTo(w * 0.3333, h);
  6068. c.lineTo(0, h * 0.8183);
  6069. c.close();
  6070. c.moveTo(w * 0.4986, h * 0.9078);
  6071. c.lineTo(w * 0.4986, h * 0.3655);
  6072. c.lineTo(w * 0.6667, h * 0.5457);
  6073. c.lineTo(w * 0.6667, h);
  6074. c.close();
  6075. c.fill();
  6076. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6077. c.begin();
  6078. c.moveTo(w * 0.3333, h * 0.5467);
  6079. c.lineTo(w * 0.4986, h * 0.3655);
  6080. c.lineTo(w * 0.4986, h * 0.9076);
  6081. c.lineTo(w * 0.3333, h);
  6082. c.close();
  6083. c.moveTo(w * 0.8292, h * 0.1822);
  6084. c.lineTo(w, h * 0.1848);
  6085. c.lineTo(w, h * 0.8183);
  6086. c.lineTo(w * 0.6667, h);
  6087. c.lineTo(w * 0.6667, h * 0.5441);
  6088. c.lineTo(w, h * 0.3666);
  6089. c.close();
  6090. c.fill();
  6091. c.restore();
  6092. c.setShadow(false);
  6093. c.setLineJoin('round');
  6094. c.begin();
  6095. c.moveTo(0, h * 0.1848);
  6096. c.lineTo(w * 0.168, h * 0.1833);
  6097. c.lineTo(0, h * 0.365);
  6098. c.lineTo(w * 0.3333, h * 0.5467);
  6099. c.lineTo(w * 0.3333, h);
  6100. c.lineTo(0, h * 0.8183);
  6101. c.close();
  6102. c.moveTo(w * 0.4986, h * 0.9078);
  6103. c.lineTo(w * 0.4986, h * 0.3655);
  6104. c.lineTo(w * 0.6667, h * 0.5457);
  6105. c.lineTo(w * 0.6667, h);
  6106. c.close();
  6107. c.moveTo(w * 0.3333, h * 0.5467);
  6108. c.lineTo(w * 0.4986, h * 0.3655);
  6109. c.lineTo(w * 0.4986, h * 0.9076);
  6110. c.lineTo(w * 0.3333, h);
  6111. c.close();
  6112. c.moveTo(w * 0.8292, h * 0.1822);
  6113. c.lineTo(w, h * 0.1848);
  6114. c.lineTo(w, h * 0.8183);
  6115. c.lineTo(w * 0.6667, h);
  6116. c.lineTo(w * 0.6667, h * 0.5441);
  6117. c.lineTo(w, h * 0.3666);
  6118. c.close();
  6119. c.moveTo(w * 0.1669, h * 0.1828);
  6120. c.lineTo(w * 0.4986, h * 0.3655);
  6121. c.lineTo(w * 0.8314, h * 0.1833);
  6122. c.lineTo(w * 0.4986, h * 0.0031);
  6123. c.close();
  6124. c.stroke();
  6125. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6126. c.setFillColor(strokeColor);
  6127. c.begin();
  6128. c.moveTo(w * 0.2634, h * 0.1833);
  6129. c.lineTo(w * 0.5003, h * 0.0535);
  6130. c.lineTo(w * 0.7394, h * 0.1833);
  6131. c.lineTo(w * 0.5003, h * 0.3136);
  6132. c.close();
  6133. c.fill();
  6134. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000');
  6135. c.restore();
  6136. c.setShadow(false);
  6137. c.setStrokeWidth(3 * strokeWidth);
  6138. c.setStrokeColor(fillColor);
  6139. c.begin();
  6140. c.moveTo(w * 0.3003, h * 0.2108);
  6141. c.lineTo(w * 0.5642, h * 0.068);
  6142. c.moveTo(w * 0.4429, h * 0.0693);
  6143. c.lineTo(w * 0.7059, h * 0.2121);
  6144. c.moveTo(w * 0.6667, h * 0.2458);
  6145. c.lineTo(w * 0.3974, h * 0.0992);
  6146. c.moveTo(w * 0.3499, h * 0.1277);
  6147. c.lineTo(w * 0.6088, h * 0.2698);
  6148. c.moveTo(w * 0.3009, h * 0.1556);
  6149. c.lineTo(w * 0.5496, h * 0.2913);
  6150. c.stroke();
  6151. c.setStrokeWidth(2 * strokeWidth);
  6152. c.setStrokeColor('#292929');
  6153. c.setLineJoin('round');
  6154. c.begin();
  6155. c.moveTo(0, h * 0.8183);
  6156. c.lineTo(0, h * 0.1848);
  6157. c.lineTo(w * 0.3366, 0);
  6158. c.lineTo(w * 0.6293, h * 0.0021);
  6159. c.lineTo(w, h * 0.1833);
  6160. c.lineTo(w, h * 0.8183);
  6161. c.lineTo(w * 0.6694, h);
  6162. c.lineTo(w * 0.4986, h * 0.9091);
  6163. c.lineTo(w * 0.3333, h);
  6164. c.close();
  6165. c.stroke();
  6166. };
  6167. mxCellRenderer.registerShape(mxShapeAws3dSimpleDB2.prototype.cst.SIMPLE_DB_2, mxShapeAws3dSimpleDB2);
  6168. //**********************************************************************************************************************************************************
  6169. //Workflow Service
  6170. //**********************************************************************************************************************************************************
  6171. /**
  6172. * Extends mxShape.
  6173. */
  6174. function mxShapeAws3dWorkflowService(bounds, fill, stroke, strokewidth)
  6175. {
  6176. mxShape.call(this);
  6177. this.bounds = bounds;
  6178. this.fill = fill;
  6179. this.stroke = stroke;
  6180. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6181. };
  6182. /**
  6183. * Extends mxShape.
  6184. */
  6185. mxUtils.extend(mxShapeAws3dWorkflowService, mxShape);
  6186. mxShapeAws3dWorkflowService.prototype.cst = {
  6187. WORKFLOW_SERVICE : 'mxgraph.aws3d.workflowService',
  6188. SHADING_COLORS : 'shadingCols'
  6189. };
  6190. /**
  6191. * Function: paintVertexShape
  6192. *
  6193. * Paints the vertex shape.
  6194. */
  6195. mxShapeAws3dWorkflowService.prototype.paintVertexShape = function(c, x, y, w, h)
  6196. {
  6197. c.translate(x, y);
  6198. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6199. var strokeWidth1 = strokeWidth * w / 181.5;
  6200. var strokeWidth2 = strokeWidth * h / 210;
  6201. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6202. this.background(c, 0, 0, w, h, strokeWidth);
  6203. c.setShadow(false);
  6204. this.foreground(c, 0, 0, w, h, strokeWidth);
  6205. };
  6206. mxShapeAws3dWorkflowService.prototype.background = function(c, x, y, w, h, strokeWidth)
  6207. {
  6208. c.setStrokeWidth(strokeWidth);
  6209. c.save();
  6210. c.save();
  6211. c.save();
  6212. c.setStrokeWidth(2 * strokeWidth);
  6213. c.setStrokeColor('#292929');
  6214. c.setLineJoin('round');
  6215. c.begin();
  6216. c.moveTo(0, h * 0.6456);
  6217. c.lineTo(w * 0.2481, 0);
  6218. c.lineTo(w * 0.7497, 0);
  6219. c.lineTo(w, h * 0.6456);
  6220. c.lineTo(w * 0.4984, h);
  6221. c.close();
  6222. c.fillAndStroke();
  6223. };
  6224. mxShapeAws3dWorkflowService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6225. {
  6226. c.restore();
  6227. c.setShadow(false);
  6228. c.setFillColor('#000000');
  6229. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorkflowService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6230. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6231. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6232. c.begin();
  6233. c.moveTo(0, h * 0.6456);
  6234. c.lineTo(w * 0.2486, 0);
  6235. c.lineTo(w * 0.2486, h * 0.3531);
  6236. c.lineTo(w * 0.4984, h);
  6237. c.close();
  6238. c.moveTo(w * 0.7497, h * 0.3531);
  6239. c.lineTo(w * 0.7497, 0);
  6240. c.lineTo(w, h * 0.6456);
  6241. c.close();
  6242. c.fill();
  6243. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6244. c.begin();
  6245. c.moveTo(w * 0.4984, h);
  6246. c.lineTo(w * 0.7486, h * 0.3531);
  6247. c.lineTo(w, h * 0.6456);
  6248. c.lineTo(w * 0.4967, h);
  6249. c.close();
  6250. c.fill();
  6251. c.restore();
  6252. c.setShadow(false);
  6253. c.setLineJoin('round');
  6254. c.begin();
  6255. c.moveTo(w * 0.7497, h * 0.3531);
  6256. c.lineTo(w * 0.7497, 0);
  6257. c.lineTo(w, h * 0.6456);
  6258. c.close();
  6259. c.moveTo(0, h * 0.6456);
  6260. c.lineTo(w * 0.2486, 0);
  6261. c.lineTo(w * 0.2486, h * 0.3531);
  6262. c.lineTo(w * 0.4984, h);
  6263. c.lineTo(w * 0.7486, h * 0.3531);
  6264. c.lineTo(w, h * 0.6456);
  6265. c.lineTo(w * 0.4967, h);
  6266. c.close();
  6267. c.moveTo(w * 0.2486, h * 0.3531);
  6268. c.lineTo(w * 0.7508, h * 0.3531);
  6269. c.moveTo(w * 0.2488, h * 0.353);
  6270. c.lineTo(0, h * 0.6486);
  6271. c.stroke();
  6272. c.restore();
  6273. c.setShadow(false);
  6274. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6275. c.setFillColor(strokeColor);
  6276. c.setStrokeWidth(2 * strokeWidth);
  6277. c.begin();
  6278. c.ellipse(w * 0.2925, h * 0.031, w * 0.4116, h * 0.2925);
  6279. c.fill();
  6280. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  6281. c.setStrokeColor(fillColor);
  6282. c.begin();
  6283. c.moveTo(w * 0.5252, h * 0.0465);
  6284. c.lineTo(w * 0.5873, h * 0.0903);
  6285. c.lineTo(w * 0.5483, h * 0.1173);
  6286. c.lineTo(w * 0.4874, h * 0.0728);
  6287. c.close();
  6288. c.moveTo(w * 0.4896, h * 0.1132);
  6289. c.lineTo(w * 0.5005, h * 0.1705);
  6290. c.lineTo(w * 0.4182, h * 0.1631);
  6291. c.lineTo(w * 0.4122, h * 0.1058);
  6292. c.close();
  6293. c.moveTo(w * 0.3584, h * 0.1631);
  6294. c.lineTo(w * 0.4204, h * 0.2062);
  6295. c.lineTo(w * 0.3825, h * 0.2332);
  6296. c.lineTo(w * 0.32, h * 0.19);
  6297. c.close();
  6298. c.moveTo(w * 0.4594, h * 0.2338);
  6299. c.lineTo(w * 0.5214, h * 0.2783);
  6300. c.lineTo(w * 0.4835, h * 0.3053);
  6301. c.lineTo(w * 0.4215, h * 0.2608);
  6302. c.close();
  6303. c.moveTo(w * 0.5187, h * 0.0943);
  6304. c.lineTo(w * 0.4879, h * 0.1152);
  6305. c.moveTo(w * 0.421, h * 0.1624);
  6306. c.lineTo(w * 0.3895, h * 0.1846);
  6307. c.moveTo(w * 0.5, h * 0.1698);
  6308. c.lineTo(w * 0.5554, h * 0.2089);
  6309. c.lineTo(w * 0.4885, h * 0.2567);
  6310. c.stroke();
  6311. c.setStrokeWidth(2 * strokeWidth);
  6312. c.setStrokeColor('#292929');
  6313. c.setLineJoin('round');
  6314. c.begin();
  6315. c.moveTo(0, h * 0.6456);
  6316. c.lineTo(w * 0.2481, 0);
  6317. c.lineTo(w * 0.7497, 0);
  6318. c.lineTo(w, h * 0.6456);
  6319. c.lineTo(w * 0.4984, h);
  6320. c.close();
  6321. c.close();
  6322. c.stroke();
  6323. };
  6324. mxCellRenderer.registerShape(mxShapeAws3dWorkflowService.prototype.cst.WORKFLOW_SERVICE, mxShapeAws3dWorkflowService);
  6325. //**********************************************************************************************************************************************************
  6326. //Decider
  6327. //**********************************************************************************************************************************************************
  6328. /**
  6329. * Extends mxShape.
  6330. */
  6331. function mxShapeAws3dDecider(bounds, fill, stroke, strokewidth)
  6332. {
  6333. mxShape.call(this);
  6334. this.bounds = bounds;
  6335. this.fill = fill;
  6336. this.stroke = stroke;
  6337. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6338. };
  6339. /**
  6340. * Extends mxShape.
  6341. */
  6342. mxUtils.extend(mxShapeAws3dDecider, mxShape);
  6343. mxShapeAws3dDecider.prototype.cst = {
  6344. DECIDER : 'mxgraph.aws3d.decider',
  6345. SHADING_COLORS : 'shadingCols'
  6346. };
  6347. /**
  6348. * Function: paintVertexShape
  6349. *
  6350. * Paints the vertex shape.
  6351. */
  6352. mxShapeAws3dDecider.prototype.paintVertexShape = function(c, x, y, w, h)
  6353. {
  6354. c.translate(x, y);
  6355. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6356. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  6357. var strokeWidth1 = strokeWidth * w / 74;
  6358. var strokeWidth2 = strokeWidth * h / 50;
  6359. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6360. c.setStrokeWidth(strokeWidth);
  6361. c.setShadow(false);
  6362. c.save();
  6363. c.save();
  6364. c.setStrokeWidth(2 * strokeWidth);
  6365. c.setStrokeColor('#292929');
  6366. c.setLineJoin('round');
  6367. if (isShadow == 1)
  6368. {
  6369. c.setShadow(true);
  6370. }
  6371. c.begin();
  6372. c.moveTo(0, h * 0.572);
  6373. c.lineTo(w * 0.0865, h * 0.284);
  6374. c.lineTo(w * 0.4203, 0);
  6375. c.lineTo(w * 0.5865, 0);
  6376. c.lineTo(w * 0.919, h * 0.286);
  6377. c.lineTo(w, h * 0.566);
  6378. c.lineTo(w * 0.5027, h);
  6379. c.close();
  6380. c.fillAndStroke();
  6381. c.restore();
  6382. c.setFillColor('#000000');
  6383. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDecider.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6384. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6385. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6386. c.begin();
  6387. c.moveTo(0, h * 0.566);
  6388. c.lineTo(w * 0.0892, h * 0.282);
  6389. c.lineTo(w * 0.0878, h * 0.426);
  6390. c.lineTo(w * 0.4216, h * 0.712);
  6391. c.lineTo(w * 0.5865, h * 0.712);
  6392. c.lineTo(w * 0.5027, h);
  6393. c.close();
  6394. c.fill();
  6395. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6396. c.begin();
  6397. c.moveTo(w * 0.5027, h);
  6398. c.lineTo(w * 0.5865, h * 0.712);
  6399. c.lineTo(w * 0.9176, h * 0.43);
  6400. c.lineTo(w, h * 0.566);
  6401. c.close();
  6402. c.fill();
  6403. c.restore();
  6404. c.setLineJoin('round');
  6405. c.begin();
  6406. c.moveTo(0, h * 0.566);
  6407. c.lineTo(w * 0.0892, h * 0.282);
  6408. c.lineTo(w * 0.0878, h * 0.426);
  6409. c.lineTo(w * 0.4216, h * 0.712);
  6410. c.lineTo(w * 0.5865, h * 0.712);
  6411. c.lineTo(w * 0.5027, h);
  6412. c.close();
  6413. c.moveTo(w * 0.5027, h);
  6414. c.lineTo(w * 0.5865, h * 0.712);
  6415. c.lineTo(w * 0.9176, h * 0.43);
  6416. c.lineTo(w, h * 0.566);
  6417. c.close();
  6418. c.moveTo(0, h * 0.572);
  6419. c.lineTo(w * 0.0892, h * 0.422);
  6420. c.moveTo(w * 0.5027, h);
  6421. c.lineTo(w * 0.4189, h * 0.708);
  6422. c.moveTo(w * 0.9176, h * 0.43);
  6423. c.lineTo(w * 0.9176, h * 0.29);
  6424. c.stroke();
  6425. c.setStrokeWidth(1.6 * strokeWidth);
  6426. c.setLineJoin('square');
  6427. c.begin();
  6428. c.moveTo(w * 0.4973, h * 0.1523);
  6429. c.lineTo(w * 0.5608, h * 0.0982);
  6430. c.lineTo(w * 0.6581, h * 0.1844);
  6431. c.lineTo(w * 0.5986, h * 0.2365);
  6432. c.close();
  6433. c.moveTo(w * 0.3784, h * 0.2164);
  6434. c.lineTo(w * 0.5054, h * 0.2305);
  6435. c.lineTo(w * 0.5203, h * 0.3407);
  6436. c.lineTo(w * 0.3892, h * 0.3246);
  6437. c.close();
  6438. c.moveTo(w * 0.2932, h * 0.3246);
  6439. c.lineTo(w * 0.3919, h * 0.4128);
  6440. c.lineTo(w * 0.3334, h * 0.4647);
  6441. c.lineTo(w * 0.2357, h * 0.38);
  6442. c.close();
  6443. c.moveTo(w * 0.4568, h * 0.4649);
  6444. c.lineTo(w * 0.5554, h * 0.5511);
  6445. c.lineTo(w * 0.4932, h * 0.6032);
  6446. c.lineTo(w * 0.3946, h * 0.517);
  6447. c.close();
  6448. c.moveTo(w * 0.5473, h * 0.1924);
  6449. c.lineTo(w * 0.5027, h * 0.2365);
  6450. c.moveTo(w * 0.4, h * 0.3186);
  6451. c.lineTo(w * 0.3446, h * 0.3667);
  6452. c.moveTo(w * 0.5189, h * 0.3387);
  6453. c.lineTo(w * 0.6081, h * 0.4148);
  6454. c.lineTo(w * 0.5068, h * 0.501);
  6455. c.stroke();
  6456. c.setStrokeColor('#292929');
  6457. c.begin();
  6458. c.moveTo(0, h * 0.572);
  6459. c.lineTo(w * 0.0865, h * 0.284);
  6460. c.lineTo(w * 0.4203, 0);
  6461. c.lineTo(w * 0.5865, 0);
  6462. c.lineTo(w * 0.919, h * 0.286);
  6463. c.lineTo(w, h * 0.566);
  6464. c.lineTo(w * 0.5027, h);
  6465. c.close();
  6466. c.stroke();
  6467. };
  6468. mxCellRenderer.registerShape(mxShapeAws3dDecider.prototype.cst.DECIDER, mxShapeAws3dDecider);
  6469. //**********************************************************************************************************************************************************
  6470. //Search Engine
  6471. //**********************************************************************************************************************************************************
  6472. /**
  6473. * Extends mxShape.
  6474. */
  6475. function mxShapeAws3dSearchEngine(bounds, fill, stroke, strokewidth)
  6476. {
  6477. mxShape.call(this);
  6478. this.bounds = bounds;
  6479. this.fill = fill;
  6480. this.stroke = stroke;
  6481. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6482. };
  6483. /**
  6484. * Extends mxShape.
  6485. */
  6486. mxUtils.extend(mxShapeAws3dSearchEngine, mxShape);
  6487. mxShapeAws3dSearchEngine.prototype.cst = {
  6488. SEARCH_ENGINE : 'mxgraph.aws3d.searchEngine',
  6489. SHADING_COLORS : 'shadingCols'
  6490. };
  6491. /**
  6492. * Function: paintVertexShape
  6493. *
  6494. * Paints the vertex shape.
  6495. */
  6496. mxShapeAws3dSearchEngine.prototype.paintVertexShape = function(c, x, y, w, h)
  6497. {
  6498. c.translate(x, y);
  6499. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6500. var strokeWidth1 = strokeWidth * w / 180;
  6501. var strokeWidth2 = strokeWidth * h / 192;
  6502. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6503. this.background(c, 0, 0, w, h, strokeWidth);
  6504. c.setShadow(false);
  6505. this.foreground(c, 0, 0, w, h, strokeWidth);
  6506. };
  6507. mxShapeAws3dSearchEngine.prototype.background = function(c, x, y, w, h, strokeWidth)
  6508. {
  6509. c.setStrokeWidth(strokeWidth);
  6510. c.save();
  6511. c.save();
  6512. c.save();
  6513. c.setStrokeWidth(2 * strokeWidth);
  6514. c.setStrokeColor('#292929');
  6515. c.setLineJoin('round');
  6516. c.begin();
  6517. c.moveTo(0, h * 0.7281);
  6518. c.lineTo(w * 0.1667, h * 0.5444);
  6519. c.lineTo(w * 0.1667, h * 0.1832);
  6520. c.lineTo(w * 0.5011, 0);
  6521. c.lineTo(w * 0.8333, h * 0.1832);
  6522. c.lineTo(w * 0.8333, h * 0.5446);
  6523. c.lineTo(w, h * 0.7281);
  6524. c.lineTo(w * 0.7486, h * 0.7735);
  6525. c.lineTo(w * 0.5819, h * 0.8617);
  6526. c.lineTo(w * 0.5011, h);
  6527. c.lineTo(w * 0.4169, h * 0.8653);
  6528. c.lineTo(w * 0.2475, h * 0.7704);
  6529. c.close();
  6530. c.fillAndStroke();
  6531. };
  6532. mxShapeAws3dSearchEngine.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6533. {
  6534. c.restore();
  6535. c.setShadow(false);
  6536. c.setFillColor('#000000');
  6537. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSearchEngine.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6538. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6539. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6540. c.begin();
  6541. c.moveTo(w * 0.1672, h * 0.1837);
  6542. c.lineTo(w * 0.4989, h * 0.3638);
  6543. c.lineTo(w * 0.4989, h * 0.7291);
  6544. c.lineTo(w * 0.5825, h * 0.8633);
  6545. c.lineTo(w * 0.4989, h);
  6546. c.lineTo(w * 0.4164, h * 0.8622);
  6547. c.lineTo(w * 0.2458, h * 0.7719);
  6548. c.lineTo(0, h * 0.7276);
  6549. c.lineTo(w * 0.1661, h * 0.5454);
  6550. c.close();
  6551. c.moveTo(w * 0.7486, h * 0.7714);
  6552. c.lineTo(w * 0.8317, h * 0.5459);
  6553. c.lineTo(w, h * 0.727);
  6554. c.close();
  6555. c.fill();
  6556. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6557. c.begin();
  6558. c.moveTo(w * 0.4989, h * 0.3643);
  6559. c.lineTo(w * 0.8317, h * 0.1827);
  6560. c.lineTo(w * 0.8317, h * 0.5465);
  6561. c.lineTo(w * 0.7508, h * 0.7714);
  6562. c.lineTo(w * 0.5836, h * 0.8633);
  6563. c.lineTo(w * 0.4989, h * 0.727);
  6564. c.close();
  6565. c.fill();
  6566. c.restore();
  6567. c.setShadow(false);
  6568. c.setLineJoin('round');
  6569. c.begin();
  6570. c.moveTo(w * 0.1672, h * 0.1837);
  6571. c.lineTo(w * 0.4989, h * 0.3638);
  6572. c.lineTo(w * 0.4989, h * 0.7291);
  6573. c.lineTo(w * 0.5825, h * 0.8633);
  6574. c.lineTo(w * 0.4989, h);
  6575. c.lineTo(w * 0.4164, h * 0.8622);
  6576. c.lineTo(w * 0.2458, h * 0.7719);
  6577. c.lineTo(0, h * 0.7276);
  6578. c.lineTo(w * 0.1661, h * 0.5454);
  6579. c.close();
  6580. c.moveTo(w * 0.7486, h * 0.7714);
  6581. c.lineTo(w * 0.8317, h * 0.5459);
  6582. c.lineTo(w, h * 0.727);
  6583. c.close();
  6584. c.moveTo(w * 0.4989, h * 0.3643);
  6585. c.lineTo(w * 0.8317, h * 0.1827);
  6586. c.lineTo(w * 0.8317, h * 0.5465);
  6587. c.lineTo(w * 0.7508, h * 0.7714);
  6588. c.lineTo(w * 0.5836, h * 0.8633);
  6589. c.lineTo(w * 0.4989, h * 0.727);
  6590. c.close();
  6591. c.moveTo(w * 0.1667, h * 0.5459);
  6592. c.lineTo(w * 0.2486, h * 0.7704);
  6593. c.moveTo(w * 0.4164, h * 0.8633);
  6594. c.lineTo(w * 0.4989, h * 0.727);
  6595. c.lineTo(w * 0.4989, h);
  6596. c.stroke();
  6597. c.restore();
  6598. c.setShadow(false);
  6599. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6600. c.setFillColor(strokeColor);
  6601. c.begin();
  6602. c.moveTo(w * 0.3427, h * 0.179);
  6603. c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 1, w * 0.3267, h * 0.1487);
  6604. c.arcTo(w * 0.0664, h * 0.0365, 0, 0, 1, w * 0.3621, h * 0.1227);
  6605. c.arcTo(w * 0.1052, h * 0.0992, 0, 0, 1, w * 0.4247, h * 0.1195);
  6606. c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4884, h * 0.1018);
  6607. c.arcTo(w * 0.1329, h * 0.1253, 0, 0, 1, w * 0.5548, h * 0.1112);
  6608. c.arcTo(w * 0.0377, h * 0.0344, 0, 0, 1, w * 0.572, h * 0.166);
  6609. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.6047, h * 0.1775);
  6610. c.arcTo(w * 0.021, h * 0.0198, 0, 0, 1, w * 0.5936, h * 0.2046);
  6611. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.6008, h * 0.2416);
  6612. c.arcTo(w * 0.072, h * 0.0678, 0, 0, 1, w * 0.5437, h * 0.2677);
  6613. c.arcTo(w * 0.1052, h * 0.0939, 0, 0, 1, w * 0.4828, h * 0.2563);
  6614. c.close();
  6615. c.moveTo(w * 0.448, h * 0.2156);
  6616. c.arcTo(w * 0.0111, h * 0.0104, 0, 0, 0, w * 0.459, h * 0.2255);
  6617. c.arcTo(w * 0.0138, h * 0.013, 0, 0, 0, w * 0.4729, h * 0.2182);
  6618. c.lineTo(w * 0.4773, h * 0.1874);
  6619. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.5116, h * 0.1759);
  6620. c.arcTo(w * 0.0277, h * 0.0626, 0, 0, 0, w * 0.5233, h * 0.1503);
  6621. c.arcTo(w * 0.0554, h * 0.0261, 0, 0, 0, w * 0.5022, h * 0.1336);
  6622. c.arcTo(w * 0.0886, h * 0.0835, 0, 0, 0, w * 0.4607, h * 0.1305);
  6623. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4313, h * 0.142);
  6624. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.4175, h * 0.1597);
  6625. c.arcTo(w * 0.0249, h * 0.0235, 0, 0, 0, w * 0.4313, h * 0.1822);
  6626. c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 0, w * 0.4535, h * 0.1884);
  6627. c.close();
  6628. c.moveTo(w * 0.4718, h * 0.1764);
  6629. c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 1, w * 0.4496, h * 0.1754);
  6630. c.arcTo(w * 0.0221, h * 0.0157, 0, 0, 1, w * 0.4369, h * 0.1634);
  6631. c.arcTo(w * 0.0221, h * 0.0183, 0, 0, 1, w * 0.4496, h * 0.1467);
  6632. c.arcTo(w * 0.0609, h * 0.0574, 0, 0, 1, w * 0.4759, h * 0.1414);
  6633. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.5033, h * 0.1514);
  6634. c.arcTo(w * 0.0443, h * 0.0209, 0, 0, 1, w * 0.495, h * 0.1701);
  6635. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.4718, h * 0.1764);
  6636. c.close();
  6637. c.fill();
  6638. c.setStrokeWidth(2 * strokeWidth);
  6639. c.setStrokeColor('#292929');
  6640. c.setLineJoin('round');
  6641. c.begin();
  6642. c.moveTo(0, h * 0.7281);
  6643. c.lineTo(w * 0.1667, h * 0.5444);
  6644. c.lineTo(w * 0.1667, h * 0.1832);
  6645. c.lineTo(w * 0.5011, 0);
  6646. c.lineTo(w * 0.8333, h * 0.1832);
  6647. c.lineTo(w * 0.8333, h * 0.5446);
  6648. c.lineTo(w, h * 0.7281);
  6649. c.lineTo(w * 0.7486, h * 0.7735);
  6650. c.lineTo(w * 0.5819, h * 0.8617);
  6651. c.lineTo(w * 0.5011, h);
  6652. c.lineTo(w * 0.4169, h * 0.8653);
  6653. c.lineTo(w * 0.2475, h * 0.7704);
  6654. c.close();
  6655. c.stroke();
  6656. };
  6657. mxCellRenderer.registerShape(mxShapeAws3dSearchEngine.prototype.cst.SEARCH_ENGINE, mxShapeAws3dSearchEngine);
  6658. //**********************************************************************************************************************************************************
  6659. //Security Token Service
  6660. //**********************************************************************************************************************************************************
  6661. /**
  6662. * Extends mxShape.
  6663. */
  6664. function mxShapeAws3dSecurityTokenService(bounds, fill, stroke, strokewidth)
  6665. {
  6666. mxShape.call(this);
  6667. this.bounds = bounds;
  6668. this.fill = fill;
  6669. this.stroke = stroke;
  6670. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6671. };
  6672. /**
  6673. * Extends mxShape.
  6674. */
  6675. mxUtils.extend(mxShapeAws3dSecurityTokenService, mxShape);
  6676. mxShapeAws3dSecurityTokenService.prototype.cst = {
  6677. SECURITY_TOKEN_SERVICE : 'mxgraph.aws3d.securityTokenService',
  6678. SHADING_COLORS : 'shadingCols'
  6679. };
  6680. /**
  6681. * Function: paintVertexShape
  6682. *
  6683. * Paints the vertex shape.
  6684. */
  6685. mxShapeAws3dSecurityTokenService.prototype.paintVertexShape = function(c, x, y, w, h)
  6686. {
  6687. c.translate(x, y);
  6688. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6689. var strokeWidth1 = strokeWidth * w / 180;
  6690. var strokeWidth2 = strokeWidth * h / 192;
  6691. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6692. this.background(c, 0, 0, w, h, strokeWidth);
  6693. c.setShadow(false);
  6694. this.foreground(c, 0, 0, w, h, strokeWidth);
  6695. };
  6696. mxShapeAws3dSecurityTokenService.prototype.background = function(c, x, y, w, h, strokeWidth)
  6697. {
  6698. c.setStrokeWidth(strokeWidth);
  6699. c.save();
  6700. c.save();
  6701. c.save();
  6702. c.setStrokeWidth(2 * strokeWidth);
  6703. c.setStrokeColor('#292929');
  6704. c.setLineJoin('round');
  6705. c.begin();
  6706. c.moveTo(0, h * 0.7281);
  6707. c.lineTo(w * 0.1667, h * 0.5444);
  6708. c.lineTo(w * 0.1667, h * 0.1832);
  6709. c.lineTo(w * 0.5011, 0);
  6710. c.lineTo(w * 0.8333, h * 0.1832);
  6711. c.lineTo(w * 0.8333, h * 0.5446);
  6712. c.lineTo(w, h * 0.7281);
  6713. c.lineTo(w * 0.7486, h * 0.7735);
  6714. c.lineTo(w * 0.5819, h * 0.8617);
  6715. c.lineTo(w * 0.5011, h);
  6716. c.lineTo(w * 0.4169, h * 0.8653);
  6717. c.lineTo(w * 0.2475, h * 0.7704);
  6718. c.close();
  6719. c.fillAndStroke();
  6720. };
  6721. mxShapeAws3dSecurityTokenService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6722. {
  6723. c.restore();
  6724. c.setShadow(false);
  6725. c.setFillColor('#000000');
  6726. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSecurityTokenService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6727. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6728. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6729. c.begin();
  6730. c.moveTo(w * 0.1672, h * 0.1837);
  6731. c.lineTo(w * 0.4989, h * 0.3638);
  6732. c.lineTo(w * 0.4989, h * 0.7291);
  6733. c.lineTo(w * 0.5825, h * 0.8633);
  6734. c.lineTo(w * 0.4989, h);
  6735. c.lineTo(w * 0.4164, h * 0.8622);
  6736. c.lineTo(w * 0.2458, h * 0.7719);
  6737. c.lineTo(0, h * 0.7276);
  6738. c.lineTo(w * 0.1661, h * 0.5454);
  6739. c.close();
  6740. c.moveTo(w * 0.7486, h * 0.7714);
  6741. c.lineTo(w * 0.8317, h * 0.5459);
  6742. c.lineTo(w, h * 0.727);
  6743. c.close();
  6744. c.fill();
  6745. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6746. c.begin();
  6747. c.moveTo(w * 0.4989, h * 0.3643);
  6748. c.lineTo(w * 0.8317, h * 0.1827);
  6749. c.lineTo(w * 0.8317, h * 0.5465);
  6750. c.lineTo(w * 0.7508, h * 0.7714);
  6751. c.lineTo(w * 0.5836, h * 0.8633);
  6752. c.lineTo(w * 0.4989, h * 0.727);
  6753. c.close();
  6754. c.fill();
  6755. c.restore();
  6756. c.setShadow(false);
  6757. c.setLineJoin('round');
  6758. c.begin();
  6759. c.moveTo(w * 0.1672, h * 0.1837);
  6760. c.lineTo(w * 0.4989, h * 0.3638);
  6761. c.lineTo(w * 0.4989, h * 0.7291);
  6762. c.lineTo(w * 0.5825, h * 0.8633);
  6763. c.lineTo(w * 0.4989, h);
  6764. c.lineTo(w * 0.4164, h * 0.8622);
  6765. c.lineTo(w * 0.2458, h * 0.7719);
  6766. c.lineTo(0, h * 0.7276);
  6767. c.lineTo(w * 0.1661, h * 0.5454);
  6768. c.close();
  6769. c.moveTo(w * 0.7486, h * 0.7714);
  6770. c.lineTo(w * 0.8317, h * 0.5459);
  6771. c.lineTo(w, h * 0.727);
  6772. c.close();
  6773. c.moveTo(w * 0.4989, h * 0.3643);
  6774. c.lineTo(w * 0.8317, h * 0.1827);
  6775. c.lineTo(w * 0.8317, h * 0.5465);
  6776. c.lineTo(w * 0.7508, h * 0.7714);
  6777. c.lineTo(w * 0.5836, h * 0.8633);
  6778. c.lineTo(w * 0.4989, h * 0.727);
  6779. c.close();
  6780. c.moveTo(w * 0.1667, h * 0.5459);
  6781. c.lineTo(w * 0.2486, h * 0.7704);
  6782. c.moveTo(w * 0.4164, h * 0.8633);
  6783. c.lineTo(w * 0.4989, h * 0.727);
  6784. c.lineTo(w * 0.4989, h);
  6785. c.stroke();
  6786. c.restore();
  6787. c.setShadow(false);
  6788. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6789. c.setFillColor(strokeColor);
  6790. c.begin();
  6791. c.moveTo(w * 0.4773, h * 0.1915);
  6792. c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4358, h * 0.1968);
  6793. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.3937, h * 0.1905);
  6794. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 1, w * 0.3682, h * 0.1707);
  6795. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.3699, h * 0.1414);
  6796. c.arcTo(w * 0.0775, h * 0.0731, 0, 0, 1, w * 0.4009, h * 0.118);
  6797. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.4524, h * 0.1059);
  6798. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.5028, h * 0.1112);
  6799. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 1, w * 0.531, h * 0.1315);
  6800. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.531, h * 0.1597);
  6801. c.lineTo(w * 0.5615, h * 0.1754);
  6802. c.lineTo(w * 0.5526, h * 0.1905);
  6803. c.lineTo(w * 0.5759, h * 0.1999);
  6804. c.lineTo(w * 0.5753, h * 0.2109);
  6805. c.lineTo(w * 0.5792, h * 0.2161);
  6806. c.lineTo(w * 0.6135, h * 0.2182);
  6807. c.lineTo(w * 0.6113, h * 0.2416);
  6808. c.lineTo(w * 0.5819, h * 0.2474);
  6809. c.close();
  6810. c.moveTo(w * 0.4756, h * 0.1816);
  6811. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.5, h * 0.1691);
  6812. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.5144, h * 0.1435);
  6813. c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 0, w * 0.4967, h * 0.1247);
  6814. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.4729, h * 0.1174);
  6815. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 0, w * 0.4452, h * 0.1169);
  6816. c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4197, h * 0.1232);
  6817. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.397, h * 0.1357);
  6818. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 0, w * 0.3859, h * 0.1555);
  6819. c.arcTo(w * 0.0305, h * 0.0287, 0, 0, 0, w * 0.4053, h * 0.178);
  6820. c.arcTo(w * 0.072, h * 0.0678, 0, 0, 0, w * 0.4385, h * 0.1863);
  6821. c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4596, h * 0.1848);
  6822. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4756, h * 0.1816);
  6823. c.fill();
  6824. c.setStrokeWidth(1.5 * strokeWidth);
  6825. c.setLineJoin('round');
  6826. c.setLineCap('round');
  6827. c.begin();
  6828. c.moveTo(w * 0.4939, h * 0.1326);
  6829. c.lineTo(w * 0.4474, h * 0.1508);
  6830. c.lineTo(w * 0.4812, h * 0.1576);
  6831. c.moveTo(w * 0.4889, h * 0.1733);
  6832. c.lineTo(w * 0.4939, h * 0.1775);
  6833. c.moveTo(w * 0.5061, h * 0.1576);
  6834. c.lineTo(w * 0.5199, h * 0.1597);
  6835. c.moveTo(w * 0.5094, h * 0.1394);
  6836. c.lineTo(w * 0.5244, h * 0.1378);
  6837. c.moveTo(w * 0.4945, h * 0.1247);
  6838. c.lineTo(w * 0.4994, h * 0.1185);
  6839. c.moveTo(w * 0.4679, h * 0.1175);
  6840. c.lineTo(w * 0.4707, h * 0.1117);
  6841. c.moveTo(w * 0.4396, h * 0.1195);
  6842. c.lineTo(w * 0.4374, h * 0.1138);
  6843. c.moveTo(w * 0.412, h * 0.1284);
  6844. c.lineTo(w * 0.4059, h * 0.1232);
  6845. c.moveTo(w * 0.3948, h * 0.1441);
  6846. c.lineTo(w * 0.3804, h * 0.1425);
  6847. c.moveTo(w * 0.3931, h * 0.1608);
  6848. c.lineTo(w * 0.3804, h * 0.1649);
  6849. c.moveTo(w * 0.4059, h * 0.1754);
  6850. c.lineTo(w * 0.3998, h * 0.1801);
  6851. c.moveTo(w * 0.4308, h * 0.1822);
  6852. c.lineTo(w * 0.4286, h * 0.1884);
  6853. c.moveTo(w * 0.4618, h * 0.1827);
  6854. c.lineTo(w * 0.4635, h * 0.1868);
  6855. c.stroke();
  6856. c.setStrokeWidth(2 * strokeWidth);
  6857. c.setStrokeColor('#292929');
  6858. c.begin();
  6859. c.moveTo(0, h * 0.7281);
  6860. c.lineTo(w * 0.1667, h * 0.5444);
  6861. c.lineTo(w * 0.1667, h * 0.1832);
  6862. c.lineTo(w * 0.5011, 0);
  6863. c.lineTo(w * 0.8333, h * 0.1832);
  6864. c.lineTo(w * 0.8333, h * 0.5446);
  6865. c.lineTo(w, h * 0.7281);
  6866. c.lineTo(w * 0.7486, h * 0.7735);
  6867. c.lineTo(w * 0.5819, h * 0.8617);
  6868. c.lineTo(w * 0.5011, h);
  6869. c.lineTo(w * 0.4169, h * 0.8653);
  6870. c.lineTo(w * 0.2475, h * 0.7704);
  6871. c.close();
  6872. c.stroke();
  6873. };
  6874. mxCellRenderer.registerShape(mxShapeAws3dSecurityTokenService.prototype.cst.SECURITY_TOKEN_SERVICE, mxShapeAws3dSecurityTokenService);
  6875. //**********************************************************************************************************************************************************
  6876. //Glacier
  6877. //**********************************************************************************************************************************************************
  6878. /**
  6879. * Extends mxShape.
  6880. */
  6881. function mxShapeAws3dGlacier(bounds, fill, stroke, strokewidth)
  6882. {
  6883. mxShape.call(this);
  6884. this.bounds = bounds;
  6885. this.fill = fill;
  6886. this.stroke = stroke;
  6887. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6888. };
  6889. /**
  6890. * Extends mxShape.
  6891. */
  6892. mxUtils.extend(mxShapeAws3dGlacier, mxShape);
  6893. mxShapeAws3dGlacier.prototype.cst = {
  6894. GLACIER : 'mxgraph.aws3d.glacier',
  6895. SHADING_COLORS : 'shadingCols'
  6896. };
  6897. /**
  6898. * Function: paintVertexShape
  6899. *
  6900. * Paints the vertex shape.
  6901. */
  6902. mxShapeAws3dGlacier.prototype.paintVertexShape = function(c, x, y, w, h)
  6903. {
  6904. c.translate(x, y);
  6905. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6906. var strokeWidth1 = strokeWidth * w / 180;
  6907. var strokeWidth2 = strokeWidth * h / 192;
  6908. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6909. this.background(c, 0, 0, w, h, strokeWidth);
  6910. c.setShadow(false);
  6911. this.foreground(c, 0, 0, w, h, strokeWidth);
  6912. };
  6913. mxShapeAws3dGlacier.prototype.background = function(c, x, y, w, h, strokeWidth)
  6914. {
  6915. c.setStrokeWidth(strokeWidth);
  6916. c.save();
  6917. c.save();
  6918. c.setStrokeWidth(2 * strokeWidth);
  6919. c.setStrokeColor('#292929');
  6920. c.setLineJoin('round');
  6921. c.begin();
  6922. c.moveTo(0, h * 0.8177);
  6923. c.lineTo(0, h * 0.5448);
  6924. c.lineTo(w * 0.168, h * 0.1792);
  6925. c.lineTo(w * 0.5008, 0);
  6926. c.lineTo(w * 0.8309, h * 0.1812);
  6927. c.lineTo(w, h * 0.5469);
  6928. c.lineTo(w, h * 0.8188);
  6929. c.lineTo(w * 0.6661, h);
  6930. c.lineTo(w * 0.3333, h);
  6931. c.close();
  6932. c.fillAndStroke();
  6933. };
  6934. mxShapeAws3dGlacier.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6935. {
  6936. c.restore();
  6937. c.setShadow(false);
  6938. c.setFillColor('#000000');
  6939. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dGlacier.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6940. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6941. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6942. c.begin();
  6943. c.moveTo(w * 0.1658, h * 0.1802);
  6944. c.lineTo(w * 0.5008, h * 0.3651);
  6945. c.lineTo(w * 0.6661, h * 0.9089);
  6946. c.lineTo(w * 0.6661, h);
  6947. c.lineTo(w * 0.3339, h);
  6948. c.lineTo(0, h * 0.8177);
  6949. c.lineTo(0, h * 0.5427);
  6950. c.close();
  6951. c.fill();
  6952. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6953. c.begin();
  6954. c.moveTo(w * 0.5008, h * 0.362);
  6955. c.lineTo(w * 0.8314, h * 0.1823);
  6956. c.lineTo(w, h * 0.5469);
  6957. c.lineTo(w, h * 0.8177);
  6958. c.lineTo(w * 0.6661, h);
  6959. c.lineTo(w * 0.6661, h * 0.9089);
  6960. c.close();
  6961. c.fill();
  6962. c.restore();
  6963. c.setShadow(false);
  6964. c.setLineJoin('round');
  6965. c.begin();
  6966. c.moveTo(w * 0.1658, h * 0.1802);
  6967. c.lineTo(w * 0.5008, h * 0.3651);
  6968. c.lineTo(w * 0.6661, h * 0.9089);
  6969. c.lineTo(w * 0.6661, h);
  6970. c.lineTo(w * 0.3339, h);
  6971. c.lineTo(0, h * 0.8177);
  6972. c.lineTo(0, h * 0.5427);
  6973. c.close();
  6974. c.moveTo(w * 0.5008, h * 0.362);
  6975. c.lineTo(w * 0.8314, h * 0.1823);
  6976. c.lineTo(w, h * 0.5469);
  6977. c.lineTo(w, h * 0.8177);
  6978. c.lineTo(w * 0.6661, h);
  6979. c.lineTo(w * 0.6661, h * 0.9089);
  6980. c.close();
  6981. c.moveTo(w * 0.1675, h * 0.1797);
  6982. c.lineTo(0, h * 0.7281);
  6983. c.lineTo(w * 0.3284, h * 0.9089);
  6984. c.lineTo(w * 0.6661, h * 0.9089);
  6985. c.lineTo(w, h * 0.7266);
  6986. c.lineTo(w * 0.8309, h * 0.1823);
  6987. c.moveTo(w * 0.5003, h * 0.362);
  6988. c.lineTo(w * 0.3311, h * 0.9089);
  6989. c.lineTo(w * 0.3311, h);
  6990. c.stroke();
  6991. c.setStrokeWidth(2 * strokeWidth);
  6992. c.setStrokeColor('#292929');
  6993. c.begin();
  6994. c.moveTo(0, h * 0.8177);
  6995. c.lineTo(0, h * 0.5448);
  6996. c.lineTo(w * 0.168, h * 0.1792);
  6997. c.lineTo(w * 0.5008, 0);
  6998. c.lineTo(w * 0.8309, h * 0.1812);
  6999. c.lineTo(w, h * 0.5469);
  7000. c.lineTo(w, h * 0.8188);
  7001. c.lineTo(w * 0.6661, h);
  7002. c.lineTo(w * 0.3333, h);
  7003. c.close();
  7004. c.stroke();
  7005. };
  7006. mxCellRenderer.registerShape(mxShapeAws3dGlacier.prototype.cst.GLACIER, mxShapeAws3dGlacier);
  7007. //**********************************************************************************************************************************************************
  7008. //Customer Gateway
  7009. //**********************************************************************************************************************************************************
  7010. /**
  7011. * Extends mxShape.
  7012. */
  7013. function mxShapeAws3dCustomerGateway(bounds, fill, stroke, strokewidth)
  7014. {
  7015. mxShape.call(this);
  7016. this.bounds = bounds;
  7017. this.fill = fill;
  7018. this.stroke = stroke;
  7019. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7020. };
  7021. /**
  7022. * Extends mxShape.
  7023. */
  7024. mxUtils.extend(mxShapeAws3dCustomerGateway, mxShape);
  7025. mxShapeAws3dCustomerGateway.prototype.cst = {
  7026. CUSTOMER_GATEWAY : 'mxgraph.aws3d.customerGateway',
  7027. SHADING_COLORS : 'shadingCols'
  7028. };
  7029. /**
  7030. * Function: paintVertexShape
  7031. *
  7032. * Paints the vertex shape.
  7033. */
  7034. mxShapeAws3dCustomerGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  7035. {
  7036. c.translate(x, y);
  7037. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7038. var strokeWidth1 = strokeWidth * w / 116.7;
  7039. var strokeWidth2 = strokeWidth * h / 102.8;
  7040. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7041. this.background(c, 0, 0, w, h, strokeWidth);
  7042. c.setShadow(false);
  7043. this.foreground(c, 0, 0, w, h, strokeWidth);
  7044. };
  7045. mxShapeAws3dCustomerGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  7046. {
  7047. c.setStrokeWidth(strokeWidth);
  7048. c.save();
  7049. c.save();
  7050. c.save();
  7051. c.save();
  7052. c.save();
  7053. c.setStrokeWidth(2 * strokeWidth);
  7054. c.setStrokeColor('#292929');
  7055. c.setLineJoin('round');
  7056. c.begin();
  7057. c.moveTo(w * 0.4199, h * 0.5447);
  7058. c.lineTo(w * 0.4199, h * 0.035);
  7059. c.lineTo(w * 0.8946, 0);
  7060. c.lineTo(w, h * 0.0691);
  7061. c.lineTo(w, h * 0.4134);
  7062. c.lineTo(w * 0.6812, h * 0.7247);
  7063. c.close();
  7064. c.fillAndStroke();
  7065. c.restore();
  7066. c.save();
  7067. c.setShadow(false);
  7068. c.setFillColor('#000000');
  7069. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7070. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7071. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7072. c.begin();
  7073. c.moveTo(w * 0.4199, h * 0.5447);
  7074. c.lineTo(w * 0.4199, h * 0.035);
  7075. c.lineTo(w * 0.6838, h * 0.2072);
  7076. c.lineTo(w * 0.6838, h * 0.7247);
  7077. c.close();
  7078. c.fill();
  7079. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7080. c.begin();
  7081. c.moveTo(w * 0.6838, h * 0.2072);
  7082. c.lineTo(w, h * 0.0691);
  7083. c.lineTo(w, h * 0.4134);
  7084. c.lineTo(w * 0.6838, h * 0.7247);
  7085. c.close();
  7086. c.fill();
  7087. c.restore();
  7088. c.setShadow(false);
  7089. c.begin();
  7090. c.moveTo(w * 0.4199, h * 0.5447);
  7091. c.lineTo(w * 0.4199, h * 0.035);
  7092. c.lineTo(w * 0.6838, h * 0.2072);
  7093. c.lineTo(w * 0.6838, h * 0.7247);
  7094. c.close();
  7095. c.stroke();
  7096. c.restore();
  7097. c.setLineJoin('round');
  7098. c.setShadow(false);
  7099. c.begin();
  7100. c.moveTo(w * 0.6838, h * 0.2072);
  7101. c.lineTo(w, h * 0.0691);
  7102. c.lineTo(w, h * 0.4134);
  7103. c.lineTo(w * 0.6838, h * 0.7247);
  7104. c.close();
  7105. c.stroke();
  7106. c.setStrokeWidth(2 * strokeWidth);
  7107. c.setStrokeColor('#292929');
  7108. c.begin();
  7109. c.moveTo(w * 0.4199, h * 0.5447);
  7110. c.lineTo(w * 0.4199, h * 0.035);
  7111. c.lineTo(w * 0.8946, 0);
  7112. c.lineTo(w, h * 0.0691);
  7113. c.lineTo(w, h * 0.4134);
  7114. c.lineTo(w * 0.6812, h * 0.7247);
  7115. c.close();
  7116. c.stroke();
  7117. c.restore();
  7118. c.setStrokeWidth(2 * strokeWidth);
  7119. c.setStrokeColor('#292929');
  7120. c.setLineJoin('round');
  7121. c.begin();
  7122. c.moveTo(0, h * 0.929);
  7123. c.lineTo(0, h * 0.5866);
  7124. c.lineTo(w * 0.3171, h * 0.1031);
  7125. c.lineTo(w * 0.5784, h * 0.2753);
  7126. c.lineTo(w * 0.5784, h * 0.7928);
  7127. c.lineTo(w * 0.1054, h);
  7128. c.close();
  7129. c.fillAndStroke();
  7130. };
  7131. mxShapeAws3dCustomerGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  7132. {
  7133. c.restore();
  7134. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  7135. c.setShadow(false);
  7136. c.setLineJoin('round');
  7137. c.setFillColor('#000000');
  7138. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7139. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7140. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7141. c.begin();
  7142. c.moveTo(0, h * 0.929);
  7143. c.lineTo(0, h * 0.5866);
  7144. c.lineTo(w * 0.1054, h * 0.6537);
  7145. c.lineTo(w * 0.1054, h);
  7146. c.close();
  7147. c.fill();
  7148. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7149. c.begin();
  7150. c.moveTo(w * 0.1054, h);
  7151. c.lineTo(w * 0.1054, h * 0.6537);
  7152. c.lineTo(w * 0.5784, h * 0.2753);
  7153. c.lineTo(w * 0.5784, h * 0.7928);
  7154. c.close();
  7155. c.fill();
  7156. c.restore();
  7157. c.setShadow(false);
  7158. c.setLineJoin('round');
  7159. c.begin();
  7160. c.moveTo(0, h * 0.929);
  7161. c.lineTo(0, h * 0.5866);
  7162. c.lineTo(w * 0.1054, h * 0.6537);
  7163. c.lineTo(w * 0.1054, h);
  7164. c.close();
  7165. c.stroke();
  7166. c.begin();
  7167. c.moveTo(w * 0.1054, h);
  7168. c.lineTo(w * 0.1054, h * 0.6537);
  7169. c.lineTo(w * 0.5784, h * 0.2753);
  7170. c.lineTo(w * 0.5784, h * 0.7928);
  7171. c.close();
  7172. c.stroke();
  7173. c.setStrokeWidth(2 * strokeWidth);
  7174. c.setStrokeColor('#292929');
  7175. c.setLineJoin('round');
  7176. c.begin();
  7177. c.moveTo(0, h * 0.929);
  7178. c.lineTo(0, h * 0.5866);
  7179. c.lineTo(w * 0.3171, h * 0.1031);
  7180. c.lineTo(w * 0.5784, h * 0.2753);
  7181. c.lineTo(w * 0.5784, h * 0.7928);
  7182. c.lineTo(w * 0.1054, h);
  7183. c.close();
  7184. c.stroke();
  7185. c.setFillColor(strokeColor);
  7186. c.begin();
  7187. c.moveTo(w * 0.7575, h * 0.3969);
  7188. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.7686, h * 0.3259);
  7189. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8055, h * 0.2481);
  7190. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8406, h * 0.2091);
  7191. c.lineTo(w * 0.8269, h * 0.2665);
  7192. c.lineTo(w * 0.8372, h * 0.2607);
  7193. c.lineTo(w * 0.8372, h * 0.3444);
  7194. c.lineTo(w * 0.7832, h * 0.3804);
  7195. c.lineTo(w * 0.7832, h * 0.3658);
  7196. c.close();
  7197. c.moveTo(w * 0.8466, h * 0.2082);
  7198. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.8766, h * 0.1955);
  7199. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.9186, h * 0.2286);
  7200. c.arcTo(w * 0.12, h * 0.1362, 0, 0, 1, w * 0.9297, h * 0.2821);
  7201. c.lineTo(w * 0.9006, h * 0.2831);
  7202. c.lineTo(w * 0.9006, h * 0.3016);
  7203. c.lineTo(w * 0.85, h * 0.3366);
  7204. c.lineTo(w * 0.85, h * 0.251);
  7205. c.lineTo(w * 0.8586, h * 0.2471);
  7206. c.close();
  7207. c.moveTo(w * 0.9297, h * 0.2967);
  7208. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.9195, h * 0.3667);
  7209. c.arcTo(w * 0.2571, h * 0.2918, 0, 0, 1, w * 0.8869, h * 0.4436);
  7210. c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.8466, h * 0.4903);
  7211. c.lineTo(w * 0.8595, h * 0.4358);
  7212. c.lineTo(w * 0.8492, h * 0.4416);
  7213. c.lineTo(w * 0.8492, h * 0.357);
  7214. c.lineTo(w * 0.9006, h * 0.32004);
  7215. c.lineTo(w * 0.9006, h * 0.3346);
  7216. c.close();
  7217. c.moveTo(w * 0.838, h * 0.4942);
  7218. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8072, h * 0.5049);
  7219. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.7712, h * 0.4815);
  7220. c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.7566, h * 0.4163);
  7221. c.lineTo(w * 0.7832, h * 0.4173);
  7222. c.lineTo(w * 0.7832, h * 0.4008);
  7223. c.lineTo(w * 0.8372, h * 0.3638);
  7224. c.lineTo(w * 0.8372, h * 0.4494);
  7225. c.lineTo(w * 0.8278, h * 0.4562);
  7226. c.close();
  7227. c.fill();
  7228. };
  7229. mxCellRenderer.registerShape(mxShapeAws3dCustomerGateway.prototype.cst.CUSTOMER_GATEWAY, mxShapeAws3dCustomerGateway);
  7230. //**********************************************************************************************************************************************************
  7231. //Redshift
  7232. //**********************************************************************************************************************************************************
  7233. /**
  7234. * Extends mxShape.
  7235. */
  7236. function mxShapeAws3dRedshift(bounds, fill, stroke, strokewidth)
  7237. {
  7238. mxShape.call(this);
  7239. this.bounds = bounds;
  7240. this.fill = fill;
  7241. this.stroke = stroke;
  7242. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7243. };
  7244. /**
  7245. * Extends mxShape.
  7246. */
  7247. mxUtils.extend(mxShapeAws3dRedshift, mxShape);
  7248. mxShapeAws3dRedshift.prototype.cst = {
  7249. REDSHIFT : 'mxgraph.aws3d.redshift',
  7250. SHADING_COLORS : 'shadingCols'
  7251. };
  7252. /**
  7253. * Function: paintVertexShape
  7254. *
  7255. * Paints the vertex shape.
  7256. */
  7257. mxShapeAws3dRedshift.prototype.paintVertexShape = function(c, x, y, w, h)
  7258. {
  7259. c.translate(x, y);
  7260. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7261. var strokeWidth1 = strokeWidth * w / 149.5;
  7262. var strokeWidth2 = strokeWidth * h / 187.5;
  7263. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7264. this.background(c, 0, 0, w, h, strokeWidth);
  7265. c.setShadow(false);
  7266. this.foreground(c, 0, 0, w, h, strokeWidth);
  7267. };
  7268. mxShapeAws3dRedshift.prototype.background = function(c, x, y, w, h, strokeWidth)
  7269. {
  7270. c.setStrokeWidth(strokeWidth);
  7271. c.save();
  7272. c.save();
  7273. c.save();
  7274. c.setStrokeWidth(2 * strokeWidth);
  7275. c.setStrokeColor('#292929');
  7276. c.setLineJoin('round');
  7277. c.begin();
  7278. c.moveTo(0, h * 0.6517);
  7279. c.lineTo(0, h * 0.0912);
  7280. c.lineTo(w * 0.0368, h * 0.0155);
  7281. c.lineTo(w * 0.2047, 0);
  7282. c.lineTo(w * 0.3378, h * 0.0619);
  7283. c.lineTo(w * 0.3378, h * 0.0912);
  7284. c.lineTo(w * 0.3819, h * 0.0693);
  7285. c.lineTo(w * 0.6154, h * 0.0693);
  7286. c.lineTo(w * 0.8502, h * 0.1776);
  7287. c.lineTo(w * 0.8502, h * 0.3083);
  7288. c.lineTo(w * 0.8682, h * 0.3061);
  7289. c.lineTo(w, h * 0.3664);
  7290. c.lineTo(w, h * 0.9099);
  7291. c.lineTo(w * 0.9672, h * 0.9861);
  7292. c.lineTo(w * 0.7926, h);
  7293. c.lineTo(w * 0.6629, h * 0.9392);
  7294. c.lineTo(w * 0.6629, h * 0.9099);
  7295. c.lineTo(w * 0.6167, h * 0.9317);
  7296. c.lineTo(w * 0.3813, h * 0.9317);
  7297. c.lineTo(w * 0.1478, h * 0.8219);
  7298. c.lineTo(w * 0.1478, h * 0.7093);
  7299. c.lineTo(w * 0.1365, h * 0.7163);
  7300. c.close();
  7301. c.fillAndStroke();
  7302. };
  7303. mxShapeAws3dRedshift.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  7304. {
  7305. c.restore();
  7306. c.setShadow(false);
  7307. c.setFillColor('#000000');
  7308. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRedshift.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7309. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7310. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7311. c.begin();
  7312. c.moveTo(0, h * 0.6541);
  7313. c.lineTo(0, h * 0.0933);
  7314. c.lineTo(w * 0.1371, h * 0.1573);
  7315. c.lineTo(w * 0.1371, h * 0.7157);
  7316. c.close();
  7317. c.moveTo(w * 0.1485, h * 0.8219);
  7318. c.lineTo(w * 0.1485, h * 0.2864);
  7319. c.lineTo(w * 0.3846, h * 0.3941);
  7320. c.lineTo(w * 0.3846, h * 0.9317);
  7321. c.close();
  7322. c.moveTo(w * 0.6642, h * 0.9392);
  7323. c.lineTo(w * 0.6642, h * 0.4011);
  7324. c.lineTo(w * 0.796, h * 0.4597);
  7325. c.lineTo(w * 0.796, h);
  7326. c.close();
  7327. c.fill();
  7328. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7329. c.begin();
  7330. c.moveTo(w * 0.1371, h * 0.7157);
  7331. c.lineTo(w * 0.1371, h * 0.1568);
  7332. c.lineTo(w * 0.2027, h * 0.1525);
  7333. c.lineTo(w * 0.1498, h * 0.1771);
  7334. c.lineTo(w * 0.1498, h * 0.7061);
  7335. c.close();
  7336. c.moveTo(w * 0.3846, h * 0.3941);
  7337. c.lineTo(w * 0.614, h * 0.3941);
  7338. c.lineTo(w * 0.6809, h * 0.3632);
  7339. c.lineTo(w * 0.6642, h * 0.4);
  7340. c.lineTo(w * 0.6642, h * 0.9067);
  7341. c.lineTo(w * 0.6191, h * 0.9317);
  7342. c.lineTo(w * 0.3833, h * 0.9317);
  7343. c.close();
  7344. c.moveTo(w * 0.796, h * 0.4608);
  7345. c.lineTo(w * 0.9639, h * 0.4469);
  7346. c.lineTo(w, h * 0.3691);
  7347. c.lineTo(w, h * 0.9077);
  7348. c.lineTo(w * 0.9686, h * 0.9856);
  7349. c.lineTo(w * 0.796, h);
  7350. c.close();
  7351. c.moveTo(w * 0.3378, h * 0.0608);
  7352. c.lineTo(w * 0.3378, h * 0.0907);
  7353. c.lineTo(w * 0.3197, h * 0.1008);
  7354. c.close();
  7355. c.moveTo(w * 0.8502, h * 0.2843);
  7356. c.lineTo(w * 0.8502, h * 0.3083);
  7357. c.lineTo(w * 0.794, h * 0.3136);
  7358. c.close();
  7359. c.fill();
  7360. c.restore();
  7361. c.setShadow(false);
  7362. c.setLineJoin('round');
  7363. c.begin();
  7364. c.moveTo(0, h * 0.6541);
  7365. c.lineTo(0, h * 0.0933);
  7366. c.lineTo(w * 0.1371, h * 0.1573);
  7367. c.lineTo(w * 0.1371, h * 0.7157);
  7368. c.close();
  7369. c.moveTo(w * 0.1485, h * 0.8219);
  7370. c.lineTo(w * 0.1485, h * 0.2864);
  7371. c.lineTo(w * 0.3846, h * 0.3941);
  7372. c.lineTo(w * 0.3846, h * 0.9317);
  7373. c.close();
  7374. c.moveTo(w * 0.6642, h * 0.9392);
  7375. c.lineTo(w * 0.6642, h * 0.4011);
  7376. c.lineTo(w * 0.796, h * 0.4597);
  7377. c.lineTo(w * 0.796, h);
  7378. c.close();
  7379. c.moveTo(w * 0.1371, h * 0.7157);
  7380. c.lineTo(w * 0.1371, h * 0.1568);
  7381. c.lineTo(w * 0.2027, h * 0.1525);
  7382. c.lineTo(w * 0.1498, h * 0.1771);
  7383. c.lineTo(w * 0.1498, h * 0.7061);
  7384. c.close();
  7385. c.moveTo(w * 0.3846, h * 0.3941);
  7386. c.lineTo(w * 0.614, h * 0.3941);
  7387. c.lineTo(w * 0.6809, h * 0.3632);
  7388. c.lineTo(w * 0.6642, h * 0.4);
  7389. c.lineTo(w * 0.6642, h * 0.9067);
  7390. c.lineTo(w * 0.6191, h * 0.9317);
  7391. c.lineTo(w * 0.3833, h * 0.9317);
  7392. c.close();
  7393. c.moveTo(w * 0.796, h * 0.4608);
  7394. c.lineTo(w * 0.9639, h * 0.4469);
  7395. c.lineTo(w, h * 0.3691);
  7396. c.lineTo(w, h * 0.9077);
  7397. c.lineTo(w * 0.9686, h * 0.9856);
  7398. c.lineTo(w * 0.796, h);
  7399. c.close();
  7400. c.moveTo(w * 0.3378, h * 0.0608);
  7401. c.lineTo(w * 0.3378, h * 0.0907);
  7402. c.lineTo(w * 0.3197, h * 0.1008);
  7403. c.close();
  7404. c.moveTo(w * 0.8502, h * 0.2843);
  7405. c.lineTo(w * 0.8502, h * 0.3083);
  7406. c.lineTo(w * 0.794, h * 0.3136);
  7407. c.close();
  7408. c.moveTo(w * 0.6167, h * 0.3941);
  7409. c.lineTo(w * 0.6167, h * 0.9317);
  7410. c.moveTo(w * 0.9652, h * 0.4448);
  7411. c.lineTo(w * 0.9652, h * 0.9851);
  7412. c.stroke();
  7413. c.restore();
  7414. c.setShadow(false);
  7415. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  7416. c.setFillColor(strokeColor);
  7417. c.begin();
  7418. c.moveTo(w * 0.4903, h * 0.1259);
  7419. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.5023, h * 0.1189);
  7420. c.arcTo(w * 0.2007, h * 0.16, 0, 0, 1, w * 0.5639, h * 0.1333);
  7421. c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.7157, h * 0.2005);
  7422. c.arcTo(w * 0.2006, h * 0.16, 0, 0, 1, w * 0.7565, h * 0.2315);
  7423. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.7445, h * 0.2421);
  7424. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.6742, h * 0.2251);
  7425. c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.5204, h * 0.1541);
  7426. c.arcTo(w * 0.1338, h * 0.1067, 0, 0, 1, w * 0.4903, h * 0.1259);
  7427. c.close();
  7428. c.moveTo(w * 0.4789, h * 0.1275);
  7429. c.arcTo(w * 0.0334, h * 0.0267, 0, 0, 0, w * 0.487, h * 0.1461);
  7430. c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 0, w * 0.5237, h * 0.1728);
  7431. c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 0, w * 0.6609, h * 0.2352);
  7432. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 0, w * 0.7244, h * 0.2501);
  7433. c.arcTo(w * 0.0201, h * 0.016, 0, 0, 0, w * 0.7411, h * 0.2475);
  7434. c.lineTo(w * 0.5385, h * 0.3408);
  7435. c.arcTo(w * 0.0669, h * 0.05333, 0, 0, 1, w * 0.512, h * 0.3397);
  7436. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.4548, h * 0.3248);
  7437. c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 1, w * 0.3084, h * 0.2565);
  7438. c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 1, w * 0.2776, h * 0.2304);
  7439. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.2776, h * 0.2197);
  7440. c.close();
  7441. c.fill();
  7442. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  7443. c.setFillColor(fillColor);
  7444. c.setLineJoin('round');
  7445. c.setLineCap('round');
  7446. c.begin();
  7447. c.moveTo(w * 0.3398, h * 0.2421);
  7448. c.lineTo(w * 0.4769, h * 0.1797);
  7449. c.lineTo(w * 0.6341, h * 0.2512);
  7450. c.lineTo(w * 0.4936, h * 0.3147);
  7451. c.fill();
  7452. c.begin();
  7453. c.moveTo(w * 0.4334, h * 0.1941);
  7454. c.lineTo(w * 0.6207, h * 0.2811);
  7455. c.moveTo(w * 0.5338, h * 0.1995);
  7456. c.lineTo(w * 0.3866, h * 0.2688);
  7457. c.moveTo(w * 0.5873, h * 0.2235);
  7458. c.lineTo(w * 0.4334, h * 0.2955);
  7459. c.stroke();
  7460. c.setStrokeWidth(2 * strokeWidth);
  7461. c.setStrokeColor('#292929');
  7462. c.begin();
  7463. c.moveTo(0, h * 0.6517);
  7464. c.lineTo(0, h * 0.0912);
  7465. c.lineTo(w * 0.0368, h * 0.0155);
  7466. c.lineTo(w * 0.2047, 0);
  7467. c.lineTo(w * 0.3378, h * 0.0619);
  7468. c.lineTo(w * 0.3378, h * 0.0912);
  7469. c.lineTo(w * 0.3819, h * 0.0693);
  7470. c.lineTo(w * 0.6154, h * 0.0693);
  7471. c.lineTo(w * 0.8502, h * 0.1776);
  7472. c.lineTo(w * 0.8502, h * 0.3083);
  7473. c.lineTo(w * 0.8682, h * 0.3061);
  7474. c.lineTo(w, h * 0.3664);
  7475. c.lineTo(w, h * 0.9099);
  7476. c.lineTo(w * 0.9672, h * 0.9861);
  7477. c.lineTo(w * 0.7926, h);
  7478. c.lineTo(w * 0.6629, h * 0.9392);
  7479. c.lineTo(w * 0.6629, h * 0.9099);
  7480. c.lineTo(w * 0.6167, h * 0.9317);
  7481. c.lineTo(w * 0.3813, h * 0.9317);
  7482. c.lineTo(w * 0.1478, h * 0.8219);
  7483. c.lineTo(w * 0.1478, h * 0.7093);
  7484. c.lineTo(w * 0.1365, h * 0.7163);
  7485. c.close();
  7486. c.stroke();
  7487. };
  7488. mxCellRenderer.registerShape(mxShapeAws3dRedshift.prototype.cst.REDSHIFT, mxShapeAws3dRedshift);
  7489. //**********************************************************************************************************************************************************
  7490. //Lambda
  7491. //**********************************************************************************************************************************************************
  7492. /**
  7493. * Extends mxShape.
  7494. */
  7495. function mxShapeAws3dLambda(bounds, fill, stroke, strokewidth)
  7496. {
  7497. mxShape.call(this);
  7498. this.bounds = bounds;
  7499. this.fill = fill;
  7500. this.stroke = stroke;
  7501. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7502. };
  7503. /**
  7504. * Extends mxShape.
  7505. */
  7506. mxUtils.extend(mxShapeAws3dLambda, mxShape);
  7507. mxShapeAws3dLambda.prototype.cst = {
  7508. LAMBDA : 'mxgraph.aws3d.lambda',
  7509. SHADING_COLORS : 'shadingCols'
  7510. };
  7511. /**
  7512. * Function: paintVertexShape
  7513. *
  7514. * Paints the vertex shape.
  7515. */
  7516. mxShapeAws3dLambda.prototype.paintVertexShape = function(c, x, y, w, h)
  7517. {
  7518. c.translate(x, y);
  7519. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7520. var strokeWidth1 = strokeWidth * w / 92;
  7521. var strokeWidth2 = strokeWidth * h / 109.5;
  7522. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7523. this.background(c, 0, 0, w, h, strokeWidth);
  7524. c.setShadow(false);
  7525. this.foreground(c, 0, 0, w, h, strokeWidth);
  7526. };
  7527. mxShapeAws3dLambda.prototype.background = function(c, x, y, w, h, strokeWidth)
  7528. {
  7529. c.setStrokeWidth(strokeWidth);
  7530. c.save();
  7531. c.save();
  7532. c.setStrokeWidth(2 * strokeWidth);
  7533. c.setStrokeColor('#292929');
  7534. c.setLineJoin('round');
  7535. c.begin();
  7536. c.moveTo(0, h * 0.1671);
  7537. c.lineTo(w * 0.3424, 0);
  7538. c.lineTo(w * 0.663, 0);
  7539. c.lineTo(w, h * 0.1671);
  7540. c.lineTo(w, h * 0.8365);
  7541. c.lineTo(w * 0.663, h);
  7542. c.lineTo(w * 0.3424, h);
  7543. c.lineTo(0, h * 0.8365);
  7544. c.close();
  7545. c.fillAndStroke();
  7546. };
  7547. mxShapeAws3dLambda.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  7548. {
  7549. c.restore();
  7550. c.setShadow(false);
  7551. c.setFillColor('#000000');
  7552. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dLambda.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7553. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7554. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7555. c.begin();
  7556. c.moveTo(0, h * 0.3242);
  7557. c.lineTo(w * 0.3424, h * 0.4895);
  7558. c.lineTo(w * 0.663, h * 0.4895);
  7559. c.lineTo(w * 0.663, h);
  7560. c.lineTo(w * 0.3424, h);
  7561. c.lineTo(0, h * 0.8365);
  7562. c.close();
  7563. c.moveTo(w * 0., h * 0.);
  7564. c.lineTo(w * 0., h * 0.);
  7565. c.lineTo(w * 0., h * 0.);
  7566. c.lineTo(w * 0., h * 0.);
  7567. c.lineTo(w * 0., h * 0.);
  7568. c.lineTo(w * 0., h * 0.);
  7569. c.close();
  7570. c.moveTo(w * 0., h * 0.);
  7571. c.lineTo(w * 0., h * 0.);
  7572. c.lineTo(w * 0., h * 0.);
  7573. c.lineTo(w * 0., h * 0.);
  7574. c.lineTo(w * 0., h * 0.);
  7575. c.lineTo(w * 0., h * 0.);
  7576. c.close();
  7577. c.fill();
  7578. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7579. c.begin();
  7580. c.moveTo(w * 0.663, h * 0.4895);
  7581. c.lineTo(w, h * 0.3242);
  7582. c.lineTo(w, h * 0.8365);
  7583. c.lineTo(w * 0.663, h);
  7584. c.close();
  7585. c.fill();
  7586. c.restore();
  7587. c.setShadow(false);
  7588. c.setLineJoin('round');
  7589. c.begin();
  7590. c.moveTo(0, h * 0.3242);
  7591. c.lineTo(w * 0.3424, h * 0.4895);
  7592. c.lineTo(w * 0.663, h * 0.4895);
  7593. c.lineTo(w, h * 0.3242);
  7594. c.moveTo(w * 0.3424, h * 0.4895);
  7595. c.lineTo(w * 0.3424, h);
  7596. c.moveTo(w * 0.663, h * 0.4895);
  7597. c.lineTo(w * 0.663, h);
  7598. c.stroke();
  7599. c.setFillColor("#5E5E5E");
  7600. c.begin();
  7601. c.moveTo(w * 0.3804, h * 0.1169);
  7602. c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.6087, h * 0.1123);
  7603. c.arcTo(w * 0.33804, h * 0.3196, 0, 0, 1, w * 0.725, h * 0.1553);
  7604. c.arcTo(w * 0.1304, h * 0.1096, 0, 0, 1, w * 0.7924, h * 0.2402);
  7605. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.725, h * 0.3333);
  7606. c.arcTo(w * 0.4416, h * 0.274, 0, 0, 1, w * 0.6087, h * 0.3772);
  7607. c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.3804, h * 0.3708);
  7608. c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.2772, h * 0.3324);
  7609. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2163, h * 0.2539);
  7610. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2663, h * 0.1644);
  7611. c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.3804, h * 0.1169);
  7612. c.fill();
  7613. c.setFillColor("#ffffff");
  7614. c.begin();
  7615. c.moveTo(w * 0.5565, h * 0.2174);
  7616. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.5837, h * 0.1945);
  7617. c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 0, w * 0.5793, h * 0.1671);
  7618. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.525, h * 0.1598);
  7619. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 1, w * 0.5543, h * 0.1443);
  7620. c.arcTo(w * 0.0761, h * 0.0639, 0, 0, 1, w * 0.6163, h * 0.1662);
  7621. c.arcTo(w * 0.0598, h * 0.0502, 0, 0, 1, w * 0.6087, h * 0.2091);
  7622. c.lineTo(w * 0.5, h * 0.3032);
  7623. c.arcTo(w * 0.0978, h * 0.0822, 0, 0, 0, w * 0.4728, h * 0.3379);
  7624. c.arcTo(w * 0.0272, h * 0.0228, 0, 0, 0, w * 0.4924, h * 0.3571);
  7625. c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 1, w * 0.4489, h * 0.3571);
  7626. c.arcTo(w * 0.038, h * 0.032, 0, 0, 1, w * 0.437, h * 0.3242);
  7627. c.arcTo(w * 0.1087, h * 0.0913, 0, 0, 1, w * 0.4674, h * 0.2886);
  7628. c.lineTo(w * 0.5141, h * 0.2557);
  7629. c.lineTo(w * 0.3185, h * 0.2895);
  7630. c.lineTo(w * 0.2641, h * 0.2648);
  7631. c.close();
  7632. c.fill();
  7633. c.setStrokeWidth(2 * strokeWidth);
  7634. c.setStrokeColor('#292929');
  7635. c.begin();
  7636. c.moveTo(0, h * 0.1671);
  7637. c.lineTo(w * 0.3424, 0);
  7638. c.lineTo(w * 0.663, 0);
  7639. c.lineTo(w, h * 0.1671);
  7640. c.lineTo(w, h * 0.8365);
  7641. c.lineTo(w * 0.663, h);
  7642. c.lineTo(w * 0.3424, h);
  7643. c.lineTo(0, h * 0.8365);
  7644. c.close();
  7645. c.stroke();
  7646. };
  7647. mxCellRenderer.registerShape(mxShapeAws3dLambda.prototype.cst.LAMBDA, mxShapeAws3dLambda);
  7648. //**********************************************************************************************************************************************************
  7649. //EBS 2
  7650. //**********************************************************************************************************************************************************
  7651. /**
  7652. * Extends mxShape.
  7653. */
  7654. function mxShapeAws3dEbs2(bounds, fill, stroke, strokewidth)
  7655. {
  7656. mxShape.call(this);
  7657. this.bounds = bounds;
  7658. this.fill = fill;
  7659. this.stroke = stroke;
  7660. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7661. };
  7662. /**
  7663. * Extends mxShape.
  7664. */
  7665. mxUtils.extend(mxShapeAws3dEbs2, mxShape);
  7666. mxShapeAws3dEbs2.prototype.cst = {
  7667. EBS2 : 'mxgraph.aws3d.ebs2',
  7668. SHADING_COLORS : 'shadingCols'
  7669. };
  7670. /**
  7671. * Function: paintVertexShape
  7672. *
  7673. * Paints the vertex shape.
  7674. */
  7675. mxShapeAws3dEbs2.prototype.paintVertexShape = function(c, x, y, w, h)
  7676. {
  7677. c.translate(x, y);
  7678. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7679. var strokeWidth1 = strokeWidth * w / 92;
  7680. var strokeWidth2 = strokeWidth * h / 60;
  7681. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  7682. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7683. c.setStrokeWidth(strokeWidth);
  7684. c.setShadow(false);
  7685. c.save();
  7686. c.save();
  7687. c.setStrokeWidth(2 * strokeWidth);
  7688. c.setStrokeColor('#292929');
  7689. c.setLineJoin('round');
  7690. if(isShadow == 1)
  7691. {
  7692. c.setShadow(true);
  7693. }
  7694. c.begin();
  7695. c.moveTo(0, h * 0.5276);
  7696. c.lineTo(0, h * 0.4188);
  7697. c.lineTo(w * 0.071, h * 0.2898);
  7698. c.lineTo(w * 0.4033, 0);
  7699. c.lineTo(w * 0.9301, h * 0.464);
  7700. c.lineTo(w, h * 0.5863);
  7701. c.lineTo(w, h * 0.7035);
  7702. c.lineTo(w * 0.6667, h);
  7703. c.lineTo(w * 0.5355, h);
  7704. c.close();
  7705. c.fillAndStroke();
  7706. c.restore();
  7707. c.setFillColor('#000000');
  7708. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7709. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7710. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7711. c.begin();
  7712. c.moveTo(w * 0.071, h * 0.2948);
  7713. c.lineTo(w * 0.6011, h * 0.7621);
  7714. c.lineTo(w * 0.6667, h);
  7715. c.lineTo(w * 0.5355, h);
  7716. c.lineTo(0, h * 0.5276);
  7717. c.lineTo(0, h * 0.4137);
  7718. c.close();
  7719. c.fill();
  7720. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7721. c.begin();
  7722. c.moveTo(w * 0.6011, h * 0.7655);
  7723. c.lineTo(w * 0.9344, h * 0.4724);
  7724. c.lineTo(w, h * 0.7035);
  7725. c.lineTo(w * 0.6667, h);
  7726. c.close();
  7727. c.fill();
  7728. c.restore();
  7729. c.setLineJoin('round');
  7730. c.begin();
  7731. c.moveTo(w * 0.071, h * 0.2948);
  7732. c.lineTo(w * 0.6011, h * 0.7621);
  7733. c.lineTo(w * 0.6667, h);
  7734. c.lineTo(w * 0.5355, h);
  7735. c.lineTo(0, h * 0.5276);
  7736. c.lineTo(0, h * 0.4137);
  7737. c.close();
  7738. c.moveTo(w * 0.6011, h * 0.7655);
  7739. c.lineTo(w * 0.9344, h * 0.4724);
  7740. c.lineTo(w, h * 0.7035);
  7741. c.lineTo(w * 0.6667, h);
  7742. c.close();
  7743. c.moveTo(w * 0.0033, h * 0.5276);
  7744. c.lineTo(w * 0.071, h * 0.2898);
  7745. c.moveTo(w * 0.5325, h * 0.9976);
  7746. c.lineTo(w * 0.603, h * 0.7593);
  7747. c.stroke();
  7748. c.setStrokeWidth(2 * strokeWidth);
  7749. c.setLineCap('round');
  7750. c.begin();
  7751. c.moveTo(w * 0.3388, h * 0.3802);
  7752. c.lineTo(w * 0.5027, h * 0.2345);
  7753. c.lineTo(w * 0.6667, h * 0.3802);
  7754. c.lineTo(w * 0.5027, h * 0.526);
  7755. c.close();
  7756. c.moveTo(w * 0.4426, h * 0.3802);
  7757. c.lineTo(w * 0.5027, h * 0.3266);
  7758. c.lineTo(w * 0.5628, h * 0.3802);
  7759. c.lineTo(w * 0.5027, h * 0.4338);
  7760. c.close();
  7761. c.moveTo(w * 0.3867, h * 0.3284);
  7762. c.lineTo(w * 0.3541, h * 0.2998);
  7763. c.moveTo(w * 0.4436, h * 0.2748);
  7764. c.lineTo(w * 0.4077, h * 0.2412);
  7765. c.moveTo(w * 0.5704, h * 0.2803);
  7766. c.lineTo(w * 0.5992, h * 0.2513);
  7767. c.moveTo(w * 0.6231, h * 0.3284);
  7768. c.lineTo(w * 0.6503, h * 0.3032);
  7769. c.moveTo(w * 0.622, h * 0.4338);
  7770. c.lineTo(w * 0.6557, h * 0.4606);
  7771. c.moveTo(w * 0.5667, h * 0.4845);
  7772. c.lineTo(w * 0.5992, h * 0.5156);
  7773. c.moveTo(w * 0.4414, h * 0.4874);
  7774. c.lineTo(w * 0.412, h * 0.5159);
  7775. c.moveTo(w * 0.3889, h * 0.4405);
  7776. c.lineTo(w * 0.3607, h * 0.4657);
  7777. c.stroke();
  7778. c.setStrokeColor('#292929');
  7779. c.setLineJoin('round');
  7780. c.begin();
  7781. c.moveTo(0, h * 0.5276);
  7782. c.lineTo(0, h * 0.4188);
  7783. c.lineTo(w * 0.071, h * 0.2898);
  7784. c.lineTo(w * 0.4033, 0);
  7785. c.lineTo(w * 0.9301, h * 0.464);
  7786. c.lineTo(w, h * 0.5863);
  7787. c.lineTo(w, h * 0.7035);
  7788. c.lineTo(w * 0.6667, h);
  7789. c.lineTo(w * 0.5355, h);
  7790. c.close();
  7791. c.stroke();
  7792. };
  7793. mxCellRenderer.registerShape(mxShapeAws3dEbs2.prototype.cst.EBS2, mxShapeAws3dEbs2);
  7794. //**********************************************************************************************************************************************************
  7795. //Elasticache
  7796. //**********************************************************************************************************************************************************
  7797. ///**
  7798. //* Extends mxShape.
  7799. //*/
  7800. //function mxShapeAws3dElasticache(bounds, fill, stroke, strokewidth)
  7801. //{
  7802. // mxShape.call(this);
  7803. // this.bounds = bounds;
  7804. // this.fill = fill;
  7805. // this.stroke = stroke;
  7806. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7807. //};
  7808. //
  7809. ///**
  7810. //* Extends mxShape.
  7811. //*/
  7812. //mxUtils.extend(mxShapeAws3dElasticache, mxShape);
  7813. //
  7814. //mxShapeAws3dElasticache.prototype.cst = {
  7815. // ELASTICACHE : 'mxgraph.aws3d.elasticache',
  7816. // SHADING_COLORS : 'shadingCols'
  7817. //};
  7818. //
  7819. ///**
  7820. //* Function: paintVertexShape
  7821. //*
  7822. //* Paints the vertex shape.
  7823. //*/
  7824. //mxShapeAws3dElasticache.prototype.paintVertexShape = function(c, x, y, w, h)
  7825. //{
  7826. // c.translate(x, y);
  7827. //
  7828. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7829. // var strokeWidth1 = strokeWidth * w / 123;
  7830. // var strokeWidth2 = strokeWidth * h / 143;
  7831. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  7832. //
  7833. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7834. //
  7835. // c.setStrokeWidth(strokeWidth);
  7836. // c.setShadow(false);
  7837. // c.save();
  7838. // c.save();
  7839. // c.setStrokeWidth(2 * strokeWidth);
  7840. // c.setStrokeColor('#292929');
  7841. // c.setLineJoin('round');
  7842. //
  7843. // if(isShadow == 1)
  7844. // {
  7845. // c.setShadow(true);
  7846. // }
  7847. //
  7848. // c.begin();
  7849. // c.moveTo(0, h * 0.7483);
  7850. // c.lineTo(0, h * 0.6294);
  7851. // c.lineTo(w * 0.061, h * 0.5944);
  7852. // c.lineTo(0, h * 0.563);
  7853. // c.lineTo(0, h * 0.4406);
  7854. // c.lineTo(w * 0.061, h * 0.4091);
  7855. // c.lineTo(0, h * 0.3776);
  7856. // c.lineTo(0, h * 0.2517);
  7857. // c.lineTo(w * 0.5041, 0);
  7858. // c.lineTo(w, h * 0.2483);
  7859. // c.lineTo(w, h * 0.3741);
  7860. // c.lineTo(w * 0.939, h * 0.4091);
  7861. // c.lineTo(w, h * 0.4406);
  7862. // c.lineTo(w, h * 0.563);
  7863. // c.lineTo(w * 0.939, h * 0.5944);
  7864. // c.lineTo(w, h * 0.6294);
  7865. // c.lineTo(w, h * 0.751);
  7866. // c.lineTo(w * 0.5041, h);
  7867. // c.close();
  7868. // c.fillAndStroke();
  7869. //
  7870. // c.restore();
  7871. // c.setFillColor('#000000');
  7872. //
  7873. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticache.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7874. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7875. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7876. //
  7877. // c.begin();
  7878. // c.moveTo(0, h * 0.2517);
  7879. // c.lineTo(w * 0.5041, h * 0.4965);
  7880. // c.lineTo(w * 0.5041, h * 0.6294);
  7881. // c.lineTo(0, h * 0.3776);
  7882. // c.close();
  7883. // c.moveTo(0, h * 0.4406);
  7884. // c.lineTo(w * 0.5041, h * 0.6853);
  7885. // c.lineTo(w * 0.5041, h * 0.8112);
  7886. // c.lineTo(0, h * 0.5629);
  7887. // c.close();
  7888. // c.moveTo(0, h * 0.6294);
  7889. // c.lineTo(w * 0.5041, h * 0.8741);
  7890. // c.lineTo(w * 0.5041, h);
  7891. // c.lineTo(0, h * 0.7483);
  7892. // c.close();
  7893. // c.moveTo(w * 0.6179, h * 0.2517);
  7894. // c.lineTo(w * 0.752, h * 0.1853);
  7895. // c.lineTo(w * 0.752, h * 0.3217);
  7896. // c.close();
  7897. // c.fill();
  7898. //
  7899. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7900. // c.begin();
  7901. // c.moveTo(w * 0.5041, h * 0.4965);
  7902. // c.lineTo(w, h * 0.2517);
  7903. // c.lineTo(w, h * 0.3741);
  7904. // c.lineTo(w * 0.5041, h * 0.6294);
  7905. // c.close();
  7906. // c.moveTo(w * 0.5041, h * 0.6853);
  7907. // c.lineTo(w, h * 0.4406);
  7908. // c.lineTo(w, h * 0.5629);
  7909. // c.lineTo(w * 0.5041, h * 0.8112);
  7910. // c.close();
  7911. // c.moveTo(w * 0.5041, h * 0.8741);
  7912. // c.lineTo(w, h * 0.6294);
  7913. // c.lineTo(w, h * 0.7483);
  7914. // c.lineTo(w * 0.5041, h);
  7915. // c.close();
  7916. // c.moveTo(w * 0.752, h * 0.1853);
  7917. // c.lineTo(w * 0.8821, h * 0.2517);
  7918. // c.lineTo(w * 0.752, h * 0.3217);
  7919. // c.close();
  7920. // c.fill();
  7921. //
  7922. // c.restore();
  7923. // c.setLineJoin('round');
  7924. //
  7925. // c.begin();
  7926. // c.moveTo(0, h * 0.2517);
  7927. // c.lineTo(w * 0.5041, h * 0.4965);
  7928. // c.lineTo(w * 0.5041, h * 0.6294);
  7929. // c.lineTo(0, h * 0.3776);
  7930. // c.close();
  7931. // c.moveTo(0, h * 0.4406);
  7932. // c.lineTo(w * 0.5041, h * 0.6853);
  7933. // c.lineTo(w * 0.5041, h * 0.8112);
  7934. // c.lineTo(0, h * 0.5629);
  7935. // c.close();
  7936. // c.moveTo(0, h * 0.6294);
  7937. // c.lineTo(w * 0.5041, h * 0.8741);
  7938. // c.lineTo(w * 0.5041, h);
  7939. // c.lineTo(0, h * 0.7483);
  7940. // c.close();
  7941. // c.moveTo(w * 0.5041, h * 0.4965);
  7942. // c.lineTo(w, h * 0.2517);
  7943. // c.lineTo(w, h * 0.3741);
  7944. // c.lineTo(w * 0.5041, h * 0.6294);
  7945. // c.close();
  7946. // c.moveTo(w * 0.5041, h * 0.6853);
  7947. // c.lineTo(w, h * 0.4406);
  7948. // c.lineTo(w, h * 0.5629);
  7949. // c.lineTo(w * 0.5041, h * 0.8112);
  7950. // c.close();
  7951. // c.moveTo(w * 0.5041, h * 0.8741);
  7952. // c.lineTo(w, h * 0.6294);
  7953. // c.lineTo(w, h * 0.7483);
  7954. // c.lineTo(w * 0.5041, h);
  7955. // c.close();
  7956. // c.stroke();
  7957. //
  7958. // c.setStrokeWidth(2 * strokeWidth);
  7959. // c.setLineCap('round');
  7960. // var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  7961. // c.setFillColor(strokeColor);
  7962. //
  7963. // c.begin();
  7964. // c.moveTo(w * 0.222, h * 0.2028);
  7965. // c.arcTo(w * 0.1463, h * 0.1259, 0, 0, 1, w * 0.3154, h * 0.2014);
  7966. // c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3642, h * 0.2245);
  7967. // c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.3618, h * 0.2552);
  7968. // c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3252, h * 0.2798);
  7969. // c.arcTo(w * 0.1626, h * 0.1399, 0, 0, 1, w * 0.2276, h * 0.2797);
  7970. // c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.187, h * 0.2622);
  7971. // c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.187, h * 0.2238);
  7972. // c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.222, h * 0.2028);
  7973. // c.close();
  7974. // c.moveTo(w * 0.3618, h * 0.1434);
  7975. // c.lineTo(w * 0.4309, h * 0.1189);
  7976. // c.lineTo(w * 0.4309, h * 0.0755);
  7977. // c.lineTo(w * 0.4992, h * 0.1014);
  7978. // c.lineTo(w * 0.5813, h * 0.0874);
  7979. // c.lineTo(w * 0.5488, h * 0.1294);
  7980. // c.lineTo(w * 0.6057, h * 0.1608);
  7981. // c.lineTo(w * 0.5163, h * 0.1608);
  7982. // c.lineTo(w * 0.4634, h * 0.2028);
  7983. // c.lineTo(w * 0.4431, h * 0.1538);
  7984. // c.close();
  7985. // c.moveTo(w * 0.3821, h * 0.3601);
  7986. // c.lineTo(w * 0.5894, h * 0.3322);
  7987. // c.lineTo(w * 0.5325, h * 0.4394);
  7988. // c.close();
  7989. // c.fill();
  7990. //
  7991. // c.setStrokeColor('#292929');
  7992. // c.setLineJoin('round');
  7993. //
  7994. // c.begin();
  7995. // c.moveTo(0, h * 0.7483);
  7996. // c.lineTo(0, h * 0.6294);
  7997. // c.lineTo(w * 0.061, h * 0.5944);
  7998. // c.lineTo(0, h * 0.563);
  7999. // c.lineTo(0, h * 0.4406);
  8000. // c.lineTo(w * 0.061, h * 0.4091);
  8001. // c.lineTo(0, h * 0.3776);
  8002. // c.lineTo(0, h * 0.2517);
  8003. // c.lineTo(w * 0.5041, 0);
  8004. // c.lineTo(w, h * 0.2483);
  8005. // c.lineTo(w, h * 0.3741);
  8006. // c.lineTo(w * 0.939, h * 0.4091);
  8007. // c.lineTo(w, h * 0.4406);
  8008. // c.lineTo(w, h * 0.563);
  8009. // c.lineTo(w * 0.939, h * 0.5944);
  8010. // c.lineTo(w, h * 0.6294);
  8011. // c.lineTo(w, h * 0.751);
  8012. // c.lineTo(w * 0.5041, h);
  8013. // c.close();
  8014. // c.stroke();
  8015. //};
  8016. //
  8017. //mxCellRenderer.registerShape(mxShapeAws3dElasticache.prototype.cst.ELASTICACHE, mxShapeAws3dElasticache);
  8018. //**********************************************************************************************************************************************************
  8019. //Kinesis Stream
  8020. //**********************************************************************************************************************************************************
  8021. /**
  8022. * Extends mxShape.
  8023. */
  8024. //function mxShapeAws3dKinesisStream(bounds, fill, stroke, strokewidth)
  8025. //{
  8026. // mxShape.call(this);
  8027. // this.bounds = bounds;
  8028. // this.fill = fill;
  8029. // this.stroke = stroke;
  8030. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  8031. //};
  8032. //
  8033. ///**
  8034. //* Extends mxShape.
  8035. //*/
  8036. //mxUtils.extend(mxShapeAws3dKinesisStream, mxShape);
  8037. //
  8038. //mxShapeAws3dKinesisStream.prototype.cst = {
  8039. // KINESIS_STREAM : 'mxgraph.aws3d.kinesisStream',
  8040. // SHADING_COLORS : 'shadingCols'
  8041. //};
  8042. //
  8043. ///**
  8044. //* Function: paintVertexShape
  8045. //*
  8046. //* Paints the vertex shape.
  8047. //*/
  8048. //mxShapeAws3dKinesisStream.prototype.paintVertexShape = function(c, x, y, w, h)
  8049. //{
  8050. // c.translate(x, y);
  8051. //
  8052. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  8053. // var strokeWidth1 = strokeWidth * w / 220;
  8054. // var strokeWidth2 = strokeWidth * h / 160;
  8055. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  8056. //
  8057. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  8058. //
  8059. // c.setStrokeWidth(strokeWidth);
  8060. // c.setShadow(false);
  8061. // c.save();
  8062. // c.save();
  8063. // c.setStrokeWidth(2 * strokeWidth);
  8064. // c.setStrokeColor('#292929');
  8065. // c.setLineJoin('round');
  8066. //
  8067. // if(isShadow == 1)
  8068. // {
  8069. // c.setShadow(true);
  8070. // }
  8071. //
  8072. // c.begin();
  8073. // c.moveTo(0, h * 0.5503);
  8074. // c.lineTo(w * 0.0455, h * 0.4623);
  8075. // c.lineTo(w * 0.6054, h * 0.0157);
  8076. // c.lineTo(w * 0.6623, h * 0.0629);
  8077. // c.lineTo(w * 0.7396, 0);
  8078. // c.lineTo(w * 0.8239, h * 0.0692);
  8079. // c.lineTo(w * 0.8671, h * 0.2233);
  8080. // c.lineTo(w * 0.9513, h * 0.2943);
  8081. // c.lineTo(w, h * 0.4528);
  8082. // c.lineTo(w * 0.9595, h * 0.5365);
  8083. // c.lineTo(w * 0.396, h * 0.9843);
  8084. // c.lineTo(w * 0.3391, h * 0.9403);
  8085. // c.lineTo(w * 0.2617, h);
  8086. // c.lineTo(w * 0.173, h * 0.9308);
  8087. // c.lineTo(w * 0.1297, h * 0.7736);
  8088. // c.lineTo(w * 0.0432, h * 0.7044);
  8089. // c.close();
  8090. // c.fillAndStroke();
  8091. //
  8092. // c.restore();
  8093. // c.setFillColor('#000000');
  8094. //
  8095. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dKinesisStream.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  8096. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  8097. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  8098. //
  8099. // c.begin();
  8100. // c.moveTo(w * 0.0432, h * 0.4654);
  8101. // c.lineTo(w * 0.132, h * 0.5314);
  8102. // c.lineTo(w * 0.1775, h * 0.4465);
  8103. // c.lineTo(w * 0.264, h * 0.5189);
  8104. // c.lineTo(w * 0.3072, h * 0.673);
  8105. // c.lineTo(w * 0.396, h * 0.7453);
  8106. // c.lineTo(w * 0.4392, h * 0.8994);
  8107. // c.lineTo(w * 0.396, h * 0.9843);
  8108. // c.lineTo(w * 0.305, h * 0.9151);
  8109. // c.lineTo(w * 0.2617, h);
  8110. // c.lineTo(w * 0.173, h * 0.9308);
  8111. // c.lineTo(w * 0.1297, h * 0.7736);
  8112. // c.lineTo(w * 0.0432, h * 0.7044);
  8113. // c.lineTo(0, h * 0.5503);
  8114. // c.close();
  8115. // c.fill();
  8116. //
  8117. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  8118. // c.begin();
  8119. // c.moveTo(w * 0.264, h * 0.5204);
  8120. // c.lineTo(w * 0.8239, h * 0.0676);
  8121. // c.lineTo(w * 0.8694, h * 0.228);
  8122. // c.lineTo(w * 0.3072, h * 0.673);
  8123. // c.close();
  8124. // c.moveTo(w * 0.3937, h * 0.7453);
  8125. // c.lineTo(w * 0.9536, h * 0.2956);
  8126. // c.lineTo(w, h * 0.4528);
  8127. // c.lineTo(w * 0.9558, h * 0.5377);
  8128. // c.lineTo(w * 0.396, h * 0.9843);
  8129. // c.lineTo(w * 0.4392, h * 0.8994);
  8130. // c.close();
  8131. // c.moveTo(w * 0.2617, h);
  8132. // c.lineTo(w * 0.305, h * 0.9151);
  8133. // c.lineTo(w * 0.3368, h * 0.9403);
  8134. // c.close();
  8135. // c.fill();
  8136. //
  8137. // c.setAlpha('0.5');
  8138. // c.begin();
  8139. // c.moveTo(w * 0.0546, h * 0.5094);
  8140. // c.lineTo(w * 0.1161, h * 0.5597);
  8141. // c.lineTo(w * 0.1479, h * 0.6761);
  8142. // c.lineTo(w * 0.1183, h * 0.7264);
  8143. // c.lineTo(w * 0.0569, h * 0.6792);
  8144. // c.lineTo(w * 0.025, h * 0.566);
  8145. // c.close();
  8146. // c.moveTo(w * 0.1889, h * 0.4937);
  8147. // c.lineTo(w * 0.2503, h * 0.544);
  8148. // c.lineTo(w * 0.2822, h * 0.6572);
  8149. // c.lineTo(w * 0.2526, h * 0.717);
  8150. // c.lineTo(w * 0.1934, h * 0.6667);
  8151. // c.lineTo(w * 0.1593, h * 0.5566);
  8152. // c.close();
  8153. // c.moveTo(w * 0.3195, h * 0.7201);
  8154. // c.lineTo(w * 0.3801, h * 0.7704);
  8155. // c.lineTo(w * 0.4137, h * 0.8805);
  8156. // c.lineTo(w * 0.3819, h * 0.9403);
  8157. // c.lineTo(w * 0.3209, h * 0.8912);
  8158. // c.lineTo(w * 0.2904, h * 0.783);
  8159. // c.close();
  8160. // c.moveTo(w * 0.1866, h * 0.7358);
  8161. // c.lineTo(w * 0.2458, h * 0.783);
  8162. // c.lineTo(w * 0.2776, h * 0.8962);
  8163. // c.lineTo(w * 0.2481, h * 0.956);
  8164. // c.lineTo(w * 0.1866, h * 0.9057);
  8165. // c.lineTo(w * 0.157, h * 0.7893);
  8166. // c.close();
  8167. // c.fill();
  8168. //
  8169. // c.restore();
  8170. // c.setLineJoin('round');
  8171. //
  8172. // c.begin();
  8173. // c.moveTo(w * 0.0432, h * 0.4654);
  8174. // c.lineTo(w * 0.132, h * 0.5314);
  8175. // c.lineTo(w * 0.1775, h * 0.4465);
  8176. // c.lineTo(w * 0.264, h * 0.5189);
  8177. // c.lineTo(w * 0.3072, h * 0.673);
  8178. // c.lineTo(w * 0.396, h * 0.7453);
  8179. // c.lineTo(w * 0.4392, h * 0.8994);
  8180. // c.lineTo(w * 0.396, h * 0.9843);
  8181. // c.lineTo(w * 0.305, h * 0.9151);
  8182. // c.lineTo(w * 0.2617, h);
  8183. // c.lineTo(w * 0.173, h * 0.9308);
  8184. // c.lineTo(w * 0.1297, h * 0.7736);
  8185. // c.lineTo(w * 0.0432, h * 0.7044);
  8186. // c.lineTo(0, h * 0.5503);
  8187. // c.close();
  8188. // c.moveTo(w * 0.264, h * 0.5204);
  8189. // c.lineTo(w * 0.8239, h * 0.0676);
  8190. // c.lineTo(w * 0.8694, h * 0.228);
  8191. // c.lineTo(w * 0.3072, h * 0.673);
  8192. // c.close();
  8193. // c.moveTo(w * 0.3937, h * 0.7453);
  8194. // c.lineTo(w * 0.9536, h * 0.2956);
  8195. // c.lineTo(w, h * 0.4528);
  8196. // c.lineTo(w * 0.9558, h * 0.5377);
  8197. // c.lineTo(w * 0.396, h * 0.9843);
  8198. // c.lineTo(w * 0.4392, h * 0.8994);
  8199. // c.close();
  8200. // c.moveTo(w * 0.2617, h);
  8201. // c.lineTo(w * 0.305, h * 0.9151);
  8202. // c.lineTo(w * 0.3368, h * 0.9403);
  8203. // c.close();
  8204. // c.moveTo(w * 0.0546, h * 0.5094);
  8205. // c.lineTo(w * 0.1161, h * 0.5597);
  8206. // c.lineTo(w * 0.1479, h * 0.6761);
  8207. // c.lineTo(w * 0.1183, h * 0.7264);
  8208. // c.lineTo(w * 0.0569, h * 0.6792);
  8209. // c.lineTo(w * 0.025, h * 0.566);
  8210. // c.close();
  8211. // c.moveTo(w * 0.1889, h * 0.4937);
  8212. // c.lineTo(w * 0.2503, h * 0.544);
  8213. // c.lineTo(w * 0.2822, h * 0.6572);
  8214. // c.lineTo(w * 0.2526, h * 0.717);
  8215. // c.lineTo(w * 0.1934, h * 0.6667);
  8216. // c.lineTo(w * 0.1593, h * 0.5566);
  8217. // c.close();
  8218. // c.moveTo(w * 0.3195, h * 0.7201);
  8219. // c.lineTo(w * 0.3801, h * 0.7704);
  8220. // c.lineTo(w * 0.4137, h * 0.8805);
  8221. // c.lineTo(w * 0.3819, h * 0.9403);
  8222. // c.lineTo(w * 0.3209, h * 0.8912);
  8223. // c.lineTo(w * 0.2904, h * 0.783);
  8224. // c.close();
  8225. // c.moveTo(w * 0.1866, h * 0.7358);
  8226. // c.lineTo(w * 0.2458, h * 0.783);
  8227. // c.lineTo(w * 0.2776, h * 0.8962);
  8228. // c.lineTo(w * 0.2481, h * 0.956);
  8229. // c.lineTo(w * 0.1866, h * 0.9057);
  8230. // c.lineTo(w * 0.157, h * 0.7893);
  8231. // c.close();
  8232. // c.moveTo(w * 0.1775, h * 0.4465);
  8233. // c.lineTo(w * 0.7374, 0);
  8234. // c.moveTo(w * 0.4392, h * 0.8994);
  8235. // c.lineTo(w, h * 0.4528);
  8236. // c.moveTo(w * 0.1331, h * 0.533);
  8237. // c.lineTo(w * 0.1809, h * 0.6934);
  8238. // c.lineTo(w * 0.2617, h * 0.7626);
  8239. // c.lineTo(w * 0.3061, h * 0.9151);
  8240. // c.moveTo(w * 0.1295, h * 0.7764);
  8241. // c.lineTo(w * 0.1807, h * 0.6928);
  8242. // c.moveTo(w * 0.264, h * 0.7642);
  8243. // c.lineTo(w * 0.3095, h * 0.673);
  8244. // c.moveTo(w * 0.3641, h * 0.2327);
  8245. // c.lineTo(w * 0.3241, h * 0.2673);
  8246. // c.lineTo(w * 0.3619, h * 0.2987);
  8247. // c.moveTo(w * 0.3468, h * 0.2736);
  8248. // c.lineTo(w * 0.3596, h * 0.261);
  8249. // c.moveTo(w * 0.3573, h * 0.283);
  8250. // c.lineTo(w * 0.3823, h * 0.261);
  8251. // c.moveTo(w * 0.4916, h * 0.217);
  8252. // c.lineTo(w * 0.4483, h * 0.2547);
  8253. // c.lineTo(w * 0.5052, h * 0.3019);
  8254. // c.moveTo(w * 0.4679, h * 0.2591);
  8255. // c.lineTo(w * 0.4802, h * 0.2478);
  8256. // c.moveTo(w * 0.4811, h * 0.2673);
  8257. // c.lineTo(w * 0.5098, h * 0.2421);
  8258. // c.moveTo(w * 0.4939, h * 0.2767);
  8259. // c.lineTo(w * 0.5121, h * 0.261);
  8260. // c.moveTo(w * 0.5043, h * 0.2868);
  8261. // c.lineTo(w * 0.5371, h * 0.2579);
  8262. // c.moveTo(w * 0.6259, h * 0.4371);
  8263. // c.lineTo(w * 0.5826, h * 0.4717);
  8264. // c.lineTo(w * 0.6418, h * 0.522);
  8265. // c.moveTo(w * 0.6039, h * 0.4755);
  8266. // c.lineTo(w * 0.6187, h * 0.463);
  8267. // c.moveTo(w * 0.6158, h * 0.4862);
  8268. // c.lineTo(w * 0.6418, h * 0.4623);
  8269. // c.moveTo(w * 0.6281, h * 0.4969);
  8270. // c.lineTo(w * 0.6486, h * 0.478);
  8271. // c.moveTo(w * 0.6395, h * 0.5063);
  8272. // c.lineTo(w * 0.6736, h * 0.478);
  8273. //
  8274. // c.stroke();
  8275. //
  8276. // c.setStrokeWidth(2 * strokeWidth);
  8277. // c.setLineCap('round');
  8278. //
  8279. // c.setStrokeColor('#292929');
  8280. // c.setLineJoin('round');
  8281. //
  8282. // c.begin();
  8283. // c.moveTo(0, h * 0.5503);
  8284. // c.lineTo(w * 0.0455, h * 0.4623);
  8285. // c.lineTo(w * 0.6054, h * 0.0157);
  8286. // c.lineTo(w * 0.6623, h * 0.0629);
  8287. // c.lineTo(w * 0.7396, 0);
  8288. // c.lineTo(w * 0.8239, h * 0.0692);
  8289. // c.lineTo(w * 0.8671, h * 0.2233);
  8290. // c.lineTo(w * 0.9513, h * 0.2943);
  8291. // c.lineTo(w, h * 0.4528);
  8292. // c.lineTo(w * 0.9595, h * 0.5365);
  8293. // c.lineTo(w * 0.396, h * 0.9843);
  8294. // c.lineTo(w * 0.3391, h * 0.9403);
  8295. // c.lineTo(w * 0.2617, h);
  8296. // c.lineTo(w * 0.173, h * 0.9308);
  8297. // c.lineTo(w * 0.1297, h * 0.7736);
  8298. // c.lineTo(w * 0.0432, h * 0.7044);
  8299. // c.close();
  8300. // c.stroke();
  8301. //};
  8302. //
  8303. //mxCellRenderer.registerShape(mxShapeAws3dKinesisStream.prototype.cst.KINESIS_STREAM, mxShapeAws3dKinesisStream);
  8304. //**********************************************************************************************************************************************************
  8305. //SQS 2
  8306. //**********************************************************************************************************************************************************
  8307. ///**
  8308. //* Extends mxShape.
  8309. //*/
  8310. //function mxShapeAws3dSqs2(bounds, fill, stroke, strokewidth)
  8311. //{
  8312. // mxShape.call(this);
  8313. // this.bounds = bounds;
  8314. // this.fill = fill;
  8315. // this.stroke = stroke;
  8316. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  8317. //};
  8318. //
  8319. ///**
  8320. //* Extends mxShape.
  8321. //*/
  8322. //mxUtils.extend(mxShapeAws3dSqs2, mxShape);
  8323. //
  8324. //mxShapeAws3dSqs2.prototype.cst = {
  8325. // SQS2 : 'mxgraph.aws3d.sqs2',
  8326. // SHADING_COLORS : 'shadingCols'
  8327. //};
  8328. //
  8329. ///**
  8330. //* Function: paintVertexShape
  8331. //*
  8332. //* Paints the vertex shape.
  8333. //*/
  8334. //mxShapeAws3dSqs2.prototype.paintVertexShape = function(c, x, y, w, h)
  8335. //{
  8336. // c.translate(x, y);
  8337. //
  8338. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  8339. // var strokeWidth1 = strokeWidth * w / 160;
  8340. // var strokeWidth2 = strokeWidth * h / 93;
  8341. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  8342. //
  8343. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  8344. //
  8345. // c.setStrokeWidth(strokeWidth);
  8346. // c.setShadow(false);
  8347. // c.save();
  8348. // c.save();
  8349. // c.setStrokeWidth(2 * strokeWidth);
  8350. // c.setStrokeColor('#292929');
  8351. // c.setLineJoin('round');
  8352. //
  8353. // if(isShadow == 1)
  8354. // {
  8355. // c.setShadow(true);
  8356. // }
  8357. //
  8358. // c.begin();
  8359. // c.moveTo(0, h * 0.4737);
  8360. // c.lineTo(w * 0.4652, 0);
  8361. // c.lineTo(w * 0.6231, h * 0.0602);
  8362. // c.lineTo(w * 0.6231, h * 0.1676);
  8363. // c.lineTo(w * 0.1567, h * 0.6316);
  8364. // c.close();
  8365. // c.moveTo(w * 0.3756, h * 0.8443);
  8366. // c.lineTo(w * 0.3756, h * 0.7454);
  8367. // c.lineTo(w * 0.8439, h * 0.275);
  8368. // c.lineTo(w, h * 0.5328);
  8369. // c.lineTo(w * 0.5311, h);
  8370. // c.close();
  8371. // c.fillAndStroke();
  8372. //
  8373. // c.restore();
  8374. // c.setFillColor('#000000');
  8375. //
  8376. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  8377. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  8378. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  8379. //
  8380. // c.begin();
  8381. // c.moveTo(0, h * 0.4737);
  8382. // c.lineTo(w * 0.1567, h * 0.5274);
  8383. // c.lineTo(w * 0.1567, h * 0.6394);
  8384. // c.close();
  8385. // c.moveTo(w * 0.3756, h * 0.7454);
  8386. // c.lineTo(w * 0.5311, h);
  8387. // c.lineTo(w * 0.3756, h * 0.8443);
  8388. // c.close();
  8389. // c.fill();
  8390. //
  8391. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  8392. // c.begin();
  8393. // c.moveTo(w * 0.1567, h * 0.5274);
  8394. // c.lineTo(w * 0.6231, h * 0.0602);
  8395. // c.lineTo(w * 0.6231, h * 0.1676);
  8396. // c.lineTo(w * 0.1567, h * 0.6294);
  8397. // c.close();
  8398. // c.fill();
  8399. //
  8400. // c.restore();
  8401. // c.setLineJoin('round');
  8402. //
  8403. // c.begin();
  8404. // c.moveTo(0, h * 0.4737);
  8405. // c.lineTo(w * 0.1567, h * 0.5274);
  8406. // c.lineTo(w * 0.1567, h * 0.6294);
  8407. // c.close();
  8408. // c.moveTo(w * 0.3756, h * 0.7454);
  8409. // c.lineTo(w * 0.5311, h);
  8410. // c.lineTo(w * 0.3756, h * 0.8443);
  8411. // c.close();
  8412. // c.moveTo(w * 0.1567, h * 0.5274);
  8413. // c.lineTo(w * 0.6231, h * 0.0602);
  8414. // c.lineTo(w * 0.6231, h * 0.1676);
  8415. // c.lineTo(w * 0.1567, h * 0.6294);
  8416. // c.close();
  8417. // c.stroke();
  8418. //
  8419. // c.setStrokeWidth(2 * strokeWidth);
  8420. // c.setLineCap('round');
  8421. //
  8422. // c.setStrokeColor('#292929');
  8423. // c.setLineJoin('round');
  8424. //
  8425. // c.begin();
  8426. // c.moveTo(0, h * 0.4737);
  8427. // c.lineTo(w * 0.4652, 0);
  8428. // c.lineTo(w * 0.6231, h * 0.0602);
  8429. // c.lineTo(w * 0.6231, h * 0.1676);
  8430. // c.lineTo(w * 0.1567, h * 0.6316);
  8431. // c.close();
  8432. // c.moveTo(w * 0.3756, h * 0.8443);
  8433. // c.lineTo(w * 0.3756, h * 0.7454);
  8434. // c.lineTo(w * 0.8439, h * 0.275);
  8435. // c.lineTo(w, h * 0.5328);
  8436. // c.lineTo(w * 0.5311, h);
  8437. // c.close();
  8438. // c.stroke();
  8439. //
  8440. // c.setFillColor('#F4B934');
  8441. //
  8442. // c.begin();
  8443. // c.moveTo(w * 0.1256, h * 0.812);
  8444. // c.lineTo(w * 0.24, h * 0.7605);
  8445. // c.lineTo(w * 0.1853, h * 0.8829);
  8446. // c.close();
  8447. // c.moveTo(w * 0.2417, h * 0.6957);
  8448. // c.lineTo(w * 0.3562, h * 0.6441);
  8449. // c.lineTo(w * 0.3014, h * 0.7666);
  8450. // c.close();
  8451. // c.moveTo(w * 0.3588, h * 0.5793);
  8452. // c.lineTo(w * 0.4733, h * 0.5277);
  8453. // c.lineTo(w * 0.4185, h * 0.6502);
  8454. // c.close();
  8455. // c.moveTo(w * 0.477, h * 0.4611);
  8456. // c.lineTo(w * 0.5914, h * 0.4096);
  8457. // c.lineTo(w * 0.5367, h * 0.532);
  8458. // c.close();
  8459. // c.moveTo(w * 0.591, h * 0.343);
  8460. // c.lineTo(w * 0.7054, h * 0.2914);
  8461. // c.lineTo(w * 0.6507, h * 0.4139);
  8462. // c.close();
  8463. // c.moveTo(w * 0.7091, h * 0.2302);
  8464. // c.lineTo(w * 0.8236, h * 0.1786);
  8465. // c.lineTo(w * 0.7688, h * 0.3011);
  8466. // c.close();
  8467. // c.fillAndStroke();
  8468. //};
  8469. //
  8470. //mxCellRenderer.registerShape(mxShapeAws3dSqs2.prototype.cst.SQS2, mxShapeAws3dSqs2);