mxAWS3D.js 262 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174
  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 arrowless edge
  277. //**********************************************************************************************************************************************************
  278. /**
  279. * Extends mxShape.
  280. */
  281. function mxShapeAws3dDashedArrowlessEdge(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(mxShapeAws3dDashedArrowlessEdge, mxShape);
  293. mxShapeAws3dDashedArrowlessEdge.prototype.cst = {
  294. DASHED_ARROWLESS_EDGE : 'mxgraph.aws3d.dashedArrowlessEdge'
  295. };
  296. /**
  297. * Function: paintVertexShape
  298. *
  299. * Paints the vertex shape.
  300. */
  301. mxShapeAws3dDashedArrowlessEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  302. {
  303. c.translate(x, y);
  304. c.setStrokeColor('#2D6195');
  305. c.setStrokeWidth('4');
  306. c.setDashed('true');
  307. c.setLineCap('round');
  308. c.begin();
  309. c.moveTo(0, 0);
  310. c.lineTo(w, h);
  311. c.stroke();
  312. };
  313. mxCellRenderer.registerShape(mxShapeAws3dDashedArrowlessEdge.prototype.cst.DASHED_ARROWLESS_EDGE, mxShapeAws3dDashedArrowlessEdge);
  314. //**********************************************************************************************************************************************************
  315. //Dashed edge
  316. //**********************************************************************************************************************************************************
  317. /**
  318. * Extends mxShape.
  319. */
  320. function mxShapeAws3dDashedEdge(bounds, fill, stroke, strokewidth)
  321. {
  322. mxShape.call(this);
  323. this.bounds = bounds;
  324. this.fill = fill;
  325. this.stroke = stroke;
  326. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  327. };
  328. /**
  329. * Extends mxShape.
  330. */
  331. mxUtils.extend(mxShapeAws3dDashedEdge, mxShape);
  332. mxShapeAws3dDashedEdge.prototype.cst = {
  333. DASHED_EDGE : 'mxgraph.aws3d.dashedEdge'
  334. };
  335. /**
  336. * Function: paintVertexShape
  337. *
  338. * Paints the vertex shape.
  339. */
  340. mxShapeAws3dDashedEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  341. {
  342. c.translate(x, y);
  343. c.setFillColor('#2D6195');
  344. c.save();
  345. c.setStrokeColor('none');
  346. c.begin();
  347. c.moveTo(w - 21, 5.5);
  348. c.lineTo(w, 0);
  349. c.lineTo(w - 9.7, 12.2);
  350. c.fillAndStroke();
  351. c.restore();
  352. c.setStrokeColor('#2D6195');
  353. c.setStrokeWidth('4');
  354. c.setDashed('true');
  355. c.setLineCap('round');
  356. c.begin();
  357. c.moveTo(w - 7.675, 4.425);
  358. c.lineTo(0, h);
  359. c.stroke();
  360. };
  361. mxCellRenderer.registerShape(mxShapeAws3dDashedEdge.prototype.cst.DASHED_EDGE, mxShapeAws3dDashedEdge);
  362. //**********************************************************************************************************************************************************
  363. //Flat edge
  364. //**********************************************************************************************************************************************************
  365. /**
  366. * Extends mxShape.
  367. */
  368. function mxShapeAws3dFlatEdge(bounds, fill, stroke, strokewidth)
  369. {
  370. mxShape.call(this);
  371. this.bounds = bounds;
  372. this.fill = fill;
  373. this.stroke = stroke;
  374. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  375. };
  376. /**
  377. * Extends mxShape.
  378. */
  379. mxUtils.extend(mxShapeAws3dFlatEdge, mxShape);
  380. mxShapeAws3dFlatEdge.prototype.cst = {
  381. FLAT_EDGE : 'mxgraph.aws3d.flatEdge'
  382. };
  383. /**
  384. * Function: paintVertexShape
  385. *
  386. * Paints the vertex shape.
  387. */
  388. mxShapeAws3dFlatEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  389. {
  390. c.translate(x, y);
  391. c.setFillColor('#F4B934');
  392. c.setStrokeColor('none');
  393. c.begin();
  394. c.moveTo(w - 46, 8.8);
  395. c.lineTo(w - 61.2, 0);
  396. c.lineTo(w, 0);
  397. c.lineTo(w, 35.5);
  398. c.lineTo(w - 15.4, 26.5);
  399. c.lineTo(30.7, h);
  400. c.lineTo(0, h - 17.7);
  401. c.fillAndStroke();
  402. };
  403. mxCellRenderer.registerShape(mxShapeAws3dFlatEdge.prototype.cst.FLAT_EDGE, mxShapeAws3dFlatEdge);
  404. //**********************************************************************************************************************************************************
  405. //Flat double edge
  406. //**********************************************************************************************************************************************************
  407. /**
  408. * Extends mxShape.
  409. */
  410. function mxShapeAws3dFlatDoubleEdge(bounds, fill, stroke, strokewidth)
  411. {
  412. mxShape.call(this);
  413. this.bounds = bounds;
  414. this.fill = fill;
  415. this.stroke = stroke;
  416. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  417. };
  418. /**
  419. * Extends mxShape.
  420. */
  421. mxUtils.extend(mxShapeAws3dFlatDoubleEdge, mxShape);
  422. mxShapeAws3dFlatDoubleEdge.prototype.cst = {
  423. FLAT_DOUBLE_EDGE : 'mxgraph.aws3d.flatDoubleEdge'
  424. };
  425. /**
  426. * Function: paintVertexShape
  427. *
  428. * Paints the vertex shape.
  429. */
  430. mxShapeAws3dFlatDoubleEdge.prototype.paintVertexShape = function(c, x, y, w, h)
  431. {
  432. c.translate(x, y);
  433. c.setFillColor('#F4B934');
  434. c.setStrokeColor('none');
  435. c.begin();
  436. c.moveTo(15.3, 61.9);
  437. c.lineTo(30.8, 53.2);
  438. c.lineTo(15.4, 44.2);
  439. c.lineTo(0, 53.2);
  440. c.lineTo(15.4, 8.8);
  441. c.lineTo(92.1, 0);
  442. c.lineTo(76.5, 8.8);
  443. c.lineTo(92.1, 17.7);
  444. c.lineTo(107.4, 8.8);
  445. c.lineTo(w - 15.3, h - 61.9);
  446. c.lineTo(w - 30.8, h - 53.2);
  447. c.lineTo(w - 15.4, h - 44.2);
  448. c.lineTo(w, h - 53.2);
  449. c.lineTo(w - 15.4, h - 8.8);
  450. c.lineTo(w - 92.1, h);
  451. c.lineTo(w - 76.5, h - 8.8);
  452. c.lineTo(w - 92.1, h - 17.7);
  453. c.lineTo(w - 107.4, h - 8.8);
  454. c.fillAndStroke();
  455. };
  456. mxCellRenderer.registerShape(mxShapeAws3dFlatDoubleEdge.prototype.cst.FLAT_DOUBLE_EDGE, mxShapeAws3dFlatDoubleEdge);
  457. //**********************************************************************************************************************************************************
  458. //AMI
  459. //**********************************************************************************************************************************************************
  460. /**
  461. * Extends mxShape.
  462. */
  463. function mxShapeAws3dAMI(bounds, fill, stroke, strokewidth)
  464. {
  465. mxShape.call(this);
  466. this.bounds = bounds;
  467. this.fill = fill;
  468. this.stroke = stroke;
  469. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  470. };
  471. /**
  472. * Extends mxShape.
  473. */
  474. mxUtils.extend(mxShapeAws3dAMI, mxShape);
  475. mxShapeAws3dAMI.prototype.cst = {
  476. AMI : 'mxgraph.aws3d.ami',
  477. SHADING_COLORS : 'shadingCols'
  478. };
  479. /**
  480. * Function: paintVertexShape
  481. *
  482. * Paints the vertex shape.
  483. */
  484. mxShapeAws3dAMI.prototype.paintVertexShape = function(c, x, y, w, h)
  485. {
  486. c.translate(x, y);
  487. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  488. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  489. var strokeWidth1 = strokeWidth * w / 92;
  490. var strokeWidth2 = strokeWidth * h / 60;
  491. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  492. c.setStrokeWidth(strokeWidth);
  493. c.setShadow(false);
  494. c.save();
  495. c.save();
  496. c.setStrokeWidth(2 * strokeWidth);
  497. c.setStrokeColor('#292929');
  498. c.setLineJoin('round');
  499. if (isShadow == 1)
  500. {
  501. c.setShadow(true);
  502. }
  503. c.begin();
  504. c.moveTo(0, h * 0.6483);
  505. c.lineTo(w * 0.0684, h * 0.4133);
  506. c.lineTo(w * 0.5326, 0);
  507. c.lineTo(w * 0.6685, 0);
  508. c.lineTo(w * 0.9359, h * 0.2367);
  509. c.lineTo(w, h * 0.465);
  510. c.lineTo(w * 0.4, h);
  511. c.close();
  512. c.fillAndStroke();
  513. c.restore();
  514. c.setFillColor('#000000');
  515. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  516. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  517. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  518. c.begin();
  519. c.moveTo(0, h * 0.65);
  520. c.lineTo(w * 0.0652, h * 0.5);
  521. c.lineTo(w * 0.3326, h * 0.7667);
  522. c.lineTo(w * 0.4663, h * 0.7667);
  523. c.lineTo(w * 0.4, h);
  524. c.close();
  525. c.fill();
  526. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  527. c.begin();
  528. c.moveTo(w * 0.4, h);
  529. c.lineTo(w * 0.4641, h * 0.77);
  530. c.lineTo(w * 0.9326, h * 0.355);
  531. c.lineTo(w * 0.9347, h * 0.24);
  532. c.lineTo(w, h * 0.4667);
  533. c.close();
  534. c.fill();
  535. c.restore();
  536. c.setLineJoin('round');
  537. c.begin();
  538. c.moveTo(0, h * 0.65);
  539. c.lineTo(w * 0.0652, h * 0.5);
  540. c.lineTo(w * 0.3326, h * 0.7667);
  541. c.lineTo(w * 0.4663, h * 0.7667);
  542. c.lineTo(w * 0.4, h);
  543. c.close();
  544. c.stroke();
  545. c.begin();
  546. c.moveTo(w * 0.4, h);
  547. c.lineTo(w * 0.4641, h * 0.77);
  548. c.lineTo(w * 0.9326, h * 0.355);
  549. c.lineTo(w * 0.9347, h * 0.24);
  550. c.lineTo(w, h * 0.4667);
  551. c.close();
  552. c.stroke();
  553. c.begin();
  554. c.moveTo(w * 0.0652, h * 0.42);
  555. c.lineTo(w * 0.0652, h * 0.5);
  556. c.moveTo(w * 0.3337, h * 0.7667);
  557. c.lineTo(w * 0.4, h);
  558. c.moveTo(w * 0.9348, h * 0.355);
  559. c.lineTo(w, h * 0.4733);
  560. c.stroke();
  561. c.setLineJoin('miter');
  562. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  563. c.setFillColor(strokeColor);
  564. c.begin();
  565. c.moveTo(w * 0.1935, h * 0.42);
  566. c.lineTo(w * 0.5543, h * 0.0967);
  567. c.lineTo(w * 0.6652, h * 0.1967);
  568. c.lineTo(w * 0.3, h * 0.5133);
  569. c.close();
  570. c.moveTo(w * 0.2967, h * 0.4633);
  571. c.lineTo(w * 0.3837, h * 0.3883);
  572. c.lineTo(w * 0.3326, h * 0.3417);
  573. c.lineTo(w * 0.2467, h * 0.42);
  574. c.close();
  575. c.moveTo(w * 0.362, h * 0.32);
  576. c.lineTo(w * 0.412, h * 0.3633);
  577. c.lineTo(w * 0.5054, h * 0.2867);
  578. c.lineTo(w * 0.4522, h * 0.24);
  579. c.close();
  580. c.moveTo(w * 0.5293, h * 0.26);
  581. c.lineTo(w * 0.6109, h * 0.1933);
  582. c.lineTo(w * 0.5511, h * 0.145);
  583. c.lineTo(w * 0.4739, h * 0.2133);
  584. c.close();
  585. c.moveTo(w * 0.3528, h * 0.557);
  586. c.lineTo(w * 0.7137, h * 0.2337);
  587. c.lineTo(w * 0.8246, h * 0.3337);
  588. c.lineTo(w * 0.4593, h * 0.6503);
  589. c.close();
  590. c.moveTo(w * 0.4561, h * 0.6003);
  591. c.lineTo(w * 0.543, h * 0.5253);
  592. c.lineTo(w * 0.492, h * 0.4787);
  593. c.lineTo(w * 0.4061, h * 0.557);
  594. c.close();
  595. c.moveTo(w * 0.5213, h * 0.457);
  596. c.lineTo(w * 0.5713, h * 0.5003);
  597. c.lineTo(w * 0.6648, h * 0.4237);
  598. c.lineTo(w * 0.6115, h * 0.377);
  599. c.close();
  600. c.moveTo(w * 0.6887, h * 0.397);
  601. c.lineTo(w * 0.7702, h * 0.3303);
  602. c.lineTo(w * 0.7104, h * 0.282);
  603. c.lineTo(w * 0.6333, h * 0.3503);
  604. c.close();
  605. c.fill();
  606. c.setStrokeWidth(2 * strokeWidth);
  607. c.setStrokeColor('#292929');
  608. c.setLineJoin('round');
  609. c.begin();
  610. c.moveTo(0, h * 0.6483);
  611. c.lineTo(w * 0.0684, h * 0.4133);
  612. c.lineTo(w * 0.5326, 0);
  613. c.lineTo(w * 0.6685, 0);
  614. c.lineTo(w * 0.9359, h * 0.2367);
  615. c.lineTo(w, h * 0.465);
  616. c.lineTo(w * 0.4, h);
  617. c.close();
  618. c.stroke();
  619. };
  620. mxCellRenderer.registerShape(mxShapeAws3dAMI.prototype.cst.AMI, mxShapeAws3dAMI);
  621. //**********************************************************************************************************************************************************
  622. //Snapshot
  623. //**********************************************************************************************************************************************************
  624. /**
  625. * Extends mxShape.
  626. */
  627. function mxShapeAws3dSnapshot(bounds, fill, stroke, strokewidth)
  628. {
  629. mxShape.call(this);
  630. this.bounds = bounds;
  631. this.fill = fill;
  632. this.stroke = stroke;
  633. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  634. };
  635. /**
  636. * Extends mxShape.
  637. */
  638. mxUtils.extend(mxShapeAws3dSnapshot, mxShape);
  639. mxShapeAws3dSnapshot.prototype.cst = {
  640. SNAPSHOT : 'mxgraph.aws3d.snapshot',
  641. SHADING_COLORS : 'shadingCols'
  642. };
  643. /**
  644. * Function: paintVertexShape
  645. *
  646. * Paints the vertex shape.
  647. */
  648. mxShapeAws3dSnapshot.prototype.paintVertexShape = function(c, x, y, w, h)
  649. {
  650. c.translate(x, y);
  651. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  652. var strokeWidth1 = strokeWidth * w / 92;
  653. var strokeWidth2 = strokeWidth * h / 60;
  654. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  655. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  656. c.setStrokeWidth(strokeWidth);
  657. c.setShadow(false);
  658. c.save();
  659. c.save();
  660. c.setStrokeWidth(2 * strokeWidth);
  661. c.setStrokeColor('#292929');
  662. c.setLineJoin('round');
  663. if(isShadow == 1)
  664. {
  665. c.setShadow(true);
  666. }
  667. c.begin();
  668. c.moveTo(w, h * 0.6483);
  669. c.lineTo(w * 0.9316, h * 0.4133);
  670. c.lineTo(w * 0.4674, 0);
  671. c.lineTo(w * 0.3315, 0);
  672. c.lineTo(w * 0.0641, h * 0.2367);
  673. c.lineTo(0, h * 0.465);
  674. c.lineTo(w * 0.6, h);
  675. c.close();
  676. c.fillAndStroke();
  677. c.restore();
  678. c.setFillColor('#000000');
  679. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSnapshot.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  680. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  681. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  682. c.begin();
  683. c.moveTo(w, h * 0.65);
  684. c.lineTo(w * 0.9348, h * 0.52);
  685. c.lineTo(w * 0.6674, h * 0.7667);
  686. c.lineTo(w * 0.5337, h * 0.7667);
  687. c.lineTo(w * 0.6, h);
  688. c.close();
  689. c.fill();
  690. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  691. c.begin();
  692. c.moveTo(w * 0.6, h);
  693. c.lineTo(w * 0.5359, h * 0.77);
  694. c.lineTo(w * 0.0674, h * 0.355);
  695. c.lineTo(w * 0.0653, h * 0.24);
  696. c.lineTo(0, h * 0.4667);
  697. c.close();
  698. c.fill();
  699. c.restore();
  700. c.setLineJoin('round');
  701. c.begin();
  702. c.moveTo(w, h * 0.65);
  703. c.lineTo(w * 0.9348, h * 0.52);
  704. c.lineTo(w * 0.6674, h * 0.7667);
  705. c.lineTo(w * 0.5337, h * 0.7667);
  706. c.lineTo(w * 0.6, h);
  707. c.close();
  708. c.stroke();
  709. c.begin();
  710. c.moveTo(w * 0.6, h);
  711. c.lineTo(w * 0.5359, h * 0.77);
  712. c.lineTo(w * 0.0674, h * 0.355);
  713. c.lineTo(w * 0.0653, h * 0.24);
  714. c.lineTo(0, h * 0.4667);
  715. c.close();
  716. c.stroke();
  717. c.begin();
  718. c.moveTo(w * 0.9348, h * 0.42);
  719. c.lineTo(w * 0.9348, h * 0.52);
  720. c.moveTo(w * 0.6663, h * 0.7667);
  721. c.lineTo(w * 0.6, h);
  722. c.moveTo(w * 0.0652, h * 0.355);
  723. c.lineTo(0, h * 0.4733);
  724. c.stroke();
  725. c.setStrokeWidth(2 * strokeWidth);
  726. c.setStrokeColor('#292929');
  727. c.setLineJoin('round');
  728. c.begin();
  729. c.moveTo(w, h * 0.6483);
  730. c.lineTo(w * 0.9316, h * 0.4133);
  731. c.lineTo(w * 0.4674, 0);
  732. c.lineTo(w * 0.3315, 0);
  733. c.lineTo(w * 0.0641, h * 0.2367);
  734. c.lineTo(0, h * 0.465);
  735. c.lineTo(w * 0.6, h);
  736. c.close();
  737. c.stroke();
  738. };
  739. mxCellRenderer.registerShape(mxShapeAws3dSnapshot.prototype.cst.SNAPSHOT, mxShapeAws3dSnapshot);
  740. //**********************************************************************************************************************************************************
  741. //Application
  742. //**********************************************************************************************************************************************************
  743. /**
  744. * Extends mxShape.
  745. */
  746. function mxShapeAws3dApplication(bounds, fill, stroke, strokewidth)
  747. {
  748. mxShape.call(this);
  749. this.bounds = bounds;
  750. this.fill = fill;
  751. this.stroke = stroke;
  752. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  753. };
  754. /**
  755. * Extends mxShape.
  756. */
  757. mxUtils.extend(mxShapeAws3dApplication, mxShape);
  758. mxShapeAws3dApplication.prototype.cst = {
  759. APPLICATION : 'mxgraph.aws3d.application',
  760. SHADING_COLORS : 'shadingCols'
  761. };
  762. /**
  763. * Function: paintVertexShape
  764. *
  765. * Paints the vertex shape.
  766. */
  767. mxShapeAws3dApplication.prototype.paintVertexShape = function(c, x, y, w, h)
  768. {
  769. c.translate(x, y);
  770. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  771. var strokeWidth1 = strokeWidth * w / 62;
  772. var strokeWidth2 = strokeWidth * h / 68.8;
  773. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  774. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  775. c.setShadow(false);
  776. c.setStrokeWidth(strokeWidth);
  777. c.save();
  778. c.save();
  779. c.setStrokeWidth(2 * strokeWidth);
  780. c.setStrokeColor('#292929');
  781. c.setLineJoin('round');
  782. if (isShadow == 1)
  783. {
  784. c.setShadow(true);
  785. }
  786. c.begin();
  787. c.moveTo(0, h * 0.2544);
  788. c.lineTo(w * 0.5, 0);
  789. c.lineTo(w, h * 0.2544);
  790. c.lineTo(w, h * 0.7485);
  791. c.lineTo(w * 0.5, h);
  792. c.lineTo(0, h * 0.7485);
  793. c.close();
  794. c.fillAndStroke();
  795. c.restore();
  796. c.setFillColor('#000000');
  797. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  798. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  799. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  800. c.begin();
  801. c.moveTo(0, h * 0.2544);
  802. c.lineTo(w * 0.5, h * 0.5015);
  803. c.lineTo(w * 0.5, h);
  804. c.lineTo(0, h * 0.7485);
  805. c.close();
  806. c.fill();
  807. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  808. c.begin();
  809. c.moveTo(w * 0.5, h * 0.5015);
  810. c.lineTo(w, h * 0.2544);
  811. c.lineTo(w, h * 0.7485);
  812. c.lineTo(w * 0.5, h);
  813. c.close();
  814. c.fill();
  815. c.restore();
  816. c.setLineJoin('round');
  817. c.begin();
  818. c.moveTo(0, h * 0.2544);
  819. c.lineTo(w * 0.5, h * 0.5015);
  820. c.lineTo(w * 0.5, h);
  821. c.lineTo(0, h * 0.7485);
  822. c.close();
  823. c.stroke();
  824. c.begin();
  825. c.moveTo(w * 0.5, h * 0.5015);
  826. c.lineTo(w, h * 0.2544);
  827. c.lineTo(w, h * 0.7485);
  828. c.lineTo(w * 0.5, h);
  829. c.close();
  830. c.stroke();
  831. c.setLineJoin('miter');
  832. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  833. c.setFillColor(strokeColor);
  834. c.begin();
  835. c.moveTo(w * 0.6694, h * 0.0872);
  836. c.lineTo(w * 0.7629, h * 0.1337);
  837. c.lineTo(w * 0.2661, h * 0.3882);
  838. c.lineTo(w * 0.2661, h * 0.5407);
  839. c.lineTo(w * 0.1742, h * 0.4953);
  840. c.lineTo(w * 0.1742, h * 0.3459);
  841. c.close();
  842. c.moveTo(w * 0.8629, h * 0.1846);
  843. c.lineTo(w * 0.379, h * 0.4331);
  844. c.lineTo(w * 0.379, h * 0.5945);
  845. c.lineTo(w * 0.2855, h * 0.5494);
  846. c.lineTo(w * 0.2855, h * 0.3953);
  847. c.lineTo(w * 0.7839, h * 0.1439);
  848. c.close();
  849. c.fill();
  850. c.setStrokeWidth(2 * strokeWidth);
  851. c.setStrokeColor('#292929');
  852. c.setLineJoin('round');
  853. c.begin();
  854. c.moveTo(0, h * 0.2544);
  855. c.lineTo(w * 0.5, 0);
  856. c.lineTo(w, h * 0.2544);
  857. c.lineTo(w, h * 0.7485);
  858. c.lineTo(w * 0.5, h);
  859. c.lineTo(0, h * 0.7485);
  860. c.close();
  861. c.stroke();
  862. };
  863. mxCellRenderer.registerShape(mxShapeAws3dApplication.prototype.cst.APPLICATION, mxShapeAws3dApplication);
  864. //**********************************************************************************************************************************************************
  865. //Application Server
  866. //**********************************************************************************************************************************************************
  867. /**
  868. * Extends mxShape.
  869. */
  870. function mxShapeAws3dApplicationServer(bounds, fill, stroke, strokewidth)
  871. {
  872. mxShape.call(this);
  873. this.bounds = bounds;
  874. this.fill = fill;
  875. this.stroke = stroke;
  876. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  877. };
  878. /**
  879. * Extends mxShape.
  880. */
  881. mxUtils.extend(mxShapeAws3dApplicationServer, mxShape);
  882. mxShapeAws3dApplicationServer.prototype.cst = {
  883. APPLICATION_SERVER : 'mxgraph.aws3d.application_server',
  884. SHADING_COLORS : 'shadingCols'
  885. };
  886. /**
  887. * Function: paintVertexShape
  888. *
  889. * Paints the vertex shape.
  890. */
  891. mxShapeAws3dApplicationServer.prototype.paintVertexShape = function(c, x, y, w, h)
  892. {
  893. c.translate(x, y);
  894. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  895. var strokeWidth1 = strokeWidth * w / 123;
  896. var strokeWidth2 = strokeWidth * h / 124;
  897. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  898. this.background(c, 0, 0, w, h, strokeWidth);
  899. c.setShadow(false);
  900. this.foreground(c, 0, 0, w, h, strokeWidth);
  901. };
  902. mxShapeAws3dApplicationServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  903. {
  904. c.setStrokeWidth(strokeWidth);
  905. c.save();
  906. c.save();
  907. c.setStrokeWidth(2 * strokeWidth);
  908. c.setStrokeColor('#292929');
  909. c.setLineJoin('round');
  910. c.begin();
  911. c.moveTo(0, h * 0.7236);
  912. c.lineTo(0, h * 0.2863);
  913. c.lineTo(w * 0.5, 0);
  914. c.lineTo(w, h * 0.2863);
  915. c.lineTo(w, h * 0.7236);
  916. c.lineTo(w * 0.5, h);
  917. c.close();
  918. c.fillAndStroke();
  919. };
  920. mxShapeAws3dApplicationServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  921. {
  922. c.restore();
  923. c.setShadow(false);
  924. c.setFillColor('#000000');
  925. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplicationServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  926. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  927. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  928. c.begin();
  929. c.moveTo(0, h * 0.2863);
  930. c.lineTo(w * 0.5, h * 0.5726);
  931. c.lineTo(w * 0.5, h);
  932. c.lineTo(0, h * 0.7177);
  933. c.close();
  934. c.fill();
  935. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  936. c.begin();
  937. c.moveTo(w, h * 0.2863);
  938. c.lineTo(w * 0.5, h * 0.5726);
  939. c.lineTo(w * 0.5, h);
  940. c.lineTo(w, h * 0.7177);
  941. c.close();
  942. c.fill();
  943. c.restore();
  944. c.setShadow(false);
  945. c.setLineJoin('round');
  946. c.begin();
  947. c.moveTo(0, h * 0.2863);
  948. c.lineTo(w * 0.5, h * 0.5726);
  949. c.lineTo(w * 0.5, h);
  950. c.lineTo(0, h * 0.7177);
  951. c.close();
  952. c.stroke();
  953. c.begin();
  954. c.moveTo(w, h * 0.2863);
  955. c.lineTo(w * 0.5, h * 0.5726);
  956. c.lineTo(w * 0.5, h);
  957. c.lineTo(w, h * 0.7177);
  958. c.close();
  959. c.stroke();
  960. c.setLineJoin('miter');
  961. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  962. c.setFillColor(strokeColor);
  963. c.begin();
  964. c.moveTo(w * 0.374, h * 0.4435);
  965. c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.374, h * 0.4153);
  966. c.lineTo(w * 0.4797, h * 0.3548);
  967. c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.5203, h * 0.3548);
  968. c.lineTo(w * 0.626, h * 0.4153);
  969. c.arcTo(w * 0.0325, h * 0.0202, 0, 0, 1, w * 0.626, h * 0.4411);
  970. c.lineTo(w * 0.5203, h * 0.5016);
  971. c.arcTo(w * 0.0325, h * 0.0161, 0, 0, 1, w * 0.4797, h * 0.5016);
  972. c.close();
  973. c.fill();
  974. c.setStrokeWidth(2 * strokeWidth);
  975. c.setStrokeColor('#292929');
  976. c.setLineJoin('round');
  977. c.begin();
  978. c.moveTo(0, h * 0.7236);
  979. c.lineTo(0, h * 0.2863);
  980. c.lineTo(w * 0.5, 0);
  981. c.lineTo(w, h * 0.2863);
  982. c.lineTo(w, h * 0.7236);
  983. c.lineTo(w * 0.5, h);
  984. c.close();
  985. c.stroke();
  986. };
  987. mxCellRenderer.registerShape(mxShapeAws3dApplicationServer.prototype.cst.APPLICATION_SERVER, mxShapeAws3dApplicationServer);
  988. //**********************************************************************************************************************************************************
  989. //CloudFront
  990. //**********************************************************************************************************************************************************
  991. /**
  992. * Extends mxShape.
  993. */
  994. function mxShapeAws3dCloudFront(bounds, fill, stroke, strokewidth)
  995. {
  996. mxShape.call(this);
  997. this.bounds = bounds;
  998. this.fill = fill;
  999. this.stroke = stroke;
  1000. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1001. };
  1002. /**
  1003. * Extends mxShape.
  1004. */
  1005. mxUtils.extend(mxShapeAws3dCloudFront, mxShape);
  1006. mxShapeAws3dCloudFront.prototype.cst = {
  1007. CLOUDFRONT : 'mxgraph.aws3d.cloudfront',
  1008. SHADING_COLORS : 'shadingCols'
  1009. };
  1010. /**
  1011. * Function: paintVertexShape
  1012. *
  1013. * Paints the vertex shape.
  1014. */
  1015. mxShapeAws3dCloudFront.prototype.paintVertexShape = function(c, x, y, w, h)
  1016. {
  1017. c.translate(x, y);
  1018. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1019. var strokeWidth1 = strokeWidth * w / 103.8;
  1020. var strokeWidth2 = strokeWidth * h / 169.8;
  1021. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1022. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1023. c.setShadow(false);
  1024. c.setStrokeWidth(strokeWidth);
  1025. c.save();
  1026. c.save();
  1027. c.setStrokeWidth(2 * strokeWidth);
  1028. c.setStrokeColor('#292929');
  1029. c.setLineJoin('round');
  1030. if (isShadow == 1)
  1031. {
  1032. c.setShadow(true);
  1033. }
  1034. c.begin();
  1035. c.moveTo(0, h * 0.7915);
  1036. c.lineTo(0, h * 0.7491);
  1037. c.lineTo(w * 0.0588, h * 0.7279);
  1038. c.lineTo(w * 0.0588, h * 0.1036);
  1039. c.lineTo(w * 0.3526, 0);
  1040. c.lineTo(w * 0.9422, h * 0.2073);
  1041. c.lineTo(w * 0.9422, h * 0.8316);
  1042. c.lineTo(w, h * 0.8539);
  1043. c.lineTo(w, h * 0.894);
  1044. c.lineTo(w * 0.7013, h);
  1045. c.lineTo(w * 0.5877, h);
  1046. c.close();
  1047. c.fillAndStroke();
  1048. c.restore();
  1049. c.setFillColor('#000000');
  1050. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCloudFront.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1051. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1052. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1053. c.begin();
  1054. c.moveTo(w * 0.0588, h * 0.106);
  1055. c.lineTo(w * 0.6474, h * 0.3121);
  1056. c.lineTo(w * 0.6474, h * 0.9352);
  1057. c.lineTo(w * 0.7052, h);
  1058. c.lineTo(w * 0.5915, h);
  1059. c.lineTo(0, h * 0.7915);
  1060. c.lineTo(0, h * 0.7491);
  1061. c.lineTo(w * 0.0588, h * 0.7279);
  1062. c.close();
  1063. c.fill();
  1064. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1065. c.begin();
  1066. c.moveTo(w * 0.6474, h * 0.3121);
  1067. c.lineTo(w * 0.9422, h * 0.2073);
  1068. c.lineTo(w * 0.9422, h * 0.8363);
  1069. c.lineTo(w, h * 0.8539);
  1070. c.lineTo(w, h * 0.894);
  1071. c.lineTo(w * 0.7013, h);
  1072. c.lineTo(w * 0.6474, h * 0.9305);
  1073. c.close();
  1074. c.fill();
  1075. c.restore();
  1076. c.setLineJoin('round');
  1077. c.begin();
  1078. c.moveTo(0, h * 0.7915);
  1079. c.lineTo(w * 0.0559, h * 0.7291);
  1080. c.lineTo(w * 0.6474, h * 0.9364);
  1081. c.lineTo(w * 0.5896, h);
  1082. c.moveTo(w * 0.6493, h * 0.9364);
  1083. c.lineTo(w * 0.9412, h * 0.8333);
  1084. c.lineTo(w, h * 0.894);
  1085. c.stroke();
  1086. c.begin();
  1087. c.moveTo(w * 0.0588, h * 0.106);
  1088. c.lineTo(w * 0.6474, h * 0.3121);
  1089. c.lineTo(w * 0.6474, h * 0.9352);
  1090. c.lineTo(w * 0.7052, h);
  1091. c.lineTo(w * 0.5915, h);
  1092. c.lineTo(0, h * 0.7915);
  1093. c.lineTo(0, h * 0.7491);
  1094. c.lineTo(w * 0.0588, h * 0.7279);
  1095. c.close();
  1096. c.stroke();
  1097. c.begin();
  1098. c.moveTo(w * 0.6474, h * 0.3121);
  1099. c.lineTo(w * 0.9422, h * 0.2073);
  1100. c.lineTo(w * 0.9422, h * 0.8363);
  1101. c.lineTo(w, h * 0.8539);
  1102. c.lineTo(w, h * 0.894);
  1103. c.lineTo(w * 0.7013, h);
  1104. c.lineTo(w * 0.6474, h * 0.9305);
  1105. c.close();
  1106. c.stroke();
  1107. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1108. c.setFillColor(strokeColor);
  1109. c.begin();
  1110. c.moveTo(w * 0.3333, h * 0.6643);
  1111. c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.2351, h * 0.6042);
  1112. c.arcTo(w * 0.4528, h * 0.2768, 0, 0, 1, w * 0.1724, h * 0.523);
  1113. c.lineTo(w * 0.2428, h * 0.5677);
  1114. c.lineTo(w * 0.2427, h * 0.5895);
  1115. c.lineTo(w * 0.2765, h * 0.5995);
  1116. c.close();
  1117. c.moveTo(w * 0.1599, h * 0.4935);
  1118. c.arcTo(w * 0.3372, h * 0.2061, 0, 0, 1, w * 0.1522, h * 0.4146);
  1119. c.arcTo(w * 0.1156, h * 0.0883, 0, 0, 1, w * 0.2071, h * 0.3486);
  1120. c.lineTo(w * 0.2013, h * 0.4187);
  1121. c.lineTo(w * 0.1859, h * 0.4146);
  1122. c.lineTo(w * 0.1859, h * 0.4464);
  1123. c.lineTo(w * 0.1907, h * 0.4493);
  1124. c.close();
  1125. c.moveTo(w * 0.2235, h * 0.3445);
  1126. c.arcTo(w * 0.1927, h * 0.1767, 0, 0, 1, w * 0.368, h * 0.361);
  1127. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.468, h * 0.4299);
  1128. c.lineTo(w * 0.368, h * 0.4034);
  1129. c.lineTo(w * 0.368, h * 0.394);
  1130. c.lineTo(w * 0.3256, h * 0.3799);
  1131. c.lineTo(w * 0.3256, h * 0.3887);
  1132. c.close();
  1133. c.moveTo(w * 0.4855, h * 0.4499);
  1134. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5337, h * 0.5395);
  1135. c.arcTo(w * 0.3854, h * 0.2356, 0, 0, 1, w * 0.5328, h * 0.6302);
  1136. c.lineTo(w * 0.4952, h * 0.5589);
  1137. c.lineTo(w * 0.5019, h * 0.5595);
  1138. c.lineTo(w * 0.5019, h * 0.5265);
  1139. c.lineTo(w * 0.4855, h * 0.5194);
  1140. c.close();
  1141. c.moveTo(w * 0.5241, h * 0.6455);
  1142. c.arcTo(w * 0.0963, h * 0.0589, 0, 0, 1, w * 0.4663, h * 0.682);
  1143. c.arcTo(w * 0.1445, h * 0.0883, 0, 0, 1, w * 0.3642, h * 0.6761);
  1144. c.lineTo(w * 0.4239, h * 0.6525);
  1145. c.lineTo(w * 0.4566, h * 0.6643);
  1146. c.lineTo(w * 0.4566, h * 0.6413);
  1147. c.close();
  1148. c.moveTo(w * 0.3507, h * 0.6667);
  1149. c.lineTo(w * 0.2871, h * 0.5919);
  1150. c.lineTo(w * 0.4123, h * 0.6366);
  1151. c.close();
  1152. c.moveTo(w * 0.2563, h * 0.5595);
  1153. c.lineTo(w * 0.1753, h * 0.5088);
  1154. c.lineTo(w * 0.2052, h * 0.4594);
  1155. c.close();
  1156. c.moveTo(w * 0.2139, h * 0.4229);
  1157. c.lineTo(w * 0.2197, h * 0.3528);
  1158. c.lineTo(w * 0.3256, h * 0.4028);
  1159. c.lineTo(w * 0.2283, h * 0.4252);
  1160. c.close();
  1161. c.moveTo(w * 0.2264, h * 0.4417);
  1162. c.lineTo(w * 0.3218, h * 0.4146);
  1163. c.lineTo(w * 0.3353, h * 0.4181);
  1164. c.lineTo(w * 0.3353, h * 0.4971);
  1165. c.lineTo(w * 0.3208, h * 0.4912);
  1166. c.lineTo(w * 0.3208, h * 0.4965);
  1167. c.lineTo(w * 0.2264, h * 0.4482);
  1168. c.close();
  1169. c.moveTo(w * 0.2697, h * 0.5618);
  1170. c.lineTo(w * 0.2245, h * 0.4635);
  1171. c.lineTo(w * 0.2331, h * 0.4588);
  1172. c.lineTo(w * 0.3256, h * 0.5112);
  1173. c.lineTo(w * 0.3237, h * 0.5241);
  1174. c.close();
  1175. c.moveTo(w * 0.2852, h * 0.576);
  1176. c.lineTo(w * 0.2852, h * 0.5654);
  1177. c.lineTo(w * 0.3391, h * 0.53);
  1178. c.lineTo(w * 0.3516, h * 0.5347);
  1179. c.lineTo(w * 0.4133, h * 0.6213);
  1180. c.close();
  1181. c.moveTo(w * 0.368, h * 0.5141);
  1182. c.lineTo(w * 0.368, h * 0.5088);
  1183. c.lineTo(w * 0.3526, h * 0.5029);
  1184. c.lineTo(w * 0.3526, h * 0.4234);
  1185. c.lineTo(w * 0.3622, h * 0.4276);
  1186. c.lineTo(w * 0.4547, h * 0.5177);
  1187. c.lineTo(w * 0.4557, h * 0.5277);
  1188. c.close();
  1189. c.moveTo(w * 0.3671, h * 0.417);
  1190. c.lineTo(w * 0.4692, h * 0.4411);
  1191. c.lineTo(w * 0.4721, h * 0.52);
  1192. c.close();
  1193. c.moveTo(w * 0.368, h * 0.5253);
  1194. c.lineTo(w * 0.4566, h * 0.5359);
  1195. c.lineTo(w * 0.4566, h * 0.5453);
  1196. c.lineTo(w * 0.4663, h * 0.5465);
  1197. c.lineTo(w * 0.4335, h * 0.6201);
  1198. c.lineTo(w * 0.422, h * 0.616);
  1199. c.lineTo(w * 0.368, h * 0.5389);
  1200. c.close();
  1201. c.moveTo(w * 0.4798, h * 0.5583);
  1202. c.lineTo(w * 0.5183, h * 0.629);
  1203. c.lineTo(w * 0.4557, h * 0.6313);
  1204. c.lineTo(w * 0.4557, h * 0.6237);
  1205. c.lineTo(w * 0.447, h * 0.6225);
  1206. c.close();
  1207. c.fill();
  1208. c.setStrokeWidth(2 * strokeWidth);
  1209. c.setStrokeColor('#292929');
  1210. c.setLineJoin('round');
  1211. c.begin();
  1212. c.moveTo(0, h * 0.7915);
  1213. c.lineTo(0, h * 0.7491);
  1214. c.lineTo(w * 0.0588, h * 0.7279);
  1215. c.lineTo(w * 0.0588, h * 0.1036);
  1216. c.lineTo(w * 0.3526, 0);
  1217. c.lineTo(w * 0.9422, h * 0.2073);
  1218. c.lineTo(w * 0.9422, h * 0.8316);
  1219. c.lineTo(w, h * 0.8539);
  1220. c.lineTo(w, h * 0.894);
  1221. c.lineTo(w * 0.7013, h);
  1222. c.lineTo(w * 0.5877, h);
  1223. c.close();
  1224. c.stroke();
  1225. };
  1226. mxCellRenderer.registerShape(mxShapeAws3dCloudFront.prototype.cst.CLOUDFRONT, mxShapeAws3dCloudFront);
  1227. //**********************************************************************************************************************************************************
  1228. //Data Center
  1229. //**********************************************************************************************************************************************************
  1230. /**
  1231. * Extends mxShape.
  1232. */
  1233. function mxShapeAws3dDataCenter(bounds, fill, stroke, strokewidth)
  1234. {
  1235. mxShape.call(this);
  1236. this.bounds = bounds;
  1237. this.fill = fill;
  1238. this.stroke = stroke;
  1239. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1240. };
  1241. /**
  1242. * Extends mxShape.
  1243. */
  1244. mxUtils.extend(mxShapeAws3dDataCenter, mxShape);
  1245. mxShapeAws3dDataCenter.prototype.cst = {
  1246. DATA_CENTER : 'mxgraph.aws3d.dataCenter',
  1247. SHADING_COLORS : 'shadingCols'
  1248. };
  1249. /**
  1250. * Function: paintVertexShape
  1251. *
  1252. * Paints the vertex shape.
  1253. */
  1254. mxShapeAws3dDataCenter.prototype.paintVertexShape = function(c, x, y, w, h)
  1255. {
  1256. c.translate(x, y);
  1257. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1258. var strokeWidth1 = strokeWidth * w / 123;
  1259. var strokeWidth2 = strokeWidth * h / 142;
  1260. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1261. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1262. c.setShadow(false);
  1263. c.setStrokeWidth(strokeWidth);
  1264. c.save();
  1265. c.save();
  1266. c.setStrokeWidth(2 * strokeWidth);
  1267. c.setStrokeColor('#292929');
  1268. c.setLineJoin('round');
  1269. if (isShadow == 1)
  1270. {
  1271. c.setShadow(true);
  1272. }
  1273. c.begin();
  1274. c.moveTo(0, h * 0.7465);
  1275. c.lineTo(0, h * 0.25);
  1276. c.lineTo(w * 0.5, 0);
  1277. c.lineTo(w, h * 0.25);
  1278. c.lineTo(w, h * 0.7465);
  1279. c.lineTo(w * 0.5, h);
  1280. c.close();
  1281. c.fillAndStroke();
  1282. c.restore();
  1283. c.setFillColor('#000000');
  1284. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataCenter.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1285. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1286. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1287. c.begin();
  1288. c.moveTo(0, h * 0.7465);
  1289. c.lineTo(0, h * 0.25);
  1290. c.lineTo(w * 0.5, h * 0.5);
  1291. c.lineTo(w * 0.5, h);
  1292. c.close();
  1293. c.fill();
  1294. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1295. c.begin();
  1296. c.moveTo(w, h * 0.7465);
  1297. c.lineTo(w, h * 0.25);
  1298. c.lineTo(w * 0.5, h * 0.5);
  1299. c.lineTo(w * 0.5, h);
  1300. c.close();
  1301. c.fill();
  1302. c.restore();
  1303. c.setLineJoin('round');
  1304. c.begin();
  1305. c.moveTo(0, h * 0.7465);
  1306. c.lineTo(0, h * 0.25);
  1307. c.lineTo(w * 0.5, h * 0.5);
  1308. c.lineTo(w * 0.5, h);
  1309. c.close();
  1310. c.stroke();
  1311. c.begin();
  1312. c.moveTo(w, h * 0.7465);
  1313. c.lineTo(w, h * 0.25);
  1314. c.lineTo(w * 0.5, h * 0.5);
  1315. c.lineTo(w * 0.5, h);
  1316. c.close();
  1317. c.stroke();
  1318. c.setLineCap('round');
  1319. c.setStrokeWidth(3 * strokeWidth);
  1320. c.begin();
  1321. c.moveTo(w * 0.0894, h * 0.3838);
  1322. c.lineTo(w * 0.4187, h * 0.5493);
  1323. c.moveTo(w * 0.0894, h * 0.4331);
  1324. c.lineTo(w * 0.4187, h * 0.5986);
  1325. c.moveTo(w * 0.0894, h * 0.4824);
  1326. c.lineTo(w * 0.4187, h * 0.6479);
  1327. c.moveTo(w * 0.5854, h * 0.5493);
  1328. c.lineTo(w * 0.9146, h * 0.3838);
  1329. c.moveTo(w * 0.5854, h * 0.5986);
  1330. c.lineTo(w * 0.9146, h * 0.4331);
  1331. c.moveTo(w * 0.5854, h * 0.6479);
  1332. c.lineTo(w * 0.9146, h * 0.4824);
  1333. c.stroke();
  1334. c.setStrokeWidth(2 * strokeWidth);
  1335. c.setStrokeColor('#292929');
  1336. c.setLineJoin('round');
  1337. c.begin();
  1338. c.moveTo(0, h * 0.7465);
  1339. c.lineTo(0, h * 0.25);
  1340. c.lineTo(w * 0.5, 0);
  1341. c.lineTo(w, h * 0.25);
  1342. c.lineTo(w, h * 0.7465);
  1343. c.lineTo(w * 0.5, h);
  1344. c.close();
  1345. c.stroke();
  1346. };
  1347. mxCellRenderer.registerShape(mxShapeAws3dDataCenter.prototype.cst.DATA_CENTER, mxShapeAws3dDataCenter);
  1348. //**********************************************************************************************************************************************************
  1349. //Data Server
  1350. //**********************************************************************************************************************************************************
  1351. /**
  1352. * Extends mxShape.
  1353. */
  1354. function mxShapeAws3dDataServer(bounds, fill, stroke, strokewidth)
  1355. {
  1356. mxShape.call(this);
  1357. this.bounds = bounds;
  1358. this.fill = fill;
  1359. this.stroke = stroke;
  1360. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1361. };
  1362. /**
  1363. * Extends mxShape.
  1364. */
  1365. mxUtils.extend(mxShapeAws3dDataServer, mxShape);
  1366. mxShapeAws3dDataServer.prototype.cst = {
  1367. DATA_SERVER : 'mxgraph.aws3d.dataServer',
  1368. SHADINC_COLORS : 'shadingCols'
  1369. };
  1370. /**
  1371. * Function: paintVertexShape
  1372. *
  1373. * Paints the vertex shape.
  1374. */
  1375. mxShapeAws3dDataServer.prototype.paintVertexShape = function(c, x, y, w, h)
  1376. {
  1377. c.translate(x, y);
  1378. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1379. var strokeWidth1 = strokeWidth * w / 123;
  1380. var strokeWidth2 = strokeWidth * h / 106;
  1381. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1382. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1383. c.setShadow(false);
  1384. c.setStrokeWidth(strokeWidth);
  1385. c.save();
  1386. c.save();
  1387. c.setStrokeWidth(2 * strokeWidth);
  1388. c.setStrokeColor('#292929');
  1389. c.setLineJoin('round');
  1390. if (isShadow == 1)
  1391. {
  1392. c.setShadow(true);
  1393. }
  1394. c.begin();
  1395. c.moveTo(0, h * 0.6651);
  1396. c.lineTo(0, h * 0.3349);
  1397. c.lineTo(w * 0.5, 0);
  1398. c.lineTo(w, h * 0.3349);
  1399. c.lineTo(w, h * 0.6651);
  1400. c.lineTo(w * 0.5, h);
  1401. c.close();
  1402. c.fillAndStroke();
  1403. c.restore();
  1404. c.setFillColor('#000000');
  1405. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDataServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1406. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1407. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1408. c.begin();
  1409. c.moveTo(0, h * 0.6651);
  1410. c.lineTo(0, h * 0.3349);
  1411. c.lineTo(w * 0.5, h * 0.6698);
  1412. c.lineTo(w * 0.5, h);
  1413. c.close();
  1414. c.fill();
  1415. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1416. c.begin();
  1417. c.moveTo(w, h * 0.6651);
  1418. c.lineTo(w, h * 0.3349);
  1419. c.lineTo(w * 0.5, h * 0.6698);
  1420. c.lineTo(w * 0.5, h);
  1421. c.close();
  1422. c.fill();
  1423. c.restore();
  1424. c.setLineJoin('round');
  1425. c.begin();
  1426. c.moveTo(0, h * 0.6651);
  1427. c.lineTo(0, h * 0.3349);
  1428. c.lineTo(w * 0.5, h * 0.6698);
  1429. c.lineTo(w * 0.5, h);
  1430. c.close();
  1431. c.stroke();
  1432. c.begin();
  1433. c.moveTo(w, h * 0.6651);
  1434. c.lineTo(w, h * 0.3349);
  1435. c.lineTo(w * 0.5, h * 0.6698);
  1436. c.lineTo(w * 0.5, h);
  1437. c.close();
  1438. c.stroke();
  1439. c.setLineCap('round');
  1440. c.setStrokeWidth(3 * strokeWidth);
  1441. c.begin();
  1442. c.moveTo(w * 0.0878, h * 0.4858);
  1443. c.lineTo(w * 0.4187, h * 0.7094);
  1444. c.moveTo(w * 0.587, h * 0.7094);
  1445. c.lineTo(w * 0.9187, h * 0.4858);
  1446. c.stroke();
  1447. c.setStrokeWidth(2 * strokeWidth);
  1448. c.setStrokeColor('#292929');
  1449. c.setLineJoin('round');
  1450. c.begin();
  1451. c.moveTo(0, h * 0.6651);
  1452. c.lineTo(0, h * 0.3349);
  1453. c.lineTo(w * 0.5, 0);
  1454. c.lineTo(w, h * 0.3349);
  1455. c.lineTo(w, h * 0.6651);
  1456. c.lineTo(w * 0.5, h);
  1457. c.close();
  1458. c.stroke();
  1459. };
  1460. mxCellRenderer.registerShape(mxShapeAws3dDataServer.prototype.cst.DATA_SERVER, mxShapeAws3dDataServer);
  1461. //**********************************************************************************************************************************************************
  1462. //Elastic Load Balancing
  1463. //**********************************************************************************************************************************************************
  1464. /**
  1465. * Extends mxShape.
  1466. */
  1467. function mxShapeAws3dElasticLoadBalancing(bounds, fill, stroke, strokewidth)
  1468. {
  1469. mxShape.call(this);
  1470. this.bounds = bounds;
  1471. this.fill = fill;
  1472. this.stroke = stroke;
  1473. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1474. };
  1475. /**
  1476. * Extends mxShape.
  1477. */
  1478. mxUtils.extend(mxShapeAws3dElasticLoadBalancing, mxShape);
  1479. mxShapeAws3dElasticLoadBalancing.prototype.cst = {
  1480. ELASTIC_LOAD_BALANCING : 'mxgraph.aws3d.elasticLoadBalancing',
  1481. SHADING_COLORS : 'shadingCols'
  1482. };
  1483. /**
  1484. * Function: paintVertexShape
  1485. *
  1486. * Paints the vertex shape.
  1487. */
  1488. mxShapeAws3dElasticLoadBalancing.prototype.paintVertexShape = function(c, x, y, w, h)
  1489. {
  1490. c.translate(x, y);
  1491. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1492. var strokeWidth1 = strokeWidth * w / 92;
  1493. var strokeWidth2 = strokeWidth * h / 88.17;
  1494. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1495. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  1496. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1497. c.setShadow(false);
  1498. c.setStrokeWidth(strokeWidth);
  1499. c.save();
  1500. c.save();
  1501. c.save();
  1502. c.save();
  1503. c.setStrokeWidth(2 * strokeWidth);
  1504. c.setStrokeColor('#292929');
  1505. c.setLineJoin('round');
  1506. if (isShadow == 1)
  1507. {
  1508. c.setShadow(true);
  1509. }
  1510. c.begin();
  1511. c.moveTo(0, h * 0.7996);
  1512. c.lineTo(0, h * 0.1985);
  1513. c.lineTo(w * 0.3315, 0);
  1514. c.lineTo(w * 0.6685, 0);
  1515. c.lineTo(w, h * 0.1985);
  1516. c.lineTo(w, h * 0.7996);
  1517. c.lineTo(w * 0.6685, h);
  1518. c.lineTo(w * 0.3315, h);
  1519. c.close();
  1520. c.fillAndStroke();
  1521. c.restore();
  1522. c.setFillColor('#000000');
  1523. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticLoadBalancing.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1524. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1525. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1526. c.begin();
  1527. c.moveTo(0, h * 0.4026);
  1528. c.lineTo(w * 0.3315, h * 0.6011);
  1529. c.lineTo(w * 0.6685, h * 0.6011);
  1530. c.lineTo(w * 0.6685, h);
  1531. c.lineTo(w * 0.3315, h);
  1532. c.lineTo(0, h * 0.7996);
  1533. c.close();
  1534. c.fill();
  1535. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1536. c.begin();
  1537. c.moveTo(w * 0.6685, h * 0.6011);
  1538. c.lineTo(w, h * 0.4026);
  1539. c.lineTo(w, h * 0.7996);
  1540. c.lineTo(w * 0.6685, h);
  1541. c.close();
  1542. c.fill();
  1543. c.restore();
  1544. c.setLineJoin('round');
  1545. c.begin();
  1546. c.moveTo(0, h * 0.4026);
  1547. c.lineTo(w * 0.3315, h * 0.6011);
  1548. c.lineTo(w * 0.6685, h * 0.6011);
  1549. c.lineTo(w * 0.6685, h);
  1550. c.lineTo(w * 0.3315, h);
  1551. c.lineTo(0, h * 0.7996);
  1552. c.close();
  1553. c.stroke();
  1554. c.begin();
  1555. c.moveTo(w * 0.6685, h * 0.6011);
  1556. c.lineTo(w, h * 0.4026);
  1557. c.lineTo(w, h * 0.7996);
  1558. c.lineTo(w * 0.6685, h);
  1559. c.close();
  1560. c.moveTo(w * 0.3315, h * 0.6011);
  1561. c.lineTo(w * 0.3315, h);
  1562. c.stroke();
  1563. c.restore();
  1564. c.setFillColor(strokeColor);
  1565. c.begin();
  1566. c.moveTo(w * 0.337, h * 0.1395);
  1567. c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.5, h * 0.1191);
  1568. c.arcTo(w * 0.3043, h * 0.1928, 0, 0, 1, w * 0.6739, h * 0.1645);
  1569. c.arcTo(w * 0.3261, h * 0.2155, 0, 0, 1, w * 0.8152, h * 0.3176);
  1570. c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.75, h * 0.4367);
  1571. c.arcTo(w * 0.3261, h * 0.3403, 0, 0, 1, w * 0.6033, h * 0.4854);
  1572. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.4348, h * 0.4741);
  1573. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2848, h * 0.4094);
  1574. c.arcTo(w * 0.3261, h * 0.2268, 0, 0, 1, w * 0.2065, h * 0.3062);
  1575. c.arcTo(w * 0.3261, h * 0.1701, 0, 0, 1, w * 0.2446, h * 0.1928);
  1576. c.arcTo(w * 0.2717, h * 0.1701, 0, 0, 1, w * 0.337, h * 0.1395);
  1577. c.fill();
  1578. c.restore();
  1579. c.begin();
  1580. c.moveTo(w * 0.2826, h * 0.372);
  1581. c.lineTo(w * 0.362, h * 0.3232);
  1582. c.lineTo(w * 0.4054, h * 0.3482);
  1583. c.lineTo(w * 0.4457, h * 0.2654);
  1584. c.lineTo(w * 0.4185, h * 0.2643);
  1585. c.lineTo(w * 0.4728, h * 0.2132);
  1586. c.lineTo(w * 0.4348, h * 0.1928);
  1587. c.lineTo(w * 0.5141, h * 0.144);
  1588. c.lineTo(w * 0.5837, h * 0.1883);
  1589. c.lineTo(w * 0.5043, h * 0.2348);
  1590. c.lineTo(w * 0.4848, h * 0.2223);
  1591. c.lineTo(w * 0.4967, h * 0.2688);
  1592. c.lineTo(w * 0.463, h * 0.2665);
  1593. c.lineTo(w * 0.4304, h * 0.3346);
  1594. c.lineTo(w * 0.4946, h * 0.2949);
  1595. c.lineTo(w * 0.4761, h * 0.2858);
  1596. c.lineTo(w * 0.5511, h * 0.2631);
  1597. c.lineTo(w * 0.5261, h * 0.2472);
  1598. c.lineTo(w * 0.6043, h * 0.1996);
  1599. c.lineTo(w * 0.6761, h * 0.2404);
  1600. c.lineTo(w * 0.5978, h * 0.2892);
  1601. c.lineTo(w * 0.5652, h * 0.2699);
  1602. c.lineTo(w * 0.5293, h * 0.3198);
  1603. c.lineTo(w * 0.5087, h * 0.3051);
  1604. c.lineTo(w * 0.4543, h * 0.3391);
  1605. c.lineTo(w * 0.563, h * 0.3221);
  1606. c.lineTo(w * 0.5598, h * 0.3017);
  1607. c.lineTo(w * 0.6326, h * 0.3096);
  1608. c.lineTo(w * 0.6163, h * 0.2994);
  1609. c.lineTo(w * 0.6957, h * 0.2529);
  1610. c.lineTo(w * 0.7674, h * 0.2938);
  1611. c.lineTo(w * 0.687, h * 0.3425);
  1612. c.lineTo(w * 0.6489, h * 0.321);
  1613. c.lineTo(w * 0.5707, h * 0.3539);
  1614. c.lineTo(w * 0.5674, h * 0.3369);
  1615. c.lineTo(w * 0.4293, h * 0.3618);
  1616. c.lineTo(w * 0.4641, h * 0.3834);
  1617. c.lineTo(w * 0.3859, h * 0.4299);
  1618. c.close();
  1619. c.fill();
  1620. c.setStrokeWidth(2 * strokeWidth);
  1621. c.setStrokeColor('#292929');
  1622. c.setLineJoin('round');
  1623. c.begin();
  1624. c.moveTo(0, h * 0.7996);
  1625. c.lineTo(0, h * 0.1985);
  1626. c.lineTo(w * 0.3315, 0);
  1627. c.lineTo(w * 0.6685, 0);
  1628. c.lineTo(w, h * 0.1985);
  1629. c.lineTo(w, h * 0.7996);
  1630. c.lineTo(w * 0.6685, h);
  1631. c.lineTo(w * 0.3315, h);
  1632. c.close();
  1633. c.stroke();
  1634. };
  1635. mxCellRenderer.registerShape(mxShapeAws3dElasticLoadBalancing.prototype.cst.ELASTIC_LOAD_BALANCING, mxShapeAws3dElasticLoadBalancing);
  1636. //**********************************************************************************************************************************************************
  1637. //Instance
  1638. //**********************************************************************************************************************************************************
  1639. /**
  1640. * Extends mxShape.
  1641. */
  1642. function mxShapeAws3dInstance(bounds, fill, stroke, strokewidth)
  1643. {
  1644. mxShape.call(this);
  1645. this.bounds = bounds;
  1646. this.fill = fill;
  1647. this.stroke = stroke;
  1648. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1649. };
  1650. /**
  1651. * Extends mxShape.
  1652. */
  1653. mxUtils.extend(mxShapeAws3dInstance, mxShape);
  1654. mxShapeAws3dInstance.prototype.cst = {
  1655. INSTANCE : 'mxgraph.aws3d.instance',
  1656. SHADIG_COLORS : 'shadingCols'
  1657. };
  1658. /**
  1659. * Function: paintVertexShape
  1660. *
  1661. * Paints the vertex shape.
  1662. */
  1663. mxShapeAws3dInstance.prototype.paintVertexShape = function(c, x, y, w, h)
  1664. {
  1665. c.translate(x, y);
  1666. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1667. var strokeWidth1 = strokeWidth * w / 123;
  1668. var strokeWidth2 = strokeWidth * h / 97;
  1669. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1670. this.background(c, 0, 0, w, h, strokeWidth);
  1671. c.setShadow(false);
  1672. this.foreground(c, 0, 0, w, h, strokeWidth);
  1673. };
  1674. mxShapeAws3dInstance.prototype.background = function(c, x, y, w, h, strokeWidth)
  1675. {
  1676. c.setStrokeWidth(strokeWidth);
  1677. c.save();
  1678. c.save();
  1679. c.setStrokeWidth(2 * strokeWidth);
  1680. c.setStrokeColor('#292929');
  1681. c.setLineJoin('round');
  1682. c.begin();
  1683. c.moveTo(0, h * 0.634);
  1684. c.lineTo(0, h * 0.2732);
  1685. c.lineTo(w * 0.374, 0);
  1686. c.lineTo(w * 0.622, 0);
  1687. c.lineTo(w, h * 0.2732);
  1688. c.lineTo(w, h * 0.634);
  1689. c.lineTo(w * 0.5, h);
  1690. c.close();
  1691. c.fillAndStroke();
  1692. };
  1693. mxShapeAws3dInstance.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  1694. {
  1695. c.restore();
  1696. c.setShadow(false);
  1697. c.setFillColor('#000000');
  1698. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInstance.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1699. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1700. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1701. c.begin();
  1702. c.moveTo(0, h * 0.2732);
  1703. c.lineTo(w * 0.5, h * 0.6392);
  1704. c.lineTo(w * 0.5, h);
  1705. c.lineTo(0, h * 0.634);
  1706. c.close();
  1707. c.fill();
  1708. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1709. c.begin();
  1710. c.moveTo(w * 0.5, h * 0.6392);
  1711. c.lineTo(w, h * 0.2732);
  1712. c.lineTo(w, h * 0.6392);
  1713. c.lineTo(w * 0.5, h);
  1714. c.close();
  1715. c.fill();
  1716. c.restore();
  1717. c.setShadow(false);
  1718. c.setLineJoin('round');
  1719. c.begin();
  1720. c.moveTo(0, h * 0.2732);
  1721. c.lineTo(w * 0.5, h * 0.6392);
  1722. c.lineTo(w * 0.5, h);
  1723. c.lineTo(0, h * 0.634);
  1724. c.close();
  1725. c.stroke();
  1726. c.begin();
  1727. c.moveTo(w * 0.5, h * 0.6392);
  1728. c.lineTo(w, h * 0.2732);
  1729. c.lineTo(w, h * 0.6392);
  1730. c.lineTo(w * 0.5, h);
  1731. c.close();
  1732. c.stroke();
  1733. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1734. c.setFillColor(strokeColor);
  1735. c.begin();
  1736. c.moveTo(w * 0.374, h * 0.4742);
  1737. c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.374, h * 0.4381);
  1738. c.lineTo(w * 0.4797, h * 0.3608);
  1739. c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.5203, h * 0.3608);
  1740. c.lineTo(w * 0.626, h * 0.4381);
  1741. c.arcTo(w * 0.0325, h * 0.0258, 0, 0, 1, w * 0.626, h * 0.4711);
  1742. c.lineTo(w * 0.5203, h * 0.5485);
  1743. c.arcTo(w * 0.0325, h * 0.0206, 0, 0, 1, w * 0.4797, h * 0.5485);
  1744. c.close();
  1745. c.fill();
  1746. c.setStrokeWidth(2 * strokeWidth);
  1747. c.setStrokeColor('#292929');
  1748. c.setLineJoin('round');
  1749. c.begin();
  1750. c.moveTo(0, h * 0.634);
  1751. c.lineTo(0, h * 0.2732);
  1752. c.lineTo(w * 0.374, 0);
  1753. c.lineTo(w * 0.622, 0);
  1754. c.lineTo(w, h * 0.2732);
  1755. c.lineTo(w, h * 0.634);
  1756. c.lineTo(w * 0.5, h);
  1757. c.close();
  1758. c.stroke();
  1759. };
  1760. mxCellRenderer.registerShape(mxShapeAws3dInstance.prototype.cst.INSTANCE, mxShapeAws3dInstance);
  1761. //**********************************************************************************************************************************************************
  1762. //Internet Gateway
  1763. //**********************************************************************************************************************************************************
  1764. /**
  1765. * Extends mxShape.
  1766. */
  1767. function mxShapeAws3dInternetGateway(bounds, fill, stroke, strokewidth)
  1768. {
  1769. mxShape.call(this);
  1770. this.bounds = bounds;
  1771. this.fill = fill;
  1772. this.stroke = stroke;
  1773. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1774. };
  1775. /**
  1776. * Extends mxShape.
  1777. */
  1778. mxUtils.extend(mxShapeAws3dInternetGateway, mxShape);
  1779. mxShapeAws3dInternetGateway.prototype.cst = {
  1780. INTERNET_GATEWAY : 'mxgraph.aws3d.internetGateway',
  1781. SHADING_COLORS : 'shadingCols'
  1782. };
  1783. /**
  1784. * Function: paintVertexShape
  1785. *
  1786. * Paints the vertex shape.
  1787. */
  1788. mxShapeAws3dInternetGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  1789. {
  1790. c.translate(x, y);
  1791. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1792. var strokeWidth1 = strokeWidth * w / 116.7;
  1793. var strokeWidth2 = strokeWidth * h / 102.8;
  1794. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1795. this.background(c, 0, 0, w, h, strokeWidth);
  1796. c.setShadow(false);
  1797. this.foreground(c, 0, 0, w, h, strokeWidth);
  1798. };
  1799. mxShapeAws3dInternetGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  1800. {
  1801. c.setStrokeWidth(strokeWidth);
  1802. c.save();
  1803. c.save();
  1804. c.save();
  1805. c.save();
  1806. c.save();
  1807. c.setStrokeWidth(2 * strokeWidth);
  1808. c.setStrokeColor('#292929');
  1809. c.setLineJoin('round');
  1810. c.begin();
  1811. c.moveTo(w * 0.4199, h * 0.5447);
  1812. c.lineTo(w * 0.4199, h * 0.035);
  1813. c.lineTo(w * 0.8946, 0);
  1814. c.lineTo(w, h * 0.0691);
  1815. c.lineTo(w, h * 0.4134);
  1816. c.lineTo(w * 0.6812, h * 0.7247);
  1817. c.close();
  1818. c.fillAndStroke();
  1819. c.restore();
  1820. c.save();
  1821. c.setShadow(false);
  1822. c.setFillColor('#000000');
  1823. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1824. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1825. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1826. c.begin();
  1827. c.moveTo(w * 0.4199, h * 0.5447);
  1828. c.lineTo(w * 0.4199, h * 0.035);
  1829. c.lineTo(w * 0.6838, h * 0.2072);
  1830. c.lineTo(w * 0.6838, h * 0.7247);
  1831. c.close();
  1832. c.fill();
  1833. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1834. c.begin();
  1835. c.moveTo(w * 0.6838, h * 0.2072);
  1836. c.lineTo(w, h * 0.0691);
  1837. c.lineTo(w, h * 0.4134);
  1838. c.lineTo(w * 0.6838, h * 0.7247);
  1839. c.close();
  1840. c.fill();
  1841. c.restore();
  1842. c.setShadow(false);
  1843. c.begin();
  1844. c.moveTo(w * 0.4199, h * 0.5447);
  1845. c.lineTo(w * 0.4199, h * 0.035);
  1846. c.lineTo(w * 0.6838, h * 0.2072);
  1847. c.lineTo(w * 0.6838, h * 0.7247);
  1848. c.close();
  1849. c.stroke();
  1850. c.restore();
  1851. c.setLineJoin('round');
  1852. c.setShadow(false);
  1853. c.begin();
  1854. c.moveTo(w * 0.6838, h * 0.2072);
  1855. c.lineTo(w, h * 0.0691);
  1856. c.lineTo(w, h * 0.4134);
  1857. c.lineTo(w * 0.6838, h * 0.7247);
  1858. c.close();
  1859. c.stroke();
  1860. c.setStrokeWidth(2 * strokeWidth);
  1861. c.setStrokeColor('#292929');
  1862. c.begin();
  1863. c.moveTo(w * 0.4199, h * 0.5447);
  1864. c.lineTo(w * 0.4199, h * 0.035);
  1865. c.lineTo(w * 0.8946, 0);
  1866. c.lineTo(w, h * 0.0691);
  1867. c.lineTo(w, h * 0.4134);
  1868. c.lineTo(w * 0.6812, h * 0.7247);
  1869. c.close();
  1870. c.stroke();
  1871. c.restore();
  1872. c.setStrokeWidth(2 * strokeWidth);
  1873. c.setStrokeColor('#292929');
  1874. c.setLineJoin('round');
  1875. c.begin();
  1876. c.moveTo(0, h * 0.929);
  1877. c.lineTo(0, h * 0.5866);
  1878. c.lineTo(w * 0.3171, h * 0.1031);
  1879. c.lineTo(w * 0.5784, h * 0.2753);
  1880. c.lineTo(w * 0.5784, h * 0.7928);
  1881. c.lineTo(w * 0.1054, h);
  1882. c.close();
  1883. c.fillAndStroke();
  1884. };
  1885. mxShapeAws3dInternetGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  1886. {
  1887. c.restore();
  1888. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  1889. c.setShadow(false);
  1890. c.setLineJoin('round');
  1891. c.setFillColor('#000000');
  1892. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dInternetGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  1893. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  1894. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  1895. c.begin();
  1896. c.moveTo(0, h * 0.929);
  1897. c.lineTo(0, h * 0.5866);
  1898. c.lineTo(w * 0.1054, h * 0.6537);
  1899. c.lineTo(w * 0.1054, h);
  1900. c.close();
  1901. c.fill();
  1902. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  1903. c.begin();
  1904. c.moveTo(w * 0.1054, h);
  1905. c.lineTo(w * 0.1054, h * 0.6537);
  1906. c.lineTo(w * 0.5784, h * 0.2753);
  1907. c.lineTo(w * 0.5784, h * 0.7928);
  1908. c.close();
  1909. c.fill();
  1910. c.restore();
  1911. c.setShadow(false);
  1912. c.setLineJoin('round');
  1913. c.begin();
  1914. c.moveTo(0, h * 0.929);
  1915. c.lineTo(0, h * 0.5866);
  1916. c.lineTo(w * 0.1054, h * 0.6537);
  1917. c.lineTo(w * 0.1054, h);
  1918. c.close();
  1919. c.stroke();
  1920. c.begin();
  1921. c.moveTo(w * 0.1054, h);
  1922. c.lineTo(w * 0.1054, h * 0.6537);
  1923. c.lineTo(w * 0.5784, h * 0.2753);
  1924. c.lineTo(w * 0.5784, h * 0.7928);
  1925. c.close();
  1926. c.stroke();
  1927. c.setStrokeWidth(2 * strokeWidth);
  1928. c.setStrokeColor('#292929');
  1929. c.setLineJoin('round');
  1930. c.begin();
  1931. c.moveTo(0, h * 0.929);
  1932. c.lineTo(0, h * 0.5866);
  1933. c.lineTo(w * 0.3171, h * 0.1031);
  1934. c.lineTo(w * 0.5784, h * 0.2753);
  1935. c.lineTo(w * 0.5784, h * 0.7928);
  1936. c.lineTo(w * 0.1054, h);
  1937. c.close();
  1938. c.stroke();
  1939. c.setFillColor(strokeColor);
  1940. c.begin();
  1941. c.moveTo(w * 0.7849, h * 0.5039);
  1942. c.arcTo(w * 0.0343, h * 0.0632, 0, 0, 1, w * 0.7481, h * 0.4796);
  1943. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.7661, h * 0.3911);
  1944. c.arcTo(w * 0.06, h * 0.0681, 0, 0, 1, w * 0.7712, h * 0.3356);
  1945. c.arcTo(w * 0.0257, h * 0.0292, 0, 0, 1, w * 0.7952, h * 0.32);
  1946. c.arcTo(w * 0.1285, h * 0.1459, 0, 0, 1, w * 0.8166, h * 0.2461);
  1947. c.arcTo(w * 0.06, h * 0.0973, 0, 0, 1, w * 0.8595, h * 0.2238);
  1948. c.arcTo(w * 0.0514, h * 0.0973, 0, 0, 1, w * 0.8937, h * 0.2743);
  1949. c.arcTo(w * 0.0428, h * 0.0778, 0, 0, 1, w * 0.9323, h * 0.3093);
  1950. c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.928, h * 0.3716);
  1951. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8972, h * 0.4125);
  1952. c.close();
  1953. c.fill();
  1954. };
  1955. mxCellRenderer.registerShape(mxShapeAws3dInternetGateway.prototype.cst.INTERNET_GATEWAY, mxShapeAws3dInternetGateway);
  1956. //**********************************************************************************************************************************************************
  1957. //Oracle Data Center
  1958. //**********************************************************************************************************************************************************
  1959. /**
  1960. * Extends mxShape.
  1961. */
  1962. function mxShapeAws3dOracleDataCenter(bounds, fill, stroke, strokewidth)
  1963. {
  1964. mxShape.call(this);
  1965. this.bounds = bounds;
  1966. this.fill = fill;
  1967. this.stroke = stroke;
  1968. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  1969. };
  1970. /**
  1971. * Extends mxShape.
  1972. */
  1973. mxUtils.extend(mxShapeAws3dOracleDataCenter, mxShape);
  1974. mxShapeAws3dOracleDataCenter.prototype.cst = {
  1975. ORACLE_DATA_CENTER : 'mxgraph.aws3d.oracleDataCenter'
  1976. };
  1977. /**
  1978. * Function: paintVertexShape
  1979. *
  1980. * Paints the vertex shape.
  1981. */
  1982. mxShapeAws3dOracleDataCenter.prototype.paintVertexShape = function(c, x, y, w, h)
  1983. {
  1984. c.translate(x, y);
  1985. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  1986. var strokeWidth1 = strokeWidth * w / 123;
  1987. var strokeWidth2 = strokeWidth * h /142;
  1988. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  1989. c.setStrokeWidth(strokeWidth);
  1990. this.background(c, 0, 0, w, h, strokeWidth);
  1991. c.setShadow(false);
  1992. this.foreground(c, 0, 0, w, h, strokeWidth);
  1993. };
  1994. mxShapeAws3dOracleDataCenter.prototype.background = function(c, x, y, w, h, strokeWidth)
  1995. {
  1996. c.save();
  1997. c.save();
  1998. c.save();
  1999. c.setStrokeWidth(2 * strokeWidth);
  2000. c.setStrokeColor('#292929');
  2001. c.setLineJoin('round');
  2002. c.begin();
  2003. c.moveTo(0, h * 0.7464);
  2004. c.lineTo(0, h * 0.25);
  2005. c.lineTo(w * 0.5, 0);
  2006. c.lineTo(w, h * 0.25);
  2007. c.lineTo(w, h * 0.7464);
  2008. c.lineTo(w * 0.5, h);
  2009. c.close();
  2010. c.fillAndStroke();
  2011. };
  2012. mxShapeAws3dOracleDataCenter.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2013. {
  2014. c.restore();
  2015. c.setShadow(false);
  2016. c.setFillColor('#000000');
  2017. c.setAlpha('0.1');
  2018. c.begin();
  2019. c.moveTo(0, h * 0.7464);
  2020. c.lineTo(0, h * 0.25);
  2021. c.lineTo(w * 0.5, h * 0.5);
  2022. c.lineTo(w * 0.5, h);
  2023. c.close();
  2024. c.fill();
  2025. c.setAlpha('0.3');
  2026. c.begin();
  2027. c.moveTo(w * 0.5, h * 0.5);
  2028. c.lineTo(w, h * 0.25);
  2029. c.lineTo(w, h * 0.7464);
  2030. c.lineTo(w * 0.5, h);
  2031. c.close();
  2032. c.fill();
  2033. c.restore();
  2034. c.setShadow(false);
  2035. c.setLineJoin('round');
  2036. c.setFillColor('#ff0000');
  2037. c.begin();
  2038. c.moveTo(0, h * 0.5866);
  2039. c.lineTo(w * 0.5, h * 0.8359);
  2040. c.lineTo(w, h * 0.5866);
  2041. c.lineTo(w, h * 0.6986);
  2042. c.lineTo(w * 0.5, h * 0.9486);
  2043. c.lineTo(0, h * 0.6986);
  2044. c.fill();
  2045. c.setStrokeWidth(0.5 * strokeWidth);
  2046. c.setStrokeColor('#ffffff');
  2047. c.setFillColor('#ffffff');
  2048. c.begin();
  2049. c.moveTo(0, h * 0.5866);
  2050. c.lineTo(w * 0.5, h * 0.8359);
  2051. c.lineTo(w, h * 0.5866);
  2052. c.moveTo(w, h * 0.6986);
  2053. c.lineTo(w * 0.5, h * 0.9486);
  2054. c.lineTo(0, h * 0.6986);
  2055. c.stroke();
  2056. c.begin();
  2057. c.moveTo(w * 0.0813, h * 0.7113);
  2058. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831);
  2059. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613);
  2060. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549);
  2061. c.lineTo(w * 0.122, h * 0.6754);
  2062. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937);
  2063. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232);
  2064. c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296);
  2065. c.close();
  2066. c.moveTo(w * 0.1163, h * 0.7183);
  2067. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148);
  2068. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021);
  2069. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831);
  2070. c.lineTo(w * 0.087, h * 0.6676);
  2071. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697);
  2072. c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937);
  2073. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035);
  2074. c.close();
  2075. c.moveTo(w * 0.1439, h * 0.743);
  2076. c.lineTo(w * 0.1439, h * 0.6866);
  2077. c.lineTo(w * 0.1846, h * 0.707);
  2078. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183);
  2079. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738);
  2080. c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743);
  2081. c.lineTo(w * 0.1992, h * 0.769);
  2082. c.lineTo(w * 0.187, h * 0.7641);
  2083. c.lineTo(w * 0.1577, h * 0.7218);
  2084. c.lineTo(w * 0.1854, h * 0.7345);
  2085. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317);
  2086. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225);
  2087. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155);
  2088. c.lineTo(w * 0.1528, h * 0.7007);
  2089. c.lineTo(w * 0.1528, h * 0.7472);
  2090. c.close();
  2091. c.moveTo(w * 0.2008, h * 0.7711);
  2092. c.lineTo(w * 0.2293, h * 0.7338);
  2093. c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324);
  2094. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415);
  2095. c.lineTo(w * 0.2699, h * 0.8035);
  2096. c.lineTo(w * 0.2602, h * 0.8007);
  2097. c.lineTo(w * 0.252, h * 0.7859);
  2098. c.lineTo(w * 0.2293, h * 0.7754);
  2099. c.lineTo(w * 0.2244, h * 0.7634);
  2100. c.lineTo(w * 0.248, h * 0.7739);
  2101. c.lineTo(w * 0.235, h * 0.7444);
  2102. c.lineTo(w * 0.2122, h * 0.7768);
  2103. c.close();
  2104. c.moveTo(w * 0.3244, h * 0.8225);
  2105. c.lineTo(w * 0.3171, h * 0.8289);
  2106. c.lineTo(w * 0.2854, h * 0.8127);
  2107. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986);
  2108. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746);
  2109. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762);
  2110. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757);
  2111. c.lineTo(w * 0.3228, h * 0.7761);
  2112. c.lineTo(w * 0.3179, h * 0.7831);
  2113. c.lineTo(w * 0.2878, h * 0.7683);
  2114. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697);
  2115. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831);
  2116. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042);
  2117. c.close();
  2118. c.moveTo(w * 0.3276, h * 0.7789);
  2119. c.lineTo(w * 0.3366, h * 0.7831);
  2120. c.lineTo(w * 0.3366, h * 0.8289);
  2121. c.lineTo(w * 0.3805, h * 0.8507);
  2122. c.lineTo(w * 0.3748, h * 0.857);
  2123. c.lineTo(w * 0.3317, h * 0.8359);
  2124. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275);
  2125. c.close();
  2126. c.moveTo(w * 0.435, h * 0.8775);
  2127. c.lineTo(w * 0.4325, h * 0.8866);
  2128. c.lineTo(w * 0.3959, h * 0.8683);
  2129. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563);
  2130. c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183);
  2131. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134);
  2132. c.lineTo(w * 0.435, h * 0.8324);
  2133. c.lineTo(w * 0.4285, h * 0.838);
  2134. c.lineTo(w * 0.4008, h * 0.8246);
  2135. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831);
  2136. c.lineTo(w * 0.4333, h * 0.8542);
  2137. c.lineTo(w * 0.426, h * 0.8606);
  2138. c.lineTo(w * 0.3878, h * 0.8415);
  2139. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585);
  2140. c.close();
  2141. c.moveTo(w * 0.6171, h * 0.8063);
  2142. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092);
  2143. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303);
  2144. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592);
  2145. c.lineTo(w * 0.5894, h * 0.8761);
  2146. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732);
  2147. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458);
  2148. c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246);
  2149. c.close();
  2150. c.moveTo(w * 0.5886, h * 0.8296);
  2151. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472);
  2152. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862);
  2153. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676);
  2154. c.lineTo(w * 0.6163, h * 0.8528);
  2155. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359);
  2156. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225);
  2157. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155);
  2158. c.close();
  2159. c.moveTo(w * 0.64, h * 0.85);
  2160. c.lineTo(w * 0.64, h * 0.7930);
  2161. c.lineTo(w * 0.6854, h * 0.7718);
  2162. c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782);
  2163. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8);
  2164. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127);
  2165. c.lineTo(w * 0.6992, h * 0.8218);
  2166. c.lineTo(w * 0.6854, h * 0.8282);
  2167. c.lineTo(w * 0.6569, h * 0.8141);
  2168. c.lineTo(w * 0.6805, h * 0.8021);
  2169. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923);
  2170. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845);
  2171. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831);
  2172. c.lineTo(w * 0.6528, h * 0.7979);
  2173. c.lineTo(w * 0.6528, h * 0.8437);
  2174. c.close();
  2175. c.moveTo(w * 0.7, h * 0.8204);
  2176. c.lineTo(w * 0.7301, h * 0.7507);
  2177. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444);
  2178. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486);
  2179. c.lineTo(w * 0.7699, h * 0.7852);
  2180. c.lineTo(w * 0.7602, h * 0.7908);
  2181. c.lineTo(w * 0.7537, h * 0.7838);
  2182. c.lineTo(w * 0.7276, h * 0.7958);
  2183. c.lineTo(w * 0.7228, h * 0.788);
  2184. c.lineTo(w * 0.748, h * 0.7768);
  2185. c.lineTo(w * 0.7358, h * 0.7585);
  2186. c.lineTo(w * 0.7114, h * 0.8155);
  2187. c.close();
  2188. c.moveTo(w * 0.8244, h * 0.7486);
  2189. c.lineTo(w * 0.8171, h * 0.762);
  2190. c.lineTo(w * 0.7894, h * 0.7761);
  2191. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746);
  2192. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507);
  2193. c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162);
  2194. c.lineTo(w * 0.822, h * 0.7035);
  2195. c.lineTo(w * 0.8171, h * 0.7155);
  2196. c.lineTo(w * 0.7902, h * 0.7296);
  2197. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743);
  2198. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606);
  2199. c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767);
  2200. c.close();
  2201. c.moveTo(w * 0.8366, h * 0.6949);
  2202. c.lineTo(w * 0.8366, h * 0.7423);
  2203. c.lineTo(w * 0.878, h * 0.7231);
  2204. c.lineTo(w * 0.874, h * 0.7338);
  2205. c.lineTo(w * 0.8333, h * 0.7535);
  2206. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75);
  2207. c.lineTo(w * 0.8268, h * 0.7007);
  2208. c.close();
  2209. c.moveTo(w * 0.9342, h * 0.6472);
  2210. c.lineTo(w * 0.9293, h * 0.6599);
  2211. c.lineTo(w * 0.9033, h * 0.6725);
  2212. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817);
  2213. c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937);
  2214. c.lineTo(w * 0.9309, h * 0.6725);
  2215. c.lineTo(w * 0.9268, h * 0.6845);
  2216. c.lineTo(w * 0.887, h * 0.7035);
  2217. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106);
  2218. c.lineTo(w * 0.935, h * 0.693);
  2219. c.lineTo(w * 0.9285, h * 0.7063);
  2220. c.lineTo(w * 0.9008, h * 0.7197);
  2221. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204);
  2222. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028);
  2223. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669);
  2224. c.fill();
  2225. c.restore();
  2226. c.setShadow(false);
  2227. c.setLineJoin('round');
  2228. c.begin();
  2229. c.moveTo(0, h * 0.7464);
  2230. c.lineTo(0, h * 0.25);
  2231. c.lineTo(w * 0.5, h * 0.5);
  2232. c.lineTo(w * 0.5, h);
  2233. c.close();
  2234. c.stroke();
  2235. c.begin();
  2236. c.moveTo(w * 0.5, h * 0.5);
  2237. c.lineTo(w, h * 0.25);
  2238. c.lineTo(w, h * 0.7464);
  2239. c.lineTo(w * 0.5, h);
  2240. c.close();
  2241. c.stroke();
  2242. c.setStrokeWidth(2 * strokeWidth);
  2243. c.setStrokeColor('#292929');
  2244. c.setLineJoin('round');
  2245. c.begin();
  2246. c.moveTo(0, h * 0.7464);
  2247. c.lineTo(0, h * 0.25);
  2248. c.lineTo(w * 0.5, 0);
  2249. c.lineTo(w, h * 0.25);
  2250. c.lineTo(w, h * 0.7464);
  2251. c.lineTo(w * 0.5, h);
  2252. c.close();
  2253. c.stroke();
  2254. c.restore();
  2255. c.setShadow(false);
  2256. c.setStrokeWidth(3 * strokeWidth);
  2257. c.setLineCap('round');
  2258. c.begin();
  2259. c.moveTo(w * 0.0894, h * 0.3838);
  2260. c.lineTo(w * 0.4187, h * 0.5493);
  2261. c.moveTo(w * 0.0894, h * 0.4331);
  2262. c.lineTo(w * 0.4187, h * 0.5986);
  2263. c.moveTo(w * 0.0894, h * 0.4824);
  2264. c.lineTo(w * 0.4187, h * 0.6479);
  2265. c.moveTo(w * 0.5854, h * 0.5492);
  2266. c.lineTo(w * 0.9146, h * 0.3838);
  2267. c.moveTo(w * 0.5854, h * 0.5986);
  2268. c.lineTo(w * 0.9146, h * 0.4331);
  2269. c.moveTo(w * 0.5854, h * 0.6479);
  2270. c.lineTo(w * 0.9146, h * 0.4824);
  2271. c.stroke();
  2272. };
  2273. mxCellRenderer.registerShape(mxShapeAws3dOracleDataCenter.prototype.cst.ORACLE_DATA_CENTER, mxShapeAws3dOracleDataCenter);
  2274. //**********************************************************************************************************************************************************
  2275. //Oracle Database Server
  2276. //**********************************************************************************************************************************************************
  2277. /**
  2278. * Extends mxShape.
  2279. */
  2280. function mxShapeAws3dOracleDatabaseServer(bounds, fill, stroke, strokewidth)
  2281. {
  2282. mxShape.call(this);
  2283. this.bounds = bounds;
  2284. this.fill = fill;
  2285. this.stroke = stroke;
  2286. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2287. };
  2288. /**
  2289. * Extends mxShape.
  2290. */
  2291. mxUtils.extend(mxShapeAws3dOracleDatabaseServer, mxShape);
  2292. mxShapeAws3dOracleDatabaseServer.prototype.cst = {
  2293. ORACLE_DB_SERVER : 'mxgraph.aws3d.oracleDbServer'
  2294. };
  2295. /**
  2296. * Function: paintVertexShape
  2297. *
  2298. * Paints the vertex shape.
  2299. */
  2300. mxShapeAws3dOracleDatabaseServer.prototype.paintVertexShape = function(c, x, y, w, h)
  2301. {
  2302. c.translate(x, y);
  2303. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2304. var strokeWidth1 = strokeWidth * w / 123;
  2305. var strokeWidth2 = strokeWidth * h /142;
  2306. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2307. c.setStrokeWidth(strokeWidth);
  2308. this.background(c, 0, 0, w, h, strokeWidth);
  2309. c.setShadow(false);
  2310. this.foreground(c, 0, 0, w, h, strokeWidth);
  2311. };
  2312. mxShapeAws3dOracleDatabaseServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  2313. {
  2314. c.save();
  2315. c.save();
  2316. c.save();
  2317. c.setStrokeWidth(2 * strokeWidth);
  2318. c.setStrokeColor('#292929');
  2319. c.setLineJoin('round');
  2320. c.begin();
  2321. c.moveTo(0, h * 0.7331);
  2322. c.lineTo(0, h * 0.3346);
  2323. c.lineTo(w * 0.126, h * 0.1316);
  2324. c.lineTo(w * 0.374, 0);
  2325. c.lineTo(w * 0.626, 0);
  2326. c.lineTo(w * 0.874, h * 0.1316);
  2327. c.lineTo(w, h * 0.3346);
  2328. c.lineTo(w, h * 0.7331);
  2329. c.lineTo(w * 0.5, h);
  2330. c.close();
  2331. c.fillAndStroke();
  2332. };
  2333. mxShapeAws3dOracleDatabaseServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2334. {
  2335. c.restore();
  2336. c.setShadow(false);
  2337. c.setFillColor('#000000');
  2338. c.setAlpha('0.1');
  2339. c.begin();
  2340. c.moveTo(w * 0.126, h * 0.1316);
  2341. c.lineTo(w * 0.126, h * 0.267);
  2342. c.lineTo(w * 0.378, h * 0.4023);
  2343. c.lineTo(w * 0.5, h * 0.6015);
  2344. c.lineTo(w * 0.5, h);
  2345. c.lineTo(0, h * 0.7331);
  2346. c.lineTo(0, h * 0.3346);
  2347. c.close();
  2348. c.moveTo(w * 0.874, h * 0.267);
  2349. c.lineTo(w * 0.874, h * 0.1316);
  2350. c.lineTo(w, h * 0.3308);
  2351. c.fill();
  2352. c.setAlpha('0.3');
  2353. c.begin();
  2354. c.moveTo(w * 0.5, h);
  2355. c.lineTo(w * 0.5, h * 0.6015);
  2356. c.lineTo(w * 0.622, h * 0.4023);
  2357. c.lineTo(w * 0.874, h * 0.267);
  2358. c.lineTo(w, h * 0.3308);
  2359. c.lineTo(w, h * 0.7331);
  2360. c.close();
  2361. c.fill();
  2362. c.restore();
  2363. c.setShadow(false);
  2364. c.setLineJoin('round');
  2365. c.setFillColor('#ff0000');
  2366. c.begin();
  2367. c.moveTo(0, h * 0.5586);
  2368. c.lineTo(w * 0.5, h * 0.8248);
  2369. c.lineTo(w, h * 0.5586);
  2370. c.lineTo(w, h * 0.6782);
  2371. c.lineTo(w * 0.5, h * 0.9453);
  2372. c.lineTo(0, h * 0.6782);
  2373. c.fill();
  2374. c.setStrokeWidth(0.5 * strokeWidth);
  2375. c.setStrokeColor('#ffffff');
  2376. c.setFillColor('#ffffff');
  2377. c.begin();
  2378. c.moveTo(0, h * 0.5586);
  2379. c.lineTo(w * 0.5, h * 0.8248);
  2380. c.lineTo(w, h * 0.5586);
  2381. c.moveTo(w, h * 0.6782);
  2382. c.lineTo(w * 0.5, h * 0.9453);
  2383. c.lineTo(0, h * 0.6782);
  2384. c.stroke();
  2385. c.begin();
  2386. c.moveTo(w * 0.0813, h * 0.6918);
  2387. c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.065, h * 0.6616);
  2388. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.065, h * 0.6384);
  2389. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.0797, h * 0.6315);
  2390. c.lineTo(w * 0.122, h * 0.6534);
  2391. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.1358, h * 0.673);
  2392. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.139, h * 0.7045);
  2393. c.arcTo(w * 0.0179, h * 0.0165, 0, 0, 1, w * 0.1187, h * 0.7113);
  2394. c.close();
  2395. c.moveTo(w * 0.1163, h * 0.6992);
  2396. c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.1285, h * 0.6955);
  2397. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1293, h * 0.6819);
  2398. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.1179, h * 0.6616);
  2399. c.lineTo(w * 0.087, h * 0.6451);
  2400. c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.0764, h * 0.6473);
  2401. c.arcTo(w * 0.0325, h * 0.0376, 0, 0, 0, w * 0.078, h * 0.673);
  2402. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.087, h * 0.6834);
  2403. c.close();
  2404. c.moveTo(w * 0.1439, h * 0.7256);
  2405. c.lineTo(w * 0.1439, h * 0.6654);
  2406. c.lineTo(w * 0.1846, h * 0.6872);
  2407. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.1967, h * 0.6992);
  2408. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2, h * 0.7203);
  2409. c.arcTo(w * 0.0138, h * 0.0165, 0, 0, 1, w * 0.1813, h * 0.7256);
  2410. c.lineTo(w * 0.1992, h * 0.7534);
  2411. c.lineTo(w * 0.187, h * 0.7481);
  2412. c.lineTo(w * 0.1577, h * 0.7029);
  2413. c.lineTo(w * 0.1854, h * 0.7165);
  2414. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.1911, h * 0.7135);
  2415. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 0, w * 0.1894, h * 0.7037);
  2416. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.1821, h * 0.6962);
  2417. c.lineTo(w * 0.1528, h * 0.6804);
  2418. c.lineTo(w * 0.1528, h * 0.7301);
  2419. c.close();
  2420. c.moveTo(w * 0.2008, h * 0.7556);
  2421. c.lineTo(w * 0.2293, h * 0.7158);
  2422. c.arcTo(w * 0.0065, h * 0.006, 0, 0, 1, w * 0.2382, h * 0.7143);
  2423. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2431, h * 0.724);
  2424. c.lineTo(w * 0.2699, h * 0.7902);
  2425. c.lineTo(w * 0.2602, h * 0.7872);
  2426. c.lineTo(w * 0.252, h * 0.7714);
  2427. c.lineTo(w * 0.2293, h * 0.7602);
  2428. c.lineTo(w * 0.2244, h * 0.7474);
  2429. c.lineTo(w * 0.248, h * 0.7586);
  2430. c.lineTo(w * 0.235, h * 0.7271);
  2431. c.lineTo(w * 0.2122, h * 0.7617);
  2432. c.close();
  2433. c.moveTo(w * 0.3244, h * 0.8105);
  2434. c.lineTo(w * 0.3171, h * 0.8173);
  2435. c.lineTo(w * 0.2854, h * 0.8);
  2436. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2724, h * 0.785);
  2437. c.arcTo(w * 0.0569, h * 0.0526, 0, 0, 1, w * 0.265, h * 0.7593);
  2438. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.2683, h * 0.7459);
  2439. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.2829, h * 0.7405);
  2440. c.lineTo(w * 0.3228, h * 0.7609);
  2441. c.lineTo(w * 0.3179, h * 0.7684);
  2442. c.lineTo(w * 0.2878, h * 0.7526);
  2443. c.arcTo(w * 0.0081, h * 0.0075, 0, 0, 0, w * 0.2789, h * 0.7541);
  2444. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.2748, h * 0.7684);
  2445. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.2878, h * 0.7909);
  2446. c.close();
  2447. c.moveTo(w * 0.3276, h * 0.7639);
  2448. c.lineTo(w * 0.3366, h * 0.7684);
  2449. c.lineTo(w * 0.3366, h * 0.8173);
  2450. c.lineTo(w * 0.3805, h * 0.8406);
  2451. c.lineTo(w * 0.3748, h * 0.8473);
  2452. c.lineTo(w * 0.3317, h * 0.8248);
  2453. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3276, h * 0.8158);
  2454. c.close();
  2455. c.moveTo(w * 0.435, h * 0.8692);
  2456. c.lineTo(w * 0.4325, h * 0.8789);
  2457. c.lineTo(w * 0.3959, h * 0.8594);
  2458. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.3862, h * 0.8466);
  2459. c.arcTo(w * 0.0528, h * 0.0489, 0, 0, 1, w * 0.3805, h * 0.806);
  2460. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.3951, h * 0.8008);
  2461. c.lineTo(w * 0.435, h * 0.821);
  2462. c.lineTo(w * 0.4285, h * 0.827);
  2463. c.lineTo(w * 0.4008, h * 0.8127);
  2464. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.3878, h * 0.8196);
  2465. c.lineTo(w * 0.4333, h * 0.8443);
  2466. c.lineTo(w * 0.426, h * 0.8512);
  2467. c.lineTo(w * 0.3878, h * 0.8308);
  2468. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.3976, h * 0.8489);
  2469. c.close();
  2470. c.moveTo(w * 0.6171, h * 0.7932);
  2471. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.6366, h * 0.7963);
  2472. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 1, w * 0.639, h * 0.8188);
  2473. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.6211, h * 0.8497);
  2474. c.lineTo(w * 0.5894, h * 0.8677);
  2475. c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 1, w * 0.565, h * 0.8646);
  2476. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.5659, h * 0.8354);
  2477. c.arcTo(w * 0.0488, h * 0.0451, 0, 0, 1, w * 0.5805, h * 0.8127);
  2478. c.close();
  2479. c.moveTo(w * 0.5886, h * 0.8181);
  2480. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.5748, h * 0.8368);
  2481. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.574, h * 0.8527);
  2482. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.587, h * 0.8586);
  2483. c.lineTo(w * 0.6163, h * 0.8428);
  2484. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.6285, h * 0.8248);
  2485. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6293, h * 0.8105);
  2486. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 0, w * 0.6163, h * 0.803);
  2487. c.close();
  2488. c.moveTo(w * 0.64, h * 0.8398);
  2489. c.lineTo(w * 0.64, h * 0.779);
  2490. c.lineTo(w * 0.6854, h * 0.7563);
  2491. c.arcTo(w * 0.0106, h * 0.0098, 0, 0, 1, w * 0.7008, h * 0.7632);
  2492. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6959, h * 0.7865);
  2493. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.6805, h * 0.8);
  2494. c.lineTo(w * 0.6992, h * 0.8097);
  2495. c.lineTo(w * 0.6854, h * 0.8166);
  2496. c.lineTo(w * 0.6569, h * 0.8015);
  2497. c.lineTo(w * 0.6805, h * 0.7887);
  2498. c.arcTo(w * 0.0203, h * 0.0188, 0, 0, 0, w * 0.6894, h * 0.7782);
  2499. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 0, w * 0.6894, h * 0.7699);
  2500. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 0, w * 0.6837, h * 0.7684);
  2501. c.lineTo(w * 0.6528, h * 0.7842);
  2502. c.lineTo(w * 0.6528, h * 0.8331);
  2503. c.close();
  2504. c.moveTo(w * 0.7, h * 0.8082);
  2505. c.lineTo(w * 0.7301, h * 0.7338);
  2506. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7358, h * 0.7271);
  2507. c.arcTo(w * 0.0098, h * 0.0091, 0, 0, 1, w * 0.7415, h * 0.7316);
  2508. c.lineTo(w * 0.7699, h * 0.7707);
  2509. c.lineTo(w * 0.7602, h * 0.7766);
  2510. c.lineTo(w * 0.7537, h * 0.7692);
  2511. c.lineTo(w * 0.7276, h * 0.782);
  2512. c.lineTo(w * 0.7228, h * 0.7736);
  2513. c.lineTo(w * 0.748, h * 0.7617);
  2514. c.lineTo(w * 0.7358, h * 0.7421);
  2515. c.lineTo(w * 0.7114, h * 0.803);
  2516. c.close();
  2517. c.moveTo(w * 0.8244, h * 0.7316);
  2518. c.lineTo(w * 0.8171, h * 0.7459);
  2519. c.lineTo(w * 0.7894, h * 0.7609);
  2520. c.arcTo(w * 0.0244, h * 0.0225, 0, 0, 1, w * 0.7683, h * 0.7593);
  2521. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.7667, h * 0.7338);
  2522. c.arcTo(w * 0.0488, h * 0.0452, 0, 0, 1, w * 0.7937, h * 0.697);
  2523. c.lineTo(w * 0.822, h * 0.6834);
  2524. c.lineTo(w * 0.8171, h * 0.6962);
  2525. c.lineTo(w * 0.7902, h * 0.7113);
  2526. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.778, h * 0.7256);
  2527. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 0, w * 0.7756, h * 0.7444);
  2528. c.arcTo(w * 0.0077, h * 0.0072, 0, 0, 0, w * 0.787, h * 0.7512);
  2529. c.close();
  2530. c.moveTo(w * 0.8366, h * 0.6742);
  2531. c.lineTo(w * 0.8366, h * 0.7248);
  2532. c.lineTo(w * 0.878, h * 0.7043);
  2533. c.lineTo(w * 0.874, h * 0.7158);
  2534. c.lineTo(w * 0.8333, h * 0.7368);
  2535. c.arcTo(w * 0.0041, h * 0.0037, 0, 0, 1, w * 0.8268, h * 0.7324);
  2536. c.lineTo(w * 0.8268, h * 0.6804);
  2537. c.close();
  2538. c.moveTo(w * 0.9342, h * 0.6233);
  2539. c.lineTo(w * 0.9293, h * 0.6369);
  2540. c.lineTo(w * 0.9033, h * 0.6503);
  2541. c.arcTo(w * 0.0325, h * 0.0301, 0, 0, 0, w * 0.8927, h * 0.6601);
  2542. c.arcTo(w * 0.0406, h * 0.0376, 0, 0, 0, w * 0.887, h * 0.6729);
  2543. c.lineTo(w * 0.9309, h * 0.6503);
  2544. c.lineTo(w * 0.9268, h * 0.6631);
  2545. c.lineTo(w * 0.887, h * 0.6834);
  2546. c.arcTo(w * 0.0089, h * 0.0082, 0, 0, 0, w * 0.8992, h * 0.691);
  2547. c.lineTo(w * 0.935, h * 0.6722);
  2548. c.lineTo(w * 0.9285, h * 0.6864);
  2549. c.lineTo(w * 0.9008, h * 0.7007);
  2550. c.arcTo(w * 0.0163, h * 0.0151, 0, 0, 1, w * 0.8829, h * 0.7015);
  2551. c.arcTo(w * 0.0407, h * 0.0376, 0, 0, 1, w * 0.8764, h * 0.6827);
  2552. c.arcTo(w * 0.065, h * 0.0601, 0, 0, 1, w * 0.8959, h * 0.6443);
  2553. c.fill();
  2554. c.restore();
  2555. c.setShadow(false);
  2556. c.setLineJoin('round');
  2557. c.begin();
  2558. c.moveTo(w * 0.126, h * 0.1316);
  2559. c.lineTo(w * 0.126, h * 0.267);
  2560. c.lineTo(w * 0.378, h * 0.4023);
  2561. c.lineTo(w * 0.5, h * 0.6015);
  2562. c.lineTo(w * 0.622, h * 0.4023);
  2563. c.lineTo(w * 0.874, h * 0.267);
  2564. c.lineTo(w * 0.874, h * 0.1316);
  2565. c.moveTo(0, h * 0.3346);
  2566. c.lineTo(w * 0.126, h * 0.267);
  2567. c.moveTo(w * 0.5, h * 0.6015);
  2568. c.lineTo(w * 0.5, h);
  2569. c.moveTo(w, h * 0.3346);
  2570. c.lineTo(w * 0.87, h * 0.267);
  2571. c.moveTo(w * 0.378, h * 0.4023);
  2572. c.lineTo(w * 0.622, h * 0.4023);
  2573. c.stroke();
  2574. c.setStrokeWidth(2 * strokeWidth);
  2575. c.setStrokeColor('#292929');
  2576. c.begin();
  2577. c.moveTo(0, h * 0.7331);
  2578. c.lineTo(0, h * 0.3346);
  2579. c.lineTo(w * 0.126, h * 0.1316);
  2580. c.lineTo(w * 0.374, 0);
  2581. c.lineTo(w * 0.626, 0);
  2582. c.lineTo(w * 0.874, h * 0.1316);
  2583. c.lineTo(w, h * 0.3346);
  2584. c.lineTo(w, h * 0.7331);
  2585. c.lineTo(w * 0.5, h);
  2586. c.close();
  2587. c.stroke();
  2588. };
  2589. mxCellRenderer.registerShape(mxShapeAws3dOracleDatabaseServer.prototype.cst.ORACLE_DB_SERVER, mxShapeAws3dOracleDatabaseServer);//zzz
  2590. //**********************************************************************************************************************************************************
  2591. //RDS Master
  2592. //**********************************************************************************************************************************************************
  2593. /**
  2594. * Extends mxShape.
  2595. */
  2596. function mxShapeAws3dRdsMaster(bounds, fill, stroke, strokewidth)
  2597. {
  2598. mxShape.call(this);
  2599. this.bounds = bounds;
  2600. this.fill = fill;
  2601. this.stroke = stroke;
  2602. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2603. };
  2604. /**
  2605. * Extends mxShape.
  2606. */
  2607. mxUtils.extend(mxShapeAws3dRdsMaster, mxShape);
  2608. mxShapeAws3dRdsMaster.prototype.cst = {
  2609. RDS_MASTER : 'mxgraph.aws3d.rdsMaster',
  2610. SHADIG_COLORS : 'shadingCols'
  2611. };
  2612. /**
  2613. * Function: paintVertexShape
  2614. *
  2615. * Paints the vertex shape.
  2616. */
  2617. mxShapeAws3dRdsMaster.prototype.paintVertexShape = function(c, x, y, w, h)
  2618. {
  2619. c.translate(x, y);
  2620. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2621. var strokeWidth1 = strokeWidth * w / 123;
  2622. var strokeWidth2 = strokeWidth * h /133;
  2623. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2624. c.setStrokeWidth(strokeWidth);
  2625. this.background(c, 0, 0, w, h, strokeWidth);
  2626. c.setShadow(false);
  2627. this.foreground(c, 0, 0, w, h, strokeWidth);
  2628. };
  2629. mxShapeAws3dRdsMaster.prototype.background = function(c, x, y, w, h, strokeWidth)
  2630. {
  2631. c.save();
  2632. c.save();
  2633. c.setStrokeWidth(2 * strokeWidth);
  2634. c.setStrokeColor('#292929');
  2635. c.setLineJoin('round');
  2636. c.begin();
  2637. c.moveTo(0, h * 0.7331);
  2638. c.lineTo(0, h * 0.3346);
  2639. c.lineTo(w * 0.126, h * 0.1316);
  2640. c.lineTo(w * 0.374, 0);
  2641. c.lineTo(w * 0.626, 0);
  2642. c.lineTo(w * 0.874, h * 0.1316);
  2643. c.lineTo(w, h * 0.3346);
  2644. c.lineTo(w, h * 0.7331);
  2645. c.lineTo(w * 0.5, h);
  2646. c.close();
  2647. c.fillAndStroke();
  2648. };
  2649. mxShapeAws3dRdsMaster.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2650. {
  2651. c.restore();
  2652. c.setShadow(false);
  2653. c.setFillColor('#000000');
  2654. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRdsMaster.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2655. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2656. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2657. c.begin();
  2658. c.moveTo(w * 0.126, h * 0.1316);
  2659. c.lineTo(w * 0.126, h * 0.267);
  2660. c.lineTo(w * 0.378, h * 0.4023);
  2661. c.lineTo(w * 0.5, h * 0.6015);
  2662. c.lineTo(w * 0.5, h);
  2663. c.lineTo(0, h * 0.7331);
  2664. c.lineTo(0, h * 0.3346);
  2665. c.close();
  2666. c.moveTo(w * 0.874, h * 0.267);
  2667. c.lineTo(w * 0.874, h * 0.1316);
  2668. c.lineTo(w, h * 0.3308);
  2669. c.fill();
  2670. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2671. c.begin();
  2672. c.moveTo(w * 0.5, h);
  2673. c.lineTo(w * 0.5, h * 0.6015);
  2674. c.lineTo(w * 0.622, h * 0.4023);
  2675. c.lineTo(w * 0.874, h * 0.267);
  2676. c.lineTo(w, h * 0.3308);
  2677. c.lineTo(w, h * 0.7331);
  2678. c.close();
  2679. c.fill();
  2680. c.restore();
  2681. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  2682. c.setFillColor(strokeColor);
  2683. c.setShadow(false);
  2684. c.begin();
  2685. c.moveTo(w * 0.1878, h * 0.1932);
  2686. c.lineTo(w * 0.4854, h * 0.0414);
  2687. c.lineTo(w * 0.5886, h * 0.094);
  2688. c.lineTo(w * 0.4455, h * 0.2308);
  2689. c.lineTo(w * 0.7122, h * 0.1579);
  2690. c.lineTo(w * 0.8171, h * 0.2098);
  2691. c.lineTo(w * 0.5187, h * 0.3617);
  2692. c.lineTo(w * 0.4537, h * 0.3293);
  2693. c.lineTo(w * 0.7016, h * 0.2053);
  2694. c.lineTo(w * 0.3854, h * 0.2947);
  2695. c.lineTo(w * 0.3187, h * 0.2602);
  2696. c.lineTo(w * 0.4959, h * 0.0992);
  2697. c.lineTo(w * 0.2504, h * 0.2256);
  2698. c.close();
  2699. c.fill();
  2700. c.setLineJoin('round');
  2701. c.begin();
  2702. c.moveTo(w * 0.126, h * 0.1316);
  2703. c.lineTo(w * 0.126, h * 0.267);
  2704. c.lineTo(w * 0.378, h * 0.4023);
  2705. c.lineTo(w * 0.5, h * 0.6015);
  2706. c.lineTo(w * 0.622, h * 0.4023);
  2707. c.lineTo(w * 0.874, h * 0.267);
  2708. c.lineTo(w * 0.874, h * 0.1316);
  2709. c.moveTo(0, h * 0.3346);
  2710. c.lineTo(w * 0.126, h * 0.267);
  2711. c.moveTo(w * 0.5, h * 0.6015);
  2712. c.lineTo(w * 0.5, h);
  2713. c.moveTo(w, h * 0.3346);
  2714. c.lineTo(w * 0.87, h * 0.267);
  2715. c.moveTo(w * 0.378, h * 0.4023);
  2716. c.lineTo(w * 0.622, h * 0.4023);
  2717. c.stroke();
  2718. c.setStrokeWidth(2 * strokeWidth);
  2719. c.setStrokeColor('#292929');
  2720. c.begin();
  2721. c.moveTo(0, h * 0.7331);
  2722. c.lineTo(0, h * 0.3346);
  2723. c.lineTo(w * 0.126, h * 0.1316);
  2724. c.lineTo(w * 0.374, 0);
  2725. c.lineTo(w * 0.626, 0);
  2726. c.lineTo(w * 0.874, h * 0.1316);
  2727. c.lineTo(w, h * 0.3346);
  2728. c.lineTo(w, h * 0.7331);
  2729. c.lineTo(w * 0.5, h);
  2730. c.close();
  2731. c.stroke();
  2732. };
  2733. mxCellRenderer.registerShape(mxShapeAws3dRdsMaster.prototype.cst.RDS_MASTER, mxShapeAws3dRdsMaster);
  2734. //**********************************************************************************************************************************************************
  2735. //RDS
  2736. //**********************************************************************************************************************************************************
  2737. /**
  2738. * Extends mxShape.
  2739. */
  2740. function mxShapeAws3dRds(bounds, fill, stroke, strokewidth)
  2741. {
  2742. mxShape.call(this);
  2743. this.bounds = bounds;
  2744. this.fill = fill;
  2745. this.stroke = stroke;
  2746. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2747. };
  2748. /**
  2749. * Extends mxShape.
  2750. */
  2751. mxUtils.extend(mxShapeAws3dRds, mxShape);
  2752. mxShapeAws3dRds.prototype.cst = {
  2753. RDS : 'mxgraph.aws3d.rds',
  2754. SHADING_COLORS : 'shadingCols'
  2755. };
  2756. /**
  2757. * Function: paintVertexShape
  2758. *
  2759. * Paints the vertex shape.
  2760. */
  2761. mxShapeAws3dRds.prototype.paintVertexShape = function(c, x, y, w, h)
  2762. {
  2763. c.translate(x, y);
  2764. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2765. var strokeWidth1 = strokeWidth * w / 123;
  2766. var strokeWidth2 = strokeWidth * h /133;
  2767. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2768. c.setStrokeWidth(strokeWidth);
  2769. this.background(c, 0, 0, w, h, strokeWidth);
  2770. c.setShadow(false);
  2771. this.foreground(c, 0, 0, w, h, strokeWidth);
  2772. };
  2773. mxShapeAws3dRds.prototype.background = function(c, x, y, w, h, strokeWidth)
  2774. {
  2775. c.save();
  2776. c.save();
  2777. c.setStrokeWidth(2 * strokeWidth);
  2778. c.setStrokeColor('#292929');
  2779. c.setLineJoin('round');
  2780. c.begin();
  2781. c.moveTo(0, h * 0.7331);
  2782. c.lineTo(0, h * 0.3346);
  2783. c.lineTo(w * 0.126, h * 0.1316);
  2784. c.lineTo(w * 0.374, 0);
  2785. c.lineTo(w * 0.626, 0);
  2786. c.lineTo(w * 0.874, h * 0.1316);
  2787. c.lineTo(w, h * 0.3346);
  2788. c.lineTo(w, h * 0.7331);
  2789. c.lineTo(w * 0.5, h);
  2790. c.close();
  2791. c.fillAndStroke();
  2792. };
  2793. mxShapeAws3dRds.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2794. {
  2795. c.restore();
  2796. c.setShadow(false);
  2797. c.setFillColor('#000000');
  2798. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRds.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2799. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2800. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2801. c.begin();
  2802. c.moveTo(w * 0.126, h * 0.1316);
  2803. c.lineTo(w * 0.126, h * 0.267);
  2804. c.lineTo(w * 0.378, h * 0.4023);
  2805. c.lineTo(w * 0.5, h * 0.6015);
  2806. c.lineTo(w * 0.5, h);
  2807. c.lineTo(0, h * 0.7331);
  2808. c.lineTo(0, h * 0.3346);
  2809. c.close();
  2810. c.moveTo(w * 0.874, h * 0.267);
  2811. c.lineTo(w * 0.874, h * 0.1316);
  2812. c.lineTo(w, h * 0.3308);
  2813. c.fill();
  2814. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2815. c.begin();
  2816. c.moveTo(w * 0.5, h);
  2817. c.lineTo(w * 0.5, h * 0.6015);
  2818. c.lineTo(w * 0.622, h * 0.4023);
  2819. c.lineTo(w * 0.874, h * 0.267);
  2820. c.lineTo(w, h * 0.3308);
  2821. c.lineTo(w, h * 0.7331);
  2822. c.close();
  2823. c.fill();
  2824. c.restore();
  2825. c.setFillColor('#ffffff');
  2826. c.setShadow(false);
  2827. c.begin();
  2828. c.moveTo(0, h * 0.6053);
  2829. c.lineTo(w * 0.5, h * 0.8722);
  2830. c.lineTo(w, h * 0.6053);
  2831. c.lineTo(w, h * 0.6278);
  2832. c.lineTo(w * 0.5, h * 0.8947);
  2833. c.lineTo(0, h * 0.6278);
  2834. c.close();
  2835. c.fill();
  2836. c.setLineJoin('round');
  2837. c.begin();
  2838. c.moveTo(w * 0.126, h * 0.1316);
  2839. c.lineTo(w * 0.126, h * 0.267);
  2840. c.lineTo(w * 0.378, h * 0.4023);
  2841. c.lineTo(w * 0.5, h * 0.6015);
  2842. c.lineTo(w * 0.622, h * 0.4023);
  2843. c.lineTo(w * 0.874, h * 0.267);
  2844. c.lineTo(w * 0.874, h * 0.1316);
  2845. c.moveTo(0, h * 0.3346);
  2846. c.lineTo(w * 0.126, h * 0.267);
  2847. c.moveTo(w * 0.5, h * 0.6015);
  2848. c.lineTo(w * 0.5, h);
  2849. c.moveTo(w, h * 0.3346);
  2850. c.lineTo(w * 0.87, h * 0.267);
  2851. c.moveTo(w * 0.378, h * 0.4023);
  2852. c.lineTo(w * 0.622, h * 0.4023);
  2853. c.stroke();
  2854. c.setStrokeWidth(2 * strokeWidth);
  2855. c.setStrokeColor('#292929');
  2856. c.begin();
  2857. c.moveTo(0, h * 0.7331);
  2858. c.lineTo(0, h * 0.3346);
  2859. c.lineTo(w * 0.126, h * 0.1316);
  2860. c.lineTo(w * 0.374, 0);
  2861. c.lineTo(w * 0.626, 0);
  2862. c.lineTo(w * 0.874, h * 0.1316);
  2863. c.lineTo(w, h * 0.3346);
  2864. c.lineTo(w, h * 0.7331);
  2865. c.lineTo(w * 0.5, h);
  2866. c.close();
  2867. c.stroke();
  2868. };
  2869. mxCellRenderer.registerShape(mxShapeAws3dRds.prototype.cst.RDS, mxShapeAws3dRds);
  2870. //**********************************************************************************************************************************************************
  2871. //Route 53
  2872. //**********************************************************************************************************************************************************
  2873. /**
  2874. * Extends mxShape.
  2875. */
  2876. function mxShapeAws3dRoute53(bounds, fill, stroke, strokewidth)
  2877. {
  2878. mxShape.call(this);
  2879. this.bounds = bounds;
  2880. this.fill = fill;
  2881. this.stroke = stroke;
  2882. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  2883. };
  2884. /**
  2885. * Extends mxShape.
  2886. */
  2887. mxUtils.extend(mxShapeAws3dRoute53, mxShape);
  2888. mxShapeAws3dRoute53.prototype.cst = {
  2889. ROUTE_53 : 'mxgraph.aws3d.route53',
  2890. SHADING_COLORS : 'shadingCols'
  2891. };
  2892. /**
  2893. * Function: paintVertexShape
  2894. *
  2895. * Paints the vertex shape.
  2896. */
  2897. mxShapeAws3dRoute53.prototype.paintVertexShape = function(c, x, y, w, h)
  2898. {
  2899. c.translate(x, y);
  2900. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  2901. var strokeWidth1 = strokeWidth * w / 117;
  2902. var strokeWidth2 = strokeWidth * h /134.4;
  2903. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  2904. c.setStrokeWidth(strokeWidth);
  2905. this.background(c, 0, 0, w, h, strokeWidth);
  2906. c.setShadow(false);
  2907. this.foreground(c, 0, 0, w, h, strokeWidth);
  2908. };
  2909. mxShapeAws3dRoute53.prototype.background = function(c, x, y, w, h, strokeWidth)
  2910. {
  2911. c.save();
  2912. c.save();
  2913. c.setStrokeWidth(2 * strokeWidth);
  2914. c.setStrokeColor('#292929');
  2915. c.setLineJoin('round');
  2916. c.begin();
  2917. c.moveTo(0, h * 0.6994);
  2918. c.lineTo(0, h * 0.2009);
  2919. c.lineTo(w * 0.0427, h * 0.0781);
  2920. c.lineTo(w * 0.7974, 0);
  2921. c.lineTo(w, h * 0.1004);
  2922. c.lineTo(w, h * 0.5915);
  2923. c.lineTo(w * 0.8376, h * 0.9784);
  2924. c.lineTo(w * 0.5983, h);
  2925. c.close();
  2926. c.fillAndStroke();
  2927. };
  2928. mxShapeAws3dRoute53.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  2929. {
  2930. c.restore();
  2931. c.setShadow(false);
  2932. c.setFillColor('#000000');
  2933. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRoute53.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  2934. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  2935. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  2936. c.begin();
  2937. c.moveTo(0, h * 0.2009);
  2938. c.lineTo(w * 0.6009, h * 0.5007);
  2939. c.lineTo(w * 0.8376, h * 0.4799);
  2940. c.lineTo(w * 0.8376, h * 0.9784);
  2941. c.lineTo(w * 0.5966, h);
  2942. c.lineTo(0, h * 0.6979);
  2943. c.close();
  2944. c.fill();
  2945. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  2946. c.begin();
  2947. c.moveTo(w * 0.8348, h * 0.4861);
  2948. c.lineTo(w * 0.9985, h * 0.0992);
  2949. c.lineTo(w, h * 0.5952);
  2950. c.lineTo(w * 0.8404, h * 0.9747);
  2951. c.close();
  2952. c.fill();
  2953. c.restore();
  2954. c.setShadow(false);
  2955. c.setLineJoin('round');
  2956. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  2957. c.setFillColor(strokeColor);
  2958. c.begin();
  2959. c.moveTo(w * 0.5855, h * 0.1079);
  2960. c.arcTo(w * 0.094, h * 0.0744, 0, 0, 0, w * 0.6863, h * 0.1548);
  2961. c.arcTo(w * 0.0855, h * 0.0446, 0, 0, 0, w * 0.7761, h * 0.2031);
  2962. c.lineTo(w * 0.7726, h * 0.2455);
  2963. c.arcTo(w * 0.0769, h * 0.0298, 0, 0, 0, w * 0.694, h * 0.2693);
  2964. c.arcTo(w * 0.0684, h * 0.0446, 0, 0, 1, w * 0.5897, h * 0.3051);
  2965. c.arcTo(w * 0.4274, h * 0.372, 0, 0, 0, w * 0.4573, h * 0.2753);
  2966. c.arcTo(w * 0.0855, h * 0.0744, 0, 0, 0, w * 0.4188, h * 0.2344);
  2967. c.lineTo(w * 0.3846, h * 0.2083);
  2968. c.arcTo(w * 0.0769, h * 0.0372, 0, 0, 1, w * 0.4103, h * 0.1525);
  2969. c.arcTo(w * 0.0855, h * 0.0409, 0, 0, 0, w * 0.4906, h * 0.1079);
  2970. c.close();
  2971. c.fill();
  2972. c.begin();
  2973. c.moveTo(0, h * 0.2009);
  2974. c.lineTo(w * 0.6009, h * 0.5007);
  2975. c.lineTo(w * 0.8376, h * 0.4799);
  2976. c.lineTo(w * 0.8376, h * 0.9784);
  2977. c.lineTo(w * 0.5966, h);
  2978. c.lineTo(0, h * 0.6979);
  2979. c.close();
  2980. c.moveTo(w * 0.8348, h * 0.4861);
  2981. c.lineTo(w * 0.9985, h * 0.0992);
  2982. c.lineTo(w, h * 0.5952);
  2983. c.lineTo(w * 0.8404, h * 0.9747);
  2984. c.close();
  2985. c.moveTo(w * 0.6009, h * 0.5007);
  2986. c.lineTo(w * 0.6009, h);
  2987. c.stroke();
  2988. c.setStrokeWidth(2 * strokeWidth);
  2989. c.setStrokeColor('#292929');
  2990. c.begin();
  2991. c.moveTo(0, h * 0.6994);
  2992. c.lineTo(0, h * 0.2009);
  2993. c.lineTo(w * 0.0427, h * 0.0781);
  2994. c.lineTo(w * 0.7974, 0);
  2995. c.lineTo(w, h * 0.1004);
  2996. c.lineTo(w, h * 0.5915);
  2997. c.lineTo(w * 0.8376, h * 0.9784);
  2998. c.lineTo(w * 0.5983, h);
  2999. c.close();
  3000. c.stroke();
  3001. };
  3002. mxCellRenderer.registerShape(mxShapeAws3dRoute53.prototype.cst.ROUTE_53, mxShapeAws3dRoute53);
  3003. //**********************************************************************************************************************************************************
  3004. //S3 Bucket
  3005. //**********************************************************************************************************************************************************
  3006. /**
  3007. * Extends mxShape.
  3008. */
  3009. function mxShapeAws3dS3Bucket(bounds, fill, stroke, strokewidth)
  3010. {
  3011. mxShape.call(this);
  3012. this.bounds = bounds;
  3013. this.fill = fill;
  3014. this.stroke = stroke;
  3015. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3016. };
  3017. /**
  3018. * Extends mxShape.
  3019. */
  3020. mxUtils.extend(mxShapeAws3dS3Bucket, mxShape);
  3021. mxShapeAws3dS3Bucket.prototype.cst = {
  3022. S3_BUCKET : 'mxgraph.aws3d.s3Bucket',
  3023. SHADING_COLORS : 'shadingCols'
  3024. };
  3025. /**
  3026. * Function: paintVertexShape
  3027. *
  3028. * Paints the vertex shape.
  3029. */
  3030. mxShapeAws3dS3Bucket.prototype.paintVertexShape = function(c, x, y, w, h)
  3031. {
  3032. c.translate(x, y);
  3033. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3034. var strokeWidth1 = strokeWidth * w / 61.5;
  3035. var strokeWidth2 = strokeWidth * h / 63.8;
  3036. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  3037. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3038. c.setShadow(false);
  3039. c.setStrokeWidth(strokeWidth);
  3040. c.save();
  3041. c.save();
  3042. c.setStrokeWidth(2 * strokeWidth);
  3043. c.setStrokeColor('#292929');
  3044. c.setLineJoin('round');
  3045. if (isShadow == 1)
  3046. {
  3047. c.setShadow(true);
  3048. }
  3049. c.begin();
  3050. c.moveTo(0, h * 0.2774);
  3051. c.lineTo(w * 0.5, 0);
  3052. c.lineTo(w, h * 0.2774);
  3053. c.lineTo(w * 0.7967, h * 0.8307);
  3054. c.lineTo(w * 0.5, h);
  3055. c.lineTo(w * 0.1951, h * 0.8307);
  3056. c.close();
  3057. c.fillAndStroke();
  3058. c.restore();
  3059. c.setFillColor('#000000');
  3060. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3Bucket.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3061. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3062. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3063. c.begin();
  3064. c.moveTo(0, h * 0.2774);
  3065. c.lineTo(w * 0.5, h * 0.5564);
  3066. c.lineTo(w * 0.5, h);
  3067. c.lineTo(w * 0.1984, h * 0.8307);
  3068. c.close();
  3069. c.fill();
  3070. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3071. c.begin();
  3072. c.moveTo(w * 0.5, h * 0.5533);
  3073. c.lineTo(w, h * 0.2774);
  3074. c.lineTo(w * 0.7967, h * 0.8307);
  3075. c.lineTo(w * 0.5, h);
  3076. c.close();
  3077. c.fill();
  3078. c.restore();
  3079. c.setLineJoin('round');
  3080. c.begin();
  3081. c.moveTo(0, h * 0.2774);
  3082. c.lineTo(w * 0.5, h * 0.5564);
  3083. c.lineTo(w, h * 0.2774);
  3084. c.stroke();
  3085. c.begin();
  3086. c.moveTo(w * 0.5, h * 0.5564);
  3087. c.lineTo(w * 0.5, h);
  3088. c.stroke();
  3089. c.setStrokeWidth(2 * strokeWidth);
  3090. c.setStrokeColor('#292929');
  3091. c.setLineJoin('round');
  3092. c.begin();
  3093. c.moveTo(0, h * 0.2774);
  3094. c.lineTo(w * 0.5008, 0);
  3095. c.lineTo(w, h * 0.2774);
  3096. c.lineTo(w * 0.7967, h * 0.8307);
  3097. c.lineTo(w * 0.5008, h);
  3098. c.lineTo(w * 0.1951, h * 0.8307);
  3099. c.close();
  3100. c.stroke();
  3101. };
  3102. mxCellRenderer.registerShape(mxShapeAws3dS3Bucket.prototype.cst.S3_BUCKET, mxShapeAws3dS3Bucket);
  3103. //**********************************************************************************************************************************************************
  3104. //S3
  3105. //**********************************************************************************************************************************************************
  3106. /**
  3107. * Extends mxShape.
  3108. */
  3109. function mxShapeAws3dS3(bounds, fill, stroke, strokewidth)
  3110. {
  3111. mxShape.call(this);
  3112. this.bounds = bounds;
  3113. this.fill = fill;
  3114. this.stroke = stroke;
  3115. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3116. };
  3117. /**
  3118. * Extends mxShape.
  3119. */
  3120. mxUtils.extend(mxShapeAws3dS3, mxShape);
  3121. mxShapeAws3dS3.prototype.cst = {
  3122. S3 : 'mxgraph.aws3d.s3',
  3123. SHADING_COLORS : 'shadingCols'
  3124. };
  3125. /**
  3126. * Function: paintVertexShape
  3127. *
  3128. * Paints the vertex shape.
  3129. */
  3130. mxShapeAws3dS3.prototype.paintVertexShape = function(c, x, y, w, h)
  3131. {
  3132. c.translate(x, y);
  3133. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3134. var strokeWidth1 = strokeWidth * w / 231.5;
  3135. var strokeWidth2 = strokeWidth * h / 239;
  3136. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3137. this.background(c, 0, 0, w, h, strokeWidth);
  3138. c.setShadow(false);
  3139. this.foreground(c, 0, 0, w, h, strokeWidth);
  3140. };
  3141. mxShapeAws3dS3.prototype.background = function(c, x, y, w, h, strokeWidth)
  3142. {
  3143. c.setStrokeWidth(strokeWidth);
  3144. c.save();
  3145. c.save();
  3146. c.setStrokeWidth(2 * strokeWidth);
  3147. c.setStrokeColor('#292929');
  3148. c.setLineJoin('round');
  3149. c.begin();
  3150. c.moveTo(0, h * 0.7782);
  3151. c.lineTo(0, h * 0.3406);
  3152. c.lineTo(w * 0.5974, 0);
  3153. c.lineTo(w, h * 0.2218);
  3154. c.lineTo(w, h * 0.6674);
  3155. c.lineTo(w * 0.3991, h);
  3156. c.close();
  3157. c.fillAndStroke();
  3158. };
  3159. mxShapeAws3dS3.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3160. {
  3161. c.restore();
  3162. c.setShadow(false);
  3163. c.setFillColor('#000000');
  3164. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dS3.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3165. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3166. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3167. c.begin();
  3168. c.moveTo(0, h * 0.3406);
  3169. c.lineTo(w * 0.3991, h * 0.5548);
  3170. c.lineTo(w * 0.3991, h);
  3171. c.lineTo(0, h * 0.7782);
  3172. c.close();
  3173. c.fill();
  3174. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3175. c.begin();
  3176. c.moveTo(w * 0.3991, h * 0.5548);
  3177. c.lineTo(w, h * 0.2218);
  3178. c.lineTo(w, h * 0.6661);
  3179. c.lineTo(w * 0.3991, h);
  3180. c.close();
  3181. c.fill();
  3182. c.restore();
  3183. c.setShadow(false);
  3184. c.setLineJoin('round');
  3185. c.begin();
  3186. c.moveTo(0, h * 0.3406);
  3187. c.lineTo(w * 0.3991, h * 0.5548);
  3188. c.lineTo(w, h * 0.2218);
  3189. c.moveTo(w * 0.3991, h * 0.5548);
  3190. c.lineTo(w * 0.3991, h);
  3191. c.moveTo(w * 0.3991, h * 0.3335);
  3192. c.lineTo(w * 0.2009, h * 0.448);
  3193. c.lineTo(w * 0.2009, h * 0.8891);
  3194. c.moveTo(w * 0.5983, h * 0.2209);
  3195. c.lineTo(w * 0.7948, h * 0.1109);
  3196. c.moveTo(w * 0.2022, h * 0.2218);
  3197. c.lineTo(w * 0.5991, h * 0.4448);
  3198. c.lineTo(w * 0.5991, h * 0.8891);
  3199. c.moveTo(w * 0.4004, h * 0.1117);
  3200. c.lineTo(w * 0.7978, h * 0.3335);
  3201. c.lineTo(w * 0.7978, h * 0.7791);
  3202. c.stroke();
  3203. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3204. c.setFillColor(strokeColor);
  3205. c.begin();
  3206. c.moveTo(w * 0.4773, h * 0.2155);
  3207. c.arcTo(w * 0.0086, h * 0.0046, 0, 0, 1, w * 0.4903, h * 0.2096);
  3208. c.arcTo(w * 0.2808, h * 0.272, 0, 0, 1, w * 0.6004, h * 0.2619);
  3209. c.arcTo(w * 0.108, h * 0.105, 0, 0, 1, w * 0.6177, h * 0.277);
  3210. c.arcTo(w * 0.0065, h * 0.0063, 0, 0, 1, w * 0.6099, h * 0.2879);
  3211. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.5378, h * 0.2607);
  3212. c.arcTo(w * 0.216, h * 0.2092, 0, 0, 1, w * 0.4773, h * 0.2155);
  3213. c.close();
  3214. c.fill();
  3215. c.begin();
  3216. c.moveTo(w * 0.4687, h * 0.2138);
  3217. c.arcTo(w * 0.1512, h * 0.1464, 0, 0, 0, w * 0.4838, h * 0.2343);
  3218. c.arcTo(w * 0.2376, h * 0.2301, 0, 0, 0, w * 0.5529, h * 0.2774);
  3219. c.arcTo(w * 0.1728, h * 0.1674, 0, 0, 0, w * 0.6091, h * 0.2954);
  3220. c.lineTo(w * 0.4946, h * 0.3339);
  3221. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.4549, h * 0.3205);
  3222. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.419, h * 0.3004);
  3223. c.arcTo(w * 0.1944, h * 0.1883, 0, 0, 1, w * 0.3965, h * 0.2795);
  3224. c.close();
  3225. c.fill();
  3226. c.setStrokeWidth(2 * strokeWidth);
  3227. c.setStrokeColor('#292929');
  3228. c.setLineJoin('round');
  3229. c.begin();
  3230. c.moveTo(0, h * 0.7782);
  3231. c.lineTo(0, h * 0.3406);
  3232. c.lineTo(w * 0.5974, 0);
  3233. c.lineTo(w, h * 0.2218);
  3234. c.lineTo(w, h * 0.6674);
  3235. c.lineTo(w * 0.3991, h);
  3236. c.close();
  3237. c.stroke();
  3238. };
  3239. mxCellRenderer.registerShape(mxShapeAws3dS3.prototype.cst.S3, mxShapeAws3dS3);
  3240. //**********************************************************************************************************************************************************
  3241. //SimpleDB
  3242. //**********************************************************************************************************************************************************
  3243. /**
  3244. * Extends mxShape.
  3245. */
  3246. function mxShapeAws3dSimpleDB(bounds, fill, stroke, strokewidth)
  3247. {
  3248. mxShape.call(this);
  3249. this.bounds = bounds;
  3250. this.fill = fill;
  3251. this.stroke = stroke;
  3252. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3253. };
  3254. /**
  3255. * Extends mxShape.
  3256. */
  3257. mxUtils.extend(mxShapeAws3dSimpleDB, mxShape);
  3258. mxShapeAws3dSimpleDB.prototype.cst = {
  3259. SIMPLE_DB : 'mxgraph.aws3d.simpleDb',
  3260. SHADING_COLORS : 'shadingCols'
  3261. };
  3262. /**
  3263. * Function: paintVertexShape
  3264. *
  3265. * Paints the vertex shape.
  3266. */
  3267. mxShapeAws3dSimpleDB.prototype.paintVertexShape = function(c, x, y, w, h)
  3268. {
  3269. c.translate(x, y);
  3270. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3271. var strokeWidth1 = strokeWidth * w / 123;
  3272. var strokeWidth2 = strokeWidth * h /133;
  3273. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3274. c.setStrokeWidth(strokeWidth);
  3275. this.background(c, 0, 0, w, h, strokeWidth);
  3276. c.setShadow(false);
  3277. this.foreground(c, 0, 0, w, h, strokeWidth);
  3278. };
  3279. mxShapeAws3dSimpleDB.prototype.background = function(c, x, y, w, h, strokeWidth)
  3280. {
  3281. c.save();
  3282. c.save();
  3283. c.save();
  3284. c.setStrokeWidth(2 * strokeWidth);
  3285. c.setStrokeColor('#292929');
  3286. c.setLineJoin('round');
  3287. c.begin();
  3288. c.moveTo(0, h * 0.7331);
  3289. c.lineTo(0, h * 0.3346);
  3290. c.lineTo(w * 0.126, h * 0.1316);
  3291. c.lineTo(w * 0.374, 0);
  3292. c.lineTo(w * 0.626, 0);
  3293. c.lineTo(w * 0.874, h * 0.1316);
  3294. c.lineTo(w, h * 0.3346);
  3295. c.lineTo(w, h * 0.7331);
  3296. c.lineTo(w * 0.5, h);
  3297. c.close();
  3298. c.fillAndStroke();
  3299. };
  3300. mxShapeAws3dSimpleDB.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3301. {
  3302. c.restore();
  3303. c.setShadow(false);
  3304. c.setFillColor('#000000');
  3305. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3306. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3307. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3308. c.begin();
  3309. c.moveTo(w * 0.126, h * 0.1316);
  3310. c.lineTo(w * 0.126, h * 0.267);
  3311. c.lineTo(w * 0.378, h * 0.4023);
  3312. c.lineTo(w * 0.5, h * 0.6015);
  3313. c.lineTo(w * 0.5, h);
  3314. c.lineTo(0, h * 0.7331);
  3315. c.lineTo(0, h * 0.3346);
  3316. c.close();
  3317. c.moveTo(w * 0.874, h * 0.267);
  3318. c.lineTo(w * 0.874, h * 0.1316);
  3319. c.lineTo(w, h * 0.3308);
  3320. c.fill();
  3321. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3322. c.begin();
  3323. c.moveTo(w * 0.5, h);
  3324. c.lineTo(w * 0.5, h * 0.6015);
  3325. c.lineTo(w * 0.622, h * 0.4023);
  3326. c.lineTo(w * 0.874, h * 0.267);
  3327. c.lineTo(w, h * 0.3308);
  3328. c.lineTo(w, h * 0.7331);
  3329. c.close();
  3330. c.fill();
  3331. c.restore();
  3332. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3333. c.setFillColor(strokeColor);
  3334. c.setShadow(false);
  3335. c.begin();
  3336. c.moveTo(w * 0.1821, h * 0.182);
  3337. c.lineTo(w * 0.4659, h * 0.0308);
  3338. c.lineTo(w * 0.822, h * 0.2218);
  3339. c.lineTo(w * 0.539, h * 0.3714);
  3340. c.close();
  3341. c.fill();
  3342. c.setLineJoin('round');
  3343. c.begin();
  3344. c.moveTo(w * 0.126, h * 0.1316);
  3345. c.lineTo(w * 0.126, h * 0.267);
  3346. c.lineTo(w * 0.378, h * 0.4023);
  3347. c.lineTo(w * 0.5, h * 0.6015);
  3348. c.lineTo(w * 0.622, h * 0.4023);
  3349. c.lineTo(w * 0.874, h * 0.267);
  3350. c.lineTo(w * 0.874, h * 0.1316);
  3351. c.moveTo(0, h * 0.3346);
  3352. c.lineTo(w * 0.126, h * 0.267);
  3353. c.moveTo(w * 0.5, h * 0.6015);
  3354. c.lineTo(w * 0.5, h);
  3355. c.moveTo(w, h * 0.3346);
  3356. c.lineTo(w * 0.87, h * 0.267);
  3357. c.moveTo(w * 0.378, h * 0.4023);
  3358. c.lineTo(w * 0.622, h * 0.4023);
  3359. c.stroke();
  3360. c.restore();
  3361. c.setShadow(false);
  3362. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  3363. c.setStrokeColor(fillColor);
  3364. c.setStrokeWidth(2.2 * strokeWidth);
  3365. c.begin();
  3366. c.moveTo(w * 0.2382, h * 0.2218);
  3367. c.lineTo(w * 0.5415, h * 0.0602);
  3368. c.moveTo(w * 0.3821, h * 0.0564);
  3369. c.lineTo(w * 0.7737, h * 0.2656);
  3370. c.moveTo(w * 0.2967, h * 0.0915);
  3371. c.lineTo(w * 0.7114, h * 0.312);
  3372. c.moveTo(w * 0.2209, h * 0.1316);
  3373. c.lineTo(w * 0.6179, h * 0.3434);
  3374. c.stroke();
  3375. c.setStrokeWidth(2 * strokeWidth);
  3376. c.setStrokeColor('#292929');
  3377. c.begin();
  3378. c.moveTo(0, h * 0.7331);
  3379. c.lineTo(0, h * 0.3346);
  3380. c.lineTo(w * 0.126, h * 0.1316);
  3381. c.lineTo(w * 0.374, 0);
  3382. c.lineTo(w * 0.626, 0);
  3383. c.lineTo(w * 0.874, h * 0.1316);
  3384. c.lineTo(w, h * 0.3346);
  3385. c.lineTo(w, h * 0.7331);
  3386. c.lineTo(w * 0.5, h);
  3387. c.close();
  3388. c.stroke();
  3389. };
  3390. mxCellRenderer.registerShape(mxShapeAws3dSimpleDB.prototype.cst.SIMPLE_DB, mxShapeAws3dSimpleDB);
  3391. //**********************************************************************************************************************************************************
  3392. //SQS
  3393. //**********************************************************************************************************************************************************
  3394. /**
  3395. * Extends mxShape.
  3396. */
  3397. function mxShapeAws3dSqs(bounds, fill, stroke, strokewidth)
  3398. {
  3399. mxShape.call(this);
  3400. this.bounds = bounds;
  3401. this.fill = fill;
  3402. this.stroke = stroke;
  3403. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3404. };
  3405. /**
  3406. * Extends mxShape.
  3407. */
  3408. mxUtils.extend(mxShapeAws3dSqs, mxShape);
  3409. mxShapeAws3dSqs.prototype.cst = {
  3410. SQS : 'mxgraph.aws3d.sqs',
  3411. SHADING_COLORS : 'shadingCols'
  3412. };
  3413. /**
  3414. * Function: paintVertexShape
  3415. *
  3416. * Paints the vertex shape.
  3417. */
  3418. mxShapeAws3dSqs.prototype.paintVertexShape = function(c, x, y, w, h)
  3419. {
  3420. c.translate(x, y);
  3421. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3422. var strokeWidth1 = strokeWidth * w / 184;
  3423. var strokeWidth2 = strokeWidth * h / 212.75;
  3424. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3425. this.background(c, 0, 0, w, h, strokeWidth);
  3426. c.setShadow(false);
  3427. this.foreground(c, 0, 0, w, h, strokeWidth);
  3428. };
  3429. mxShapeAws3dSqs.prototype.background = function(c, x, y, w, h, strokeWidth)
  3430. {
  3431. c.setStrokeWidth(strokeWidth);
  3432. c.save();
  3433. c.save();
  3434. c.setStrokeWidth(2 * strokeWidth);
  3435. c.setStrokeColor('#292929');
  3436. c.setLineJoin('round');
  3437. c.begin();
  3438. c.moveTo(0, h * 0.7485);
  3439. c.lineTo(0, h * 0.584);
  3440. c.lineTo(w * 0.1658, h * 0.1666);
  3441. c.lineTo(w * 0.5, 0);
  3442. c.lineTo(w * 0.8337, h * 0.1666);
  3443. c.lineTo(w, h * 0.584);
  3444. c.lineTo(w, h * 0.7485);
  3445. c.lineTo(w * 0.5, h);
  3446. c.close();
  3447. c.fillAndStroke();
  3448. };
  3449. mxShapeAws3dSqs.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3450. {
  3451. c.restore();
  3452. c.setShadow(false);
  3453. c.setFillColor('#000000');
  3454. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3455. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3456. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3457. c.begin();
  3458. c.moveTo(w * 0.1658, h * 0.1671);
  3459. c.lineTo(w * 0.5, h * 0.334);
  3460. c.lineTo(w * 0.5, h);
  3461. c.lineTo(0, h * 0.7485);
  3462. c.lineTo(0, h * 0.584);
  3463. c.close();
  3464. c.fill();
  3465. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3466. c.begin();
  3467. c.moveTo(w * 0.5, h * 0.3344);
  3468. c.lineTo(w * 0.8332, h * 0.1671);
  3469. c.lineTo(w, h * 0.584);
  3470. c.lineTo(w, h * 0.7509);
  3471. c.lineTo(w * 0.5, h);
  3472. c.close();
  3473. c.fill();
  3474. c.restore();
  3475. c.setShadow(false);
  3476. c.setLineJoin('round');
  3477. c.begin();
  3478. c.moveTo(w * 0.6674, h * 0.0844);
  3479. c.lineTo(w * 0.3337, h * 0.2512);
  3480. c.lineTo(w * 0.25, h * 0.7109);
  3481. c.lineTo(w * 0.25, h * 0.8736);
  3482. c.moveTo(w * 0.3326, h * 0.0839);
  3483. c.lineTo(w * 0.6674, h * 0.2512);
  3484. c.lineTo(w * 0.75, h * 0.7053);
  3485. c.lineTo(w * 0.75, h * 0.874);
  3486. c.moveTo(0, h * 0.584);
  3487. c.lineTo(w * 0.5, h * 0.8331);
  3488. c.lineTo(w, h * 0.584);
  3489. c.moveTo(w * 0.1658, h * 0.1671);
  3490. c.lineTo(w * 0.5, h * 0.334);
  3491. c.lineTo(w * 0.8332, h * 0.1671);
  3492. c.moveTo(w * 0.5, h * 0.334);
  3493. c.lineTo(w * 0.5, h);
  3494. c.stroke();
  3495. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3496. c.setFillColor(strokeColor);
  3497. c.begin();
  3498. c.moveTo(w * 0.3337, h * 0.1511);
  3499. c.lineTo(w * 0.4668, h * 0.0848);
  3500. c.lineTo(w * 0.6663, h * 0.184);
  3501. c.lineTo(w * 0.5337, h * 0.2503);
  3502. c.close();
  3503. c.fill();
  3504. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000');
  3505. c.setFillColor(fillColor);
  3506. c.begin();
  3507. c.moveTo(w * 0.3902, h * 0.153);
  3508. c.lineTo(w * 0.4701, h * 0.113);
  3509. c.lineTo(w * 0.4701, h * 0.153);
  3510. c.close();
  3511. c.moveTo(w * 0.4402, h * 0.1784);
  3512. c.lineTo(w * 0.5196, h * 0.1384);
  3513. c.lineTo(w * 0.5196, h * 0.1784);
  3514. c.close();
  3515. c.moveTo(w * 0.4908, h * 0.2033);
  3516. c.lineTo(w * 0.5701, h * 0.1633);
  3517. c.lineTo(w * 0.5701, h * 0.2033);
  3518. c.close();
  3519. c.fill();
  3520. c.setStrokeWidth(2 * strokeWidth);
  3521. c.setStrokeColor('#292929');
  3522. c.setLineJoin('round');
  3523. c.begin();
  3524. c.moveTo(0, h * 0.7485);
  3525. c.lineTo(0, h * 0.584);
  3526. c.lineTo(w * 0.1658, h * 0.1666);
  3527. c.lineTo(w * 0.5, 0);
  3528. c.lineTo(w * 0.8337, h * 0.1666);
  3529. c.lineTo(w, h * 0.584);
  3530. c.lineTo(w, h * 0.7485);
  3531. c.lineTo(w * 0.5, h);
  3532. c.close();
  3533. c.stroke();
  3534. };
  3535. mxCellRenderer.registerShape(mxShapeAws3dSqs.prototype.cst.SQS, mxShapeAws3dSqs);
  3536. //**********************************************************************************************************************************************************
  3537. //VPC Gateway
  3538. //**********************************************************************************************************************************************************
  3539. /**
  3540. * Extends mxShape.
  3541. */
  3542. function mxShapeAws3dVpcGateway(bounds, fill, stroke, strokewidth)
  3543. {
  3544. mxShape.call(this);
  3545. this.bounds = bounds;
  3546. this.fill = fill;
  3547. this.stroke = stroke;
  3548. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3549. };
  3550. /**
  3551. * Extends mxShape.
  3552. */
  3553. mxUtils.extend(mxShapeAws3dVpcGateway, mxShape);
  3554. mxShapeAws3dVpcGateway.prototype.cst = {
  3555. VPC_GATEWAY : 'mxgraph.aws3d.vpcGateway',
  3556. SHADING_COLORS : 'shadingCols'
  3557. };
  3558. /**
  3559. * Function: paintVertexShape
  3560. *
  3561. * Paints the vertex shape.
  3562. */
  3563. mxShapeAws3dVpcGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  3564. {
  3565. c.translate(x, y);
  3566. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3567. var strokeWidth1 = strokeWidth * w / 116.7;
  3568. var strokeWidth2 = strokeWidth * h / 102.8;
  3569. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3570. this.background(c, 0, 0, w, h, strokeWidth);
  3571. c.setShadow(false);
  3572. this.foreground(c, 0, 0, w, h, strokeWidth);
  3573. };
  3574. mxShapeAws3dVpcGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  3575. {
  3576. c.setStrokeWidth(strokeWidth);
  3577. c.save();
  3578. c.save();
  3579. c.save();
  3580. c.save();
  3581. c.save();
  3582. c.setStrokeWidth(2 * strokeWidth);
  3583. c.setStrokeColor('#292929');
  3584. c.setLineJoin('round');
  3585. c.begin();
  3586. c.moveTo(w * 0.5801, h * 0.5447);
  3587. c.lineTo(w * 0.5801, h * 0.035);
  3588. c.lineTo(w * 0.1054, 0);
  3589. c.lineTo(0, h * 0.0691);
  3590. c.lineTo(0, h * 0.4134);
  3591. c.lineTo(w * 0.3188, h * 0.7247);
  3592. c.close();
  3593. c.fillAndStroke();
  3594. c.restore();
  3595. c.save();
  3596. c.setShadow(false);
  3597. c.setFillColor('#000000');
  3598. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3599. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3600. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3601. c.begin();
  3602. c.moveTo(w * 0.5801, h * 0.5447);
  3603. c.lineTo(w * 0.5801, h * 0.035);
  3604. c.lineTo(w * 0.3162, h * 0.2072);
  3605. c.lineTo(w * 0.3162, h * 0.7247);
  3606. c.close();
  3607. c.fill();
  3608. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3609. c.begin();
  3610. c.moveTo(w * 0.3162, h * 0.2072);
  3611. c.lineTo(0, h * 0.0691);
  3612. c.lineTo(0, h * 0.4134);
  3613. c.lineTo(w * 0.3162, h * 0.7247);
  3614. c.close();
  3615. c.fill();
  3616. c.restore();
  3617. c.setShadow(false);
  3618. c.begin();
  3619. c.moveTo(w * 0.5801, h * 0.5447);
  3620. c.lineTo(w * 0.5801, h * 0.035);
  3621. c.lineTo(w * 0.3162, h * 0.2072);
  3622. c.lineTo(w * 0.3162, h * 0.7247);
  3623. c.close();
  3624. c.stroke();
  3625. c.restore();
  3626. c.setLineJoin('round');
  3627. c.setShadow(false);
  3628. c.begin();
  3629. c.moveTo(w * 0.3162, h * 0.2072);
  3630. c.lineTo(0, h * 0.0691);
  3631. c.lineTo(0, h * 0.4134);
  3632. c.lineTo(w * 0.3162, h * 0.7247);
  3633. c.close();
  3634. c.stroke();
  3635. c.setStrokeWidth(2 * strokeWidth);
  3636. c.setStrokeColor('#292929');
  3637. c.begin();
  3638. c.moveTo(w * 0.5801, h * 0.5447);
  3639. c.lineTo(w * 0.5801, h * 0.035);
  3640. c.lineTo(w * 0.1054, 0);
  3641. c.lineTo(0, h * 0.0691);
  3642. c.lineTo(0, h * 0.4134);
  3643. c.lineTo(w * 0.3188, h * 0.7247);
  3644. c.close();
  3645. c.stroke();
  3646. c.restore();
  3647. c.setStrokeWidth(2 * strokeWidth);
  3648. c.setStrokeColor('#292929');
  3649. c.setLineJoin('round');
  3650. c.begin();
  3651. c.moveTo(w, h * 0.929);
  3652. c.lineTo(w, h * 0.5866);
  3653. c.lineTo(w * 0.6829, h * 0.1031);
  3654. c.lineTo(w * 0.4216, h * 0.2753);
  3655. c.lineTo(w * 0.4216, h * 0.7928);
  3656. c.lineTo(w * 0.8946, h);
  3657. c.close();
  3658. c.fillAndStroke();
  3659. };
  3660. mxShapeAws3dVpcGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3661. {
  3662. c.restore();
  3663. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3664. c.setShadow(false);
  3665. c.setLineJoin('round');
  3666. c.setFillColor('#000000');
  3667. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dVpcGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3668. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3669. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3670. c.begin();
  3671. c.moveTo(w, h * 0.929);
  3672. c.lineTo(w, h * 0.5866);
  3673. c.lineTo(w * 0.8946, h * 0.6537);
  3674. c.lineTo(w * 0.8946, h);
  3675. c.close();
  3676. c.fill();
  3677. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3678. c.begin();
  3679. c.moveTo(w * 0.8946, h);
  3680. c.lineTo(w * 0.8946, h * 0.6537);
  3681. c.lineTo(w * 0.4216, h * 0.2753);
  3682. c.lineTo(w * 0.4216, h * 0.7928);
  3683. c.close();
  3684. c.fill();
  3685. c.restore();
  3686. c.setShadow(false);
  3687. c.setLineJoin('round');
  3688. c.begin();
  3689. c.moveTo(w, h * 0.929);
  3690. c.lineTo(w, h * 0.5866);
  3691. c.lineTo(w * 0.8946, h * 0.6537);
  3692. c.lineTo(w * 0.8946, h);
  3693. c.close();
  3694. c.stroke();
  3695. c.begin();
  3696. c.moveTo(w * 0.8946, h);
  3697. c.lineTo(w * 0.8946, h * 0.6537);
  3698. c.lineTo(w * 0.4216, h * 0.2753);
  3699. c.lineTo(w * 0.4216, h * 0.7928);
  3700. c.close();
  3701. c.stroke();
  3702. c.setStrokeWidth(2 * strokeWidth);
  3703. c.setStrokeColor('#292929');
  3704. c.setLineJoin('round');
  3705. c.begin();
  3706. c.moveTo(w, h * 0.929);
  3707. c.lineTo(w, h * 0.5866);
  3708. c.lineTo(w * 0.6829, h * 0.1031);
  3709. c.lineTo(w * 0.4216, h * 0.2753);
  3710. c.lineTo(w * 0.4216, h * 0.7928);
  3711. c.lineTo(w * 0.8946, h);
  3712. c.close();
  3713. c.stroke();
  3714. c.setFillColor(strokeColor);
  3715. c.begin();
  3716. c.moveTo(w * 0.5587, h * 0.7743);
  3717. c.lineTo(w * 0.5587, h * 0.6274);
  3718. c.lineTo(w * 0.5775, h * 0.6342);
  3719. c.lineTo(w * 0.5775, h * 0.57);
  3720. c.arcTo(w * 0.0428, h * 0.0486, 0, 0, 1, w * 0.6058, h * 0.5253);
  3721. c.arcTo(w * 0.0686, h * 0.0778, 0, 0, 1, w * 0.6564, h * 0.5447);
  3722. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.6847, h * 0.607);
  3723. c.lineTo(w * 0.6847, h * 0.6877);
  3724. c.lineTo(w * 0.7001, h * 0.6946);
  3725. c.lineTo(w * 0.7001, h * 0.8405);
  3726. c.close();
  3727. c.moveTo(w * 0.6564, h * 0.6741);
  3728. c.lineTo(w * 0.6564, h * 0.6177);
  3729. c.arcTo(w * 0.06, h * 0.0681, 0, 0, 0, w * 0.6392, h * 0.57);
  3730. c.arcTo(w * 0.0343, h * 0.0389, 0, 0, 0, w * 0.6195, h * 0.5574);
  3731. c.arcTo(w * 0.0111, h * 0.0126, 0, 0, 0, w * 0.6058, h * 0.5691);
  3732. c.lineTo(w * 0.6058, h * 0.6498);
  3733. c.close();
  3734. c.fill();
  3735. };
  3736. mxCellRenderer.registerShape(mxShapeAws3dVpcGateway.prototype.cst.VPC_GATEWAY, mxShapeAws3dVpcGateway);
  3737. //**********************************************************************************************************************************************************
  3738. //Web Server
  3739. //**********************************************************************************************************************************************************
  3740. /**
  3741. * Extends mxShape.
  3742. */
  3743. function mxShapeAws3dWebServer(bounds, fill, stroke, strokewidth)
  3744. {
  3745. mxShape.call(this);
  3746. this.bounds = bounds;
  3747. this.fill = fill;
  3748. this.stroke = stroke;
  3749. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3750. };
  3751. /**
  3752. * Extends mxShape.
  3753. */
  3754. mxUtils.extend(mxShapeAws3dWebServer, mxShape);
  3755. mxShapeAws3dWebServer.prototype.cst = {
  3756. WEB_SERVER : 'mxgraph.aws3d.webServer',
  3757. SHADING_COLORS : 'shadingCols'
  3758. };
  3759. /**
  3760. * Function: paintVertexShape
  3761. *
  3762. * Paints the vertex shape.
  3763. */
  3764. mxShapeAws3dWebServer.prototype.paintVertexShape = function(c, x, y, w, h)
  3765. {
  3766. c.translate(x, y);
  3767. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3768. var strokeWidth1 = strokeWidth * w / 123;
  3769. var strokeWidth2 = strokeWidth * h / 106;
  3770. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3771. this.background(c, 0, 0, w, h, strokeWidth);
  3772. c.setShadow(false);
  3773. this.foreground(c, 0, 0, w, h, strokeWidth);
  3774. };
  3775. mxShapeAws3dWebServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  3776. {
  3777. c.setStrokeWidth(strokeWidth);
  3778. c.save();
  3779. c.save();
  3780. c.setStrokeWidth(2 * strokeWidth);
  3781. c.setStrokeColor('#292929');
  3782. c.setLineJoin('round');
  3783. c.begin();
  3784. c.moveTo(0, h * 0.6651);
  3785. c.lineTo(0, h * 0.3349);
  3786. c.lineTo(w * 0.5, 0);
  3787. c.lineTo(w, h * 0.3349);
  3788. c.lineTo(w, h * 0.6651);
  3789. c.lineTo(w * 0.5, h);
  3790. c.close();
  3791. c.fillAndStroke();
  3792. };
  3793. mxShapeAws3dWebServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3794. {
  3795. c.restore();
  3796. c.setShadow(false);
  3797. c.setFillColor('#000000');
  3798. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWebServer.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3799. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3800. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3801. c.begin();
  3802. c.moveTo(0, h * 0.3349);
  3803. c.lineTo(w * 0.5, h * 0.6651);
  3804. c.lineTo(w * 0.5, h);
  3805. c.lineTo(0, h * 0.6651);
  3806. c.close();
  3807. c.fill();
  3808. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3809. c.begin();
  3810. c.moveTo(w * 0.5, h * 0.6651);
  3811. c.lineTo(w, h * 0.3349);
  3812. c.lineTo(w, h * 0.6651);
  3813. c.lineTo(w * 0.5, h);
  3814. c.close();
  3815. c.fill();
  3816. c.restore();
  3817. c.setShadow(false);
  3818. c.setLineJoin('round');
  3819. c.begin();
  3820. c.moveTo(0, h * 0.3349);
  3821. c.lineTo(w * 0.5, h * 0.6651);
  3822. c.lineTo(w * 0.5, h);
  3823. c.lineTo(0, h * 0.6651);
  3824. c.close();
  3825. c.stroke();
  3826. c.begin();
  3827. c.moveTo(w * 0.5, h * 0.6651);
  3828. c.lineTo(w, h * 0.3349);
  3829. c.lineTo(w, h * 0.6651);
  3830. c.lineTo(w * 0.5, h);
  3831. c.close();
  3832. c.stroke();
  3833. c.setLineJoin('miter');
  3834. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3835. c.setFillColor(strokeColor);
  3836. c.begin();
  3837. c.moveTo(w * 0.374, h * 0.5189);
  3838. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.374, h * 0.4858);
  3839. c.lineTo(w * 0.4797, h * 0.4151);
  3840. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.5203, h * 0.4151);
  3841. c.lineTo(w * 0.626, h * 0.4858);
  3842. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.626, h * 0.516);
  3843. c.lineTo(w * 0.5203, h * 0.5868);
  3844. c.arcTo(w * 0.0325, h * 0.0236, 0, 0, 1, w * 0.4797, h * 0.5868);
  3845. c.close();
  3846. c.fill();
  3847. c.setStrokeWidth(2 * strokeWidth);
  3848. c.setStrokeColor('#292929');
  3849. c.setLineJoin('round');
  3850. c.begin();
  3851. c.moveTo(0, h * 0.6651);
  3852. c.lineTo(0, h * 0.3349);
  3853. c.lineTo(w * 0.5, 0);
  3854. c.lineTo(w, h * 0.3349);
  3855. c.lineTo(w, h * 0.6651);
  3856. c.lineTo(w * 0.5, h);
  3857. c.close();
  3858. c.stroke();
  3859. };
  3860. mxCellRenderer.registerShape(mxShapeAws3dWebServer.prototype.cst.WEB_SERVER, mxShapeAws3dWebServer);
  3861. //**********************************************************************************************************************************************************
  3862. //DynamoDB
  3863. //**********************************************************************************************************************************************************
  3864. /**
  3865. * Extends mxShape.
  3866. */
  3867. function mxShapeAws3dDynamoDB(bounds, fill, stroke, strokewidth)
  3868. {
  3869. mxShape.call(this);
  3870. this.bounds = bounds;
  3871. this.fill = fill;
  3872. this.stroke = stroke;
  3873. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  3874. };
  3875. /**
  3876. * Extends mxShape.
  3877. */
  3878. mxUtils.extend(mxShapeAws3dDynamoDB, mxShape);
  3879. mxShapeAws3dDynamoDB.prototype.cst = {
  3880. DYNAMO_DB : 'mxgraph.aws3d.dynamoDb',
  3881. SHADING_COLORS : 'shadingCols'
  3882. };
  3883. /**
  3884. * Function: paintVertexShape
  3885. *
  3886. * Paints the vertex shape.
  3887. */
  3888. mxShapeAws3dDynamoDB.prototype.paintVertexShape = function(c, x, y, w, h)
  3889. {
  3890. c.translate(x, y);
  3891. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  3892. var strokeWidth1 = strokeWidth * w / 181.5;
  3893. var strokeWidth2 = strokeWidth * h / 210;
  3894. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  3895. this.background(c, 0, 0, w, h, strokeWidth);
  3896. c.setShadow(false);
  3897. this.foreground(c, 0, 0, w, h, strokeWidth);
  3898. };
  3899. mxShapeAws3dDynamoDB.prototype.background = function(c, x, y, w, h, strokeWidth)
  3900. {
  3901. c.setStrokeWidth(strokeWidth);
  3902. c.save();
  3903. c.save();
  3904. c.setStrokeWidth(2 * strokeWidth);
  3905. c.setStrokeColor('#292929');
  3906. c.setLineJoin('round');
  3907. c.begin();
  3908. c.moveTo(0, h * 0.8333);
  3909. c.lineTo(0, h * 0.1667);
  3910. c.lineTo(w * 0.3333, h * 0.0014);
  3911. c.lineTo(w * 0.4986, h * 0.1667);
  3912. c.lineTo(w * 0.6639, 0);
  3913. c.lineTo(w, h * 0.169);
  3914. c.lineTo(w, h * 0.8333);
  3915. c.lineTo(w * 0.6667, h);
  3916. c.lineTo(w * 0.5014, h * 0.9162);
  3917. c.lineTo(w * 0.3333, h);
  3918. c.close();
  3919. c.fillAndStroke();
  3920. };
  3921. mxShapeAws3dDynamoDB.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  3922. {
  3923. c.restore();
  3924. c.setShadow(false);
  3925. c.setFillColor('#000000');
  3926. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  3927. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  3928. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  3929. c.begin();
  3930. c.moveTo(w * 0.168, h * 0.3333);
  3931. c.lineTo(0, h * 0.3333);
  3932. c.lineTo(w * 0.3333, h * 0.5);
  3933. c.lineTo(w * 0.3333, h);
  3934. c.lineTo(0, h * 0.8333);
  3935. c.lineTo(0, h * 0.1714);
  3936. c.close();
  3937. c.moveTo(w * 0.4986, h * 0.1667);
  3938. c.lineTo(w * 0.6667, 0);
  3939. c.lineTo(w, h * 0.169);
  3940. c.lineTo(w * 0.832, h * 0.3348);//
  3941. c.lineTo(w, h * 0.3333);
  3942. c.lineTo(w * 0.6667, h * 0.5);
  3943. c.lineTo(w * 0.5014, h * 0.5);
  3944. c.lineTo(w * 0.832, h * 0.3348);
  3945. c.fill();
  3946. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  3947. c.begin();
  3948. c.moveTo(w * 0.3333, h * 0.5);
  3949. c.lineTo(w * 0.4986, h * 0.5);
  3950. c.lineTo(w * 0.4986, h * 0.9162);
  3951. c.lineTo(w * 0.3333, h);
  3952. c.close();
  3953. c.moveTo(w * 0.6667, h);
  3954. c.lineTo(w * 0.6667, h * 0.5);
  3955. c.lineTo(w, h * 0.3333);
  3956. c.lineTo(w * 0.832, h * 0.3348);
  3957. c.lineTo(w, h * 0.169);
  3958. c.lineTo(w, h * 0.831);
  3959. c.close();
  3960. c.fill();
  3961. c.restore();
  3962. c.setShadow(false);
  3963. c.setLineJoin('round');
  3964. c.begin();
  3965. c.moveTo(w * 0.168, h * 0.3333);
  3966. c.lineTo(0, h * 0.3333);
  3967. c.lineTo(w * 0.3333, h * 0.5);
  3968. c.lineTo(w * 0.3333, h);
  3969. c.lineTo(0, h * 0.8333);
  3970. c.lineTo(0, h * 0.1714);
  3971. c.close();
  3972. c.moveTo(w * 0.4986, h * 0.1667);
  3973. c.lineTo(w * 0.6667, 0);
  3974. c.lineTo(w, h * 0.169);
  3975. c.lineTo(w * 0.832, h * 0.3348);
  3976. c.lineTo(w, h * 0.3333);
  3977. c.lineTo(w * 0.6667, h * 0.5);
  3978. c.lineTo(w * 0.5014, h * 0.5);
  3979. c.lineTo(w * 0.832, h * 0.3348);
  3980. c.close();
  3981. c.moveTo(w * 0.3333, h * 0.5);
  3982. c.lineTo(w * 0.4986, h * 0.5);
  3983. c.lineTo(w * 0.4986, h * 0.9162);
  3984. c.lineTo(w * 0.3333, h);
  3985. c.close();
  3986. c.moveTo(w * 0.6667, h);
  3987. c.lineTo(w * 0.6667, h * 0.5);
  3988. c.lineTo(w, h * 0.3333);
  3989. c.lineTo(w, h * 0.831);
  3990. c.close();
  3991. c.moveTo(w * 0.168, h * 0.3333);
  3992. c.lineTo(w * 0.5, h * 0.1667);
  3993. c.moveTo(w * 0.168, h * 0.3333);
  3994. c.lineTo(w * 0.5014, h * 0.5);
  3995. c.stroke();
  3996. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  3997. c.setFillColor(strokeColor);
  3998. c.begin();
  3999. c.moveTo(w * 0.4876, h * 0.2262);
  4000. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5647, h * 0.25);
  4001. c.arcTo(w * 0.4407, h * 0.381, 0, 0, 1, w * 0.6419, h * 0.2905);
  4002. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.6799, h * 0.32);
  4003. c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.6634, h * 0.3314);
  4004. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.5978, h * 0.3119);
  4005. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.508, h * 0.2667);
  4006. c.arcTo(w * 0.303, h * 0.2619, 0, 0, 1, w * 0.4711, h * 0.2343);
  4007. c.arcTo(w * 0.0132, h * 0.0076, 0, 0, 1, w * 0.4876, h * 0.2262);
  4008. c.close();
  4009. c.fill();
  4010. c.begin();
  4011. c.moveTo(w * 0.5124, h * 0.4143);
  4012. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.4683, h * 0.4095);
  4013. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3829, h * 0.3757);
  4014. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 1, w * 0.3196, h * 0.3371);
  4015. c.arcTo(w * 0.0661, h * 0.0357, 0, 0, 1, w * 0.3058, h * 0.3081);
  4016. c.lineTo(w * 0.4612, h * 0.2333);
  4017. c.arcTo(w * 0.0661, h * 0.0476, 0, 0, 0, w * 0.4744, h * 0.2548);
  4018. c.arcTo(w * 0.3306, h * 0.2857, 0, 0, 0, w * 0.53, h * 0.2905);
  4019. c.arcTo(w * 0.4408, h * 0.381, 0, 0, 0, w * 0.6198, h * 0.3295);
  4020. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.665, h * 0.3367);
  4021. c.close();
  4022. c.moveTo(w * 0.5052, h * 0.3714);
  4023. c.arcTo(w * 0.0275, h * 0.019, 0, 0, 1, w * 0.5135, h * 0.3581);
  4024. c.arcTo(w * 0.0275, h * 0.0238, 0, 0, 1, w * 0.5344, h * 0.3571);
  4025. c.lineTo(w * 0.5405, h * 0.3471);
  4026. c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.5278, h * 0.3381);
  4027. c.arcTo(w * 0.022, h * 0.0119, 0, 0, 1, w * 0.5372, h * 0.3271);
  4028. c.lineTo(w * 0.5306, h * 0.3186);
  4029. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.5041, h * 0.3143);
  4030. c.arcTo(w * 0.0275, h * 0.0143, 0, 0, 1, w * 0.4975, h * 0.3029);
  4031. c.lineTo(w * 0.4777, h * 0.2995);
  4032. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4628, h * 0.3033);
  4033. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4408, h * 0.2967);
  4034. c.lineTo(w * 0.4187, h * 0.3);
  4035. c.arcTo(w * 0.011, h * 0.0081, 0, 0, 1, w * 0.4132, h * 0.3124);
  4036. c.arcTo(w * 0.0386, h * 0.0333, 0, 0, 1, w * 0.395, h * 0.3129);
  4037. c.lineTo(w * 0.3873, h * 0.3224);
  4038. c.arcTo(w * 0.0165, h * 0.0143, 0, 0, 1, w * 0.3994, h * 0.3333);
  4039. c.arcTo(w * 0.0138, h * 0.0119, 0, 0, 1, w * 0.3901, h * 0.3433);
  4040. c.lineTo(w * 0.3994, h * 0.3514);
  4041. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4215, h * 0.3548);
  4042. c.arcTo(w * 0.0165, h * 0.0119, 0, 0, 1, w * 0.4298, h * 0.3667);
  4043. c.lineTo(w * 0.449, h * 0.3714);
  4044. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4711, h * 0.3657);
  4045. c.arcTo(w * 0.0331, h * 0.0286, 0, 0, 1, w * 0.4887, h * 0.3724);
  4046. c.close();
  4047. c.moveTo(w * 0.4986, h * 0.351);
  4048. c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 1, w * 0.4804, h * 0.3552);
  4049. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 1, w * 0.443, h * 0.349);
  4050. c.lineTo(w * 0.4413, h * 0.3529);
  4051. c.lineTo(w * 0.4242, h * 0.3371);
  4052. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4545, h * 0.3462);
  4053. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4793, h * 0.3476);
  4054. c.arcTo(w * 0.0441, h * 0.0381, 0, 0, 0, w * 0.4986, h * 0.3448);
  4055. c.close();
  4056. c.moveTo(w * 0.503, h * 0.3349);
  4057. c.arcTo(w * 0.1102, h * 0.0952, 0, 0, 0, w * 0.4766, h * 0.3233);
  4058. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 0, w * 0.4529, h * 0.32);
  4059. c.arcTo(w * 0.0551, h * 0.0476, 0, 0, 0, w * 0.4325, h * 0.3238);
  4060. c.lineTo(w * 0.427, h * 0.3195);
  4061. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4556, h * 0.3157);
  4062. c.arcTo(w * 0.0826, h * 0.0714, 0, 0, 1, w * 0.4851, h * 0.3232);
  4063. c.lineTo(w * 0.4876, h * 0.3181);
  4064. c.close();
  4065. c.fill();
  4066. c.setStrokeWidth(2 * strokeWidth);
  4067. c.setStrokeColor('#292929');
  4068. c.setLineJoin('round');
  4069. c.begin();
  4070. c.moveTo(0, h * 0.8333);
  4071. c.lineTo(0, h * 0.1667);
  4072. c.lineTo(w * 0.3333, h * 0.0014);
  4073. c.lineTo(w * 0.4986, h * 0.1667);
  4074. c.lineTo(w * 0.6639, 0);
  4075. c.lineTo(w, h * 0.169);
  4076. c.lineTo(w, h * 0.8333);
  4077. c.lineTo(w * 0.6667, h);
  4078. c.lineTo(w * 0.5014, h * 0.9162);
  4079. c.lineTo(w * 0.3333, h);
  4080. c.close();
  4081. c.stroke();
  4082. };
  4083. mxCellRenderer.registerShape(mxShapeAws3dDynamoDB.prototype.cst.DYNAMO_DB, mxShapeAws3dDynamoDB);
  4084. //**********************************************************************************************************************************************************
  4085. //Elastic MapReduce
  4086. //**********************************************************************************************************************************************************
  4087. /**
  4088. * Extends mxShape.
  4089. */
  4090. function mxShapeAws3dElasticMapReduce(bounds, fill, stroke, strokewidth)
  4091. {
  4092. mxShape.call(this);
  4093. this.bounds = bounds;
  4094. this.fill = fill;
  4095. this.stroke = stroke;
  4096. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4097. };
  4098. /**
  4099. * Extends mxShape.
  4100. */
  4101. mxUtils.extend(mxShapeAws3dElasticMapReduce, mxShape);
  4102. mxShapeAws3dElasticMapReduce.prototype.cst = {
  4103. ELASTIC_MAP_REDUCE : 'mxgraph.aws3d.elasticMapReduce',
  4104. SHADING_COLORS : 'shadingCols'
  4105. };
  4106. /**
  4107. * Function: paintVertexShape
  4108. *
  4109. * Paints the vertex shape.
  4110. */
  4111. mxShapeAws3dElasticMapReduce.prototype.paintVertexShape = function(c, x, y, w, h)
  4112. {
  4113. c.translate(x, y);
  4114. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4115. var strokeWidth1 = strokeWidth * w / 123;
  4116. var strokeWidth2 = strokeWidth * h /133;
  4117. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4118. c.setStrokeWidth(strokeWidth);
  4119. this.background(c, 0, 0, w, h, strokeWidth);
  4120. c.setShadow(false);
  4121. this.foreground(c, 0, 0, w, h, strokeWidth);
  4122. };
  4123. mxShapeAws3dElasticMapReduce.prototype.background = function(c, x, y, w, h, strokeWidth)
  4124. {
  4125. c.save();
  4126. c.save();
  4127. c.setStrokeWidth(2 * strokeWidth);
  4128. c.setStrokeColor('#292929');
  4129. c.setLineJoin('round');
  4130. c.begin();
  4131. c.moveTo(0, h * 0.7331);
  4132. c.lineTo(0, h * 0.3346);
  4133. c.lineTo(w * 0.126, h * 0.1316);
  4134. c.lineTo(w * 0.374, 0);
  4135. c.lineTo(w * 0.626, 0);
  4136. c.lineTo(w * 0.874, h * 0.1316);
  4137. c.lineTo(w, h * 0.3346);
  4138. c.lineTo(w, h * 0.7331);
  4139. c.lineTo(w * 0.5, h);
  4140. c.close();
  4141. c.fillAndStroke();
  4142. };
  4143. mxShapeAws3dElasticMapReduce.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4144. {
  4145. c.restore();
  4146. c.setShadow(false);
  4147. c.setFillColor('#000000');
  4148. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDynamoDB.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4149. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4150. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4151. c.begin();
  4152. c.moveTo(w * 0.126, h * 0.1316);
  4153. c.lineTo(w * 0.126, h * 0.267);
  4154. c.lineTo(w * 0.378, h * 0.4023);
  4155. c.lineTo(w * 0.5, h * 0.6015);
  4156. c.lineTo(w * 0.5, h);
  4157. c.lineTo(0, h * 0.7331);
  4158. c.lineTo(0, h * 0.3346);
  4159. c.close();
  4160. c.moveTo(w * 0.874, h * 0.267);
  4161. c.lineTo(w * 0.874, h * 0.1316);
  4162. c.lineTo(w, h * 0.3308);
  4163. c.fill();
  4164. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4165. c.begin();
  4166. c.moveTo(w * 0.5, h);
  4167. c.lineTo(w * 0.5, h * 0.6015);
  4168. c.lineTo(w * 0.622, h * 0.4023);
  4169. c.lineTo(w * 0.874, h * 0.267);
  4170. c.lineTo(w, h * 0.3308);
  4171. c.lineTo(w, h * 0.7331);
  4172. c.close();
  4173. c.fill();
  4174. c.restore();
  4175. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4176. c.setFillColor(strokeColor);
  4177. c.setShadow(false);
  4178. c.begin();
  4179. c.moveTo(w * 0.3336, h * 0.1789);
  4180. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.359, h * 0.1789);
  4181. c.lineTo(w * 0.4001, h * 0.2015);
  4182. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4008, h * 0.2135);
  4183. c.lineTo(w * 0.3574, h * 0.2368);
  4184. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.3352, h * 0.2368);
  4185. c.lineTo(w * 0.2934, h * 0.2143);
  4186. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.2934, h * 0.2015);
  4187. c.close();
  4188. c.moveTo(w * 0.3705, h * 0.1729);
  4189. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3705, h * 0.1602);
  4190. c.lineTo(w * 0.4139, h * 0.1368);
  4191. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4336, h * 0.1368);
  4192. c.lineTo(w * 0.4811, h * 0.1617);
  4193. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4811, h * 0.1708);
  4194. c.lineTo(w * 0.4328, h * 0.1955);
  4195. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4156, h * 0.1955);
  4196. c.close();
  4197. c.moveTo(w * 0.4467, h * 0.1308);
  4198. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.4467, h * 0.1203);
  4199. c.lineTo(w * 0.491, h * 0.0962);
  4200. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5123, h * 0.0962);
  4201. c.lineTo(w * 0.559, h * 0.1203);
  4202. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.559, h * 0.1293);
  4203. c.lineTo(w * 0.5123, h * 0.1549);
  4204. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4918, h * 0.1549);
  4205. c.close();
  4206. c.moveTo(w * 0.568, h * 0.1383);
  4207. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5918, h * 0.1383);
  4208. c.lineTo(w * 0.6361, h * 0.1624);
  4209. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6366, h * 0.1714);
  4210. c.lineTo(w * 0.5885, h * 0.1955);
  4211. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.568, h * 0.1955);
  4212. c.lineTo(w * 0.523, h * 0.1714);
  4213. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.523, h * 0.1616);
  4214. c.close();
  4215. c.moveTo(w * 0.6451, h * 0.1789);
  4216. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6697, h * 0.1789);
  4217. c.lineTo(w * 0.7123, h * 0.2023);
  4218. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.7123, h * 0.2128);
  4219. c.lineTo(w * 0.6664, h * 0.2376);
  4220. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.6492, h * 0.2376);
  4221. c.lineTo(w * 0.6016, h * 0.2135);
  4222. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6016, h * 0.2023);
  4223. c.close();
  4224. c.moveTo(w * 0.6369, h * 0.2451);
  4225. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.6369, h * 0.2526);
  4226. c.lineTo(w * 0.5172, h * 0.3173);
  4227. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.4893, h * 0.3173);
  4228. c.lineTo(w * 0.3697, h * 0.2541);
  4229. c.arcTo(w * 0.0074, h * 0.0068, 0, 0, 1, w * 0.3697, h * 0.2436);
  4230. c.lineTo(w * 0.4918, h * 0.1782);
  4231. c.arcTo(w * 0.0328, h * 0.0301, 0, 0, 1, w * 0.5131, h * 0.1782);
  4232. c.close();
  4233. c.fill();
  4234. c.moveTo(w * 0., h * 0.);
  4235. c.lineTo(w * 0., h * 0.);
  4236. c.arcTo(w * 0., h * 0., 0, 0, 1, w * 0., h * 0.);
  4237. c.setLineJoin('round');
  4238. c.begin();
  4239. c.moveTo(w * 0.126, h * 0.1316);
  4240. c.lineTo(w * 0.126, h * 0.267);
  4241. c.lineTo(w * 0.378, h * 0.4023);
  4242. c.lineTo(w * 0.5, h * 0.6015);
  4243. c.lineTo(w * 0.622, h * 0.4023);
  4244. c.lineTo(w * 0.874, h * 0.267);
  4245. c.lineTo(w * 0.874, h * 0.1316);
  4246. c.moveTo(0, h * 0.3346);
  4247. c.lineTo(w * 0.126, h * 0.267);
  4248. c.moveTo(w * 0.5, h * 0.6015);
  4249. c.lineTo(w * 0.5, h);
  4250. c.moveTo(w, h * 0.3346);
  4251. c.lineTo(w * 0.87, h * 0.267);
  4252. c.moveTo(w * 0.378, h * 0.4023);
  4253. c.lineTo(w * 0.622, h * 0.4023);
  4254. c.stroke();
  4255. c.setStrokeWidth(2 * strokeWidth);
  4256. c.setStrokeColor('#292929');
  4257. c.begin();
  4258. c.moveTo(0, h * 0.7331);
  4259. c.lineTo(0, h * 0.3346);
  4260. c.lineTo(w * 0.126, h * 0.1316);
  4261. c.lineTo(w * 0.374, 0);
  4262. c.lineTo(w * 0.626, 0);
  4263. c.lineTo(w * 0.874, h * 0.1316);
  4264. c.lineTo(w, h * 0.3346);
  4265. c.lineTo(w, h * 0.7331);
  4266. c.lineTo(w * 0.5, h);
  4267. c.close();
  4268. c.stroke();
  4269. };
  4270. mxCellRenderer.registerShape(mxShapeAws3dElasticMapReduce.prototype.cst.ELASTIC_MAP_REDUCE, mxShapeAws3dElasticMapReduce);
  4271. //**********************************************************************************************************************************************************
  4272. //RDS Slave
  4273. //**********************************************************************************************************************************************************
  4274. /**
  4275. * Extends mxShape.
  4276. */
  4277. function mxShapeAws3dRdsSlave(bounds, fill, stroke, strokewidth)
  4278. {
  4279. mxShape.call(this);
  4280. this.bounds = bounds;
  4281. this.fill = fill;
  4282. this.stroke = stroke;
  4283. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4284. };
  4285. /**
  4286. * Extends mxShape.
  4287. */
  4288. mxUtils.extend(mxShapeAws3dRdsSlave, mxShape);
  4289. mxShapeAws3dRdsSlave.prototype.cst = {
  4290. RDS_SLAVE : 'mxgraph.aws3d.rdsSlave'
  4291. };
  4292. /**
  4293. * Function: paintVertexShape
  4294. *
  4295. * Paints the vertex shape.
  4296. */
  4297. mxShapeAws3dRdsSlave.prototype.paintVertexShape = function(c, x, y, w, h)
  4298. {
  4299. c.translate(x, y);
  4300. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4301. var strokeWidth1 = strokeWidth * w / 123;
  4302. var strokeWidth2 = strokeWidth * h /133;
  4303. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4304. c.setStrokeWidth(strokeWidth);
  4305. this.background(c, 0, 0, w, h, strokeWidth);
  4306. c.setShadow(false);
  4307. this.foreground(c, 0, 0, w, h, strokeWidth);
  4308. };
  4309. mxShapeAws3dRdsSlave.prototype.background = function(c, x, y, w, h, strokeWidth)
  4310. {
  4311. c.save();
  4312. c.save();
  4313. c.setStrokeWidth(2 * strokeWidth);
  4314. c.setStrokeColor('#292929');
  4315. c.setLineJoin('round');
  4316. c.begin();
  4317. c.moveTo(0, h * 0.7331);
  4318. c.lineTo(0, h * 0.3346);
  4319. c.lineTo(w * 0.126, h * 0.1316);
  4320. c.lineTo(w * 0.374, 0);
  4321. c.lineTo(w * 0.626, 0);
  4322. c.lineTo(w * 0.874, h * 0.1316);
  4323. c.lineTo(w, h * 0.3346);
  4324. c.lineTo(w, h * 0.7331);
  4325. c.lineTo(w * 0.5, h);
  4326. c.close();
  4327. c.fillAndStroke();
  4328. };
  4329. mxShapeAws3dRdsSlave.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4330. {
  4331. c.restore();
  4332. c.setShadow(false);
  4333. c.setFillColor('#000000');
  4334. c.setAlpha('0.1');
  4335. c.begin();
  4336. c.moveTo(w * 0.126, h * 0.1316);
  4337. c.lineTo(w * 0.126, h * 0.267);
  4338. c.lineTo(w * 0.378, h * 0.4023);
  4339. c.lineTo(w * 0.5, h * 0.6015);
  4340. c.lineTo(w * 0.5, h);
  4341. c.lineTo(0, h * 0.7331);
  4342. c.lineTo(0, h * 0.3346);
  4343. c.close();
  4344. c.moveTo(w * 0.874, h * 0.267);
  4345. c.lineTo(w * 0.874, h * 0.1316);
  4346. c.lineTo(w, h * 0.3308);
  4347. c.fill();
  4348. c.setAlpha('0.3');
  4349. c.begin();
  4350. c.moveTo(w * 0.5, h);
  4351. c.lineTo(w * 0.5, h * 0.6015);
  4352. c.lineTo(w * 0.622, h * 0.4023);
  4353. c.lineTo(w * 0.874, h * 0.267);
  4354. c.lineTo(w, h * 0.3308);
  4355. c.lineTo(w, h * 0.7331);
  4356. c.close();
  4357. c.fill();
  4358. c.restore();
  4359. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4360. c.setFillColor(strokeColor);
  4361. c.setShadow(false);
  4362. c.begin();
  4363. c.moveTo(w * 0.2457, h * 0.2137);
  4364. c.lineTo(w * 0.5393, h * 0.0593);
  4365. c.lineTo(w * 0.6875, h * 0.1377);
  4366. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.7137, h * 0.1625);
  4367. c.arcTo(w * 0.0348, h * 0.032, 0, 0, 1, w * 0.7076, h * 0.1968);
  4368. c.arcTo(w * 0.1743, h * 0.1599, 0, 0, 1, w * 0.6597, h * 0.2249);
  4369. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5943, h * 0.232);
  4370. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 1, w * 0.5542, h * 0.2225);
  4371. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 1, w * 0.5673, h * 0.2353);
  4372. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 1, w * 0.5611, h * 0.2729);
  4373. c.lineTo(w * 0.4889, h * 0.316);
  4374. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.4766, h * 0.3352);
  4375. c.lineTo(w * 0.4052, h * 0.2992);
  4376. c.arcTo(w * 0.0173, h * 0.0159, 0, 0, 1, w * 0.4121, h * 0.2841);
  4377. c.lineTo(w * 0.4914, h * 0.2368);
  4378. c.arcTo(w * 0.0218, h * 0.02, 0, 0, 0, w * 0.4897, h * 0.2129);
  4379. c.lineTo(w * 0.4409, h * 0.1857);
  4380. c.lineTo(w * 0.3145, h * 0.2529);
  4381. c.close();
  4382. c.moveTo(w * 0.4801, h * 0.1633);
  4383. c.lineTo(w * 0.5263, h * 0.1865);
  4384. c.arcTo(w * 0.0871, h * 0.0799, 0, 0, 0, w * 0.583, h * 0.1905);
  4385. c.arcTo(w * 0.1307, h * 0.1199, 0, 0, 0, w * 0.6196, h * 0.1721);
  4386. c.arcTo(w * 0.0261, h * 0.024, 0, 0, 0, w * 0.6117, h * 0.1441);
  4387. c.lineTo(w * 0.5655, h * 0.1193);
  4388. c.fill();
  4389. c.setLineJoin('round');
  4390. c.begin();
  4391. c.moveTo(w * 0.126, h * 0.1316);
  4392. c.lineTo(w * 0.126, h * 0.267);
  4393. c.lineTo(w * 0.378, h * 0.4023);
  4394. c.lineTo(w * 0.5, h * 0.6015);
  4395. c.lineTo(w * 0.622, h * 0.4023);
  4396. c.lineTo(w * 0.874, h * 0.267);
  4397. c.lineTo(w * 0.874, h * 0.1316);
  4398. c.moveTo(0, h * 0.3346);
  4399. c.lineTo(w * 0.126, h * 0.267);
  4400. c.moveTo(w * 0.5, h * 0.6015);
  4401. c.lineTo(w * 0.5, h);
  4402. c.moveTo(w, h * 0.3346);
  4403. c.lineTo(w * 0.87, h * 0.267);
  4404. c.moveTo(w * 0.378, h * 0.4023);
  4405. c.lineTo(w * 0.622, h * 0.4023);
  4406. c.stroke();
  4407. c.setStrokeWidth(2 * strokeWidth);
  4408. c.setStrokeColor('#292929');
  4409. c.begin();
  4410. c.moveTo(0, h * 0.7331);
  4411. c.lineTo(0, h * 0.3346);
  4412. c.lineTo(w * 0.126, h * 0.1316);
  4413. c.lineTo(w * 0.374, 0);
  4414. c.lineTo(w * 0.626, 0);
  4415. c.lineTo(w * 0.874, h * 0.1316);
  4416. c.lineTo(w, h * 0.3346);
  4417. c.lineTo(w, h * 0.7331);
  4418. c.lineTo(w * 0.5, h);
  4419. c.close();
  4420. c.stroke();
  4421. };
  4422. mxCellRenderer.registerShape(mxShapeAws3dRdsSlave.prototype.cst.RDS_SLAVE, mxShapeAws3dRdsSlave);
  4423. //**********************************************************************************************************************************************************
  4424. //AMI
  4425. //**********************************************************************************************************************************************************
  4426. /**
  4427. * Extends mxShape.
  4428. */
  4429. function mxShapeAws3dAMI2(bounds, fill, stroke, strokewidth)
  4430. {
  4431. mxShape.call(this);
  4432. this.bounds = bounds;
  4433. this.fill = fill;
  4434. this.stroke = stroke;
  4435. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4436. };
  4437. /**
  4438. * Extends mxShape.
  4439. */
  4440. mxUtils.extend(mxShapeAws3dAMI2, mxShape);
  4441. mxShapeAws3dAMI2.prototype.cst = {
  4442. AMI_2 : 'mxgraph.aws3d.ami2',
  4443. SHADING_COLORS : 'shadingCols'
  4444. };
  4445. /**
  4446. * Function: paintVertexShape
  4447. *
  4448. * Paints the vertex shape.
  4449. */
  4450. mxShapeAws3dAMI2.prototype.paintVertexShape = function(c, x, y, w, h)
  4451. {
  4452. c.translate(x, y);
  4453. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4454. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  4455. var strokeWidth1 = strokeWidth * w / 92;
  4456. var strokeWidth2 = strokeWidth * h / 60;
  4457. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4458. c.setStrokeWidth(strokeWidth);
  4459. c.setShadow(false);
  4460. c.save();
  4461. c.save();
  4462. c.setStrokeWidth(2 * strokeWidth);
  4463. c.setStrokeColor('#292929');
  4464. c.setLineJoin('round');
  4465. if (isShadow == 1)
  4466. {
  4467. c.setShadow(true);
  4468. }
  4469. c.begin();
  4470. c.moveTo(0, h * 0.572);
  4471. c.lineTo(w * 0.0865, h * 0.284);
  4472. c.lineTo(w * 0.4203, 0);
  4473. c.lineTo(w * 0.5865, 0);
  4474. c.lineTo(w * 0.919, h * 0.286);
  4475. c.lineTo(w, h * 0.566);
  4476. c.lineTo(w * 0.5027, h);
  4477. c.close();
  4478. c.fillAndStroke();
  4479. c.restore();
  4480. c.setFillColor('#000000');
  4481. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dAMI2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4482. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4483. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4484. c.begin();
  4485. c.moveTo(0, h * 0.566);
  4486. c.lineTo(w * 0.0892, h * 0.282);
  4487. c.lineTo(w * 0.0878, h * 0.426);
  4488. c.lineTo(w * 0.4216, h * 0.712);
  4489. c.lineTo(w * 0.5865, h * 0.712);
  4490. c.lineTo(w * 0.5027, h);
  4491. c.close();
  4492. c.fill();
  4493. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4494. c.begin();
  4495. c.moveTo(w * 0.5027, h);
  4496. c.lineTo(w * 0.5865, h * 0.712);
  4497. c.lineTo(w * 0.9176, h * 0.43);
  4498. c.lineTo(w, h * 0.566);
  4499. c.close();
  4500. c.fill();
  4501. c.restore();
  4502. c.setLineJoin('round');
  4503. c.begin();
  4504. c.moveTo(0, h * 0.566);
  4505. c.lineTo(w * 0.0892, h * 0.282);
  4506. c.lineTo(w * 0.0878, h * 0.426);
  4507. c.lineTo(w * 0.4216, h * 0.712);
  4508. c.lineTo(w * 0.5865, h * 0.712);
  4509. c.lineTo(w * 0.5027, h);
  4510. c.close();
  4511. c.moveTo(w * 0.5027, h);
  4512. c.lineTo(w * 0.5865, h * 0.712);
  4513. c.lineTo(w * 0.9176, h * 0.43);
  4514. c.lineTo(w, h * 0.566);
  4515. c.close();
  4516. c.moveTo(0, h * 0.572);
  4517. c.lineTo(w * 0.0892, h * 0.422);
  4518. c.moveTo(w * 0.5027, h);
  4519. c.lineTo(w * 0.4189, h * 0.708);
  4520. c.moveTo(w * 0.9176, h * 0.43);
  4521. c.lineTo(w * 0.9176, h * 0.29);
  4522. c.stroke();
  4523. c.setStrokeWidth(2 * strokeWidth);
  4524. c.setLineJoin('round');
  4525. c.begin();
  4526. c.moveTo(w * 0.2095, h * 0.376);
  4527. c.lineTo(w * 0.527, h * 0.104);
  4528. c.lineTo(w * 0.6338, h * 0.194);
  4529. c.lineTo(w * 0.3149, h * 0.468);
  4530. c.close();
  4531. c.moveTo(w * 0.3716, h * 0.518);
  4532. c.lineTo(w * 0.6892, h * 0.246);
  4533. c.lineTo(w * 0.796, h * 0.336);
  4534. c.lineTo(w * 0.477, h * 0.61);
  4535. c.close();
  4536. c.moveTo(w * 0.3108, h * 0.282);
  4537. c.lineTo(w * 0.4257, h * 0.38);
  4538. c.moveTo(w * 0.4189, h * 0.194);
  4539. c.lineTo(w * 0.5297, h * 0.288);
  4540. c.moveTo(w * 0.5838, h * 0.338);
  4541. c.lineTo(w * 0.6892, h * 0.426);
  4542. c.moveTo(w * 0.4757, h * 0.426);
  4543. c.lineTo(w * 0.5838, h * 0.518);
  4544. c.stroke();
  4545. c.setStrokeColor('#292929');
  4546. c.begin();
  4547. c.moveTo(0, h * 0.572);
  4548. c.lineTo(w * 0.0865, h * 0.284);
  4549. c.lineTo(w * 0.4203, 0);
  4550. c.lineTo(w * 0.5865, 0);
  4551. c.lineTo(w * 0.919, h * 0.286);
  4552. c.lineTo(w, h * 0.566);
  4553. c.lineTo(w * 0.5027, h);
  4554. c.close();
  4555. c.stroke();
  4556. };
  4557. mxCellRenderer.registerShape(mxShapeAws3dAMI2.prototype.cst.AMI_2, mxShapeAws3dAMI2);
  4558. //**********************************************************************************************************************************************************
  4559. //EBS
  4560. //**********************************************************************************************************************************************************
  4561. /**
  4562. * Extends mxShape.
  4563. */
  4564. function mxShapeAws3dEbs(bounds, fill, stroke, strokewidth)
  4565. {
  4566. mxShape.call(this);
  4567. this.bounds = bounds;
  4568. this.fill = fill;
  4569. this.stroke = stroke;
  4570. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4571. };
  4572. /**
  4573. * Extends mxShape.
  4574. */
  4575. mxUtils.extend(mxShapeAws3dEbs, mxShape);
  4576. mxShapeAws3dEbs.prototype.cst = {
  4577. EBS : 'mxgraph.aws3d.ebs',
  4578. SHADING_COLORS : 'shadingCols'
  4579. };
  4580. /**
  4581. * Function: paintVertexShape
  4582. *
  4583. * Paints the vertex shape.
  4584. */
  4585. mxShapeAws3dEbs.prototype.paintVertexShape = function(c, x, y, w, h)
  4586. {
  4587. c.translate(x, y);
  4588. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4589. var strokeWidth1 = strokeWidth * w / 92;
  4590. var strokeWidth2 = strokeWidth * h / 60;
  4591. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  4592. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4593. c.setStrokeWidth(strokeWidth);
  4594. c.setShadow(false);
  4595. c.save();
  4596. c.save();
  4597. c.setStrokeWidth(2 * strokeWidth);
  4598. c.setStrokeColor('#292929');
  4599. c.setLineJoin('round');
  4600. if(isShadow == 1)
  4601. {
  4602. c.setShadow(true);
  4603. }
  4604. c.begin();
  4605. c.moveTo(0, h * 0.5276);
  4606. c.lineTo(0, h * 0.4188);
  4607. c.lineTo(w * 0.071, h * 0.2898);
  4608. c.lineTo(w * 0.4033, 0);
  4609. c.lineTo(w * 0.9301, h * 0.464);
  4610. c.lineTo(w, h * 0.5863);
  4611. c.lineTo(w, h * 0.7035);
  4612. c.lineTo(w * 0.6667, h);
  4613. c.lineTo(w * 0.5355, h);
  4614. c.close();
  4615. c.fillAndStroke();
  4616. c.restore();
  4617. c.setFillColor('#000000');
  4618. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  4619. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  4620. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  4621. c.begin();
  4622. c.moveTo(w * 0.071, h * 0.2948);
  4623. c.lineTo(w * 0.6011, h * 0.7621);
  4624. c.lineTo(w * 0.6667, h);
  4625. c.lineTo(w * 0.5355, h);
  4626. c.lineTo(0, h * 0.5276);
  4627. c.lineTo(0, h * 0.4137);
  4628. c.close();
  4629. c.fill();
  4630. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  4631. c.begin();
  4632. c.moveTo(w * 0.6011, h * 0.7655);
  4633. c.lineTo(w * 0.9344, h * 0.4724);
  4634. c.lineTo(w, h * 0.7035);
  4635. c.lineTo(w * 0.6667, h);
  4636. c.close();
  4637. c.fill();
  4638. c.restore();
  4639. c.setLineJoin('round');
  4640. c.begin();
  4641. c.moveTo(w * 0.071, h * 0.2948);
  4642. c.lineTo(w * 0.6011, h * 0.7621);
  4643. c.lineTo(w * 0.6667, h);
  4644. c.lineTo(w * 0.5355, h);
  4645. c.lineTo(0, h * 0.5276);
  4646. c.lineTo(0, h * 0.4137);
  4647. c.close();
  4648. c.moveTo(w * 0.6011, h * 0.7655);
  4649. c.lineTo(w * 0.9344, h * 0.4724);
  4650. c.lineTo(w, h * 0.7035);
  4651. c.lineTo(w * 0.6667, h);
  4652. c.close();
  4653. c.moveTo(w * 0.0033, h * 0.5276);
  4654. c.lineTo(w * 0.071, h * 0.2898);
  4655. c.moveTo(w * 0.5325, h * 0.9976);
  4656. c.lineTo(w * 0.603, h * 0.7593);
  4657. c.stroke();
  4658. c.setStrokeWidth(2 * strokeWidth);
  4659. c.setStrokeColor('#292929');
  4660. c.setLineJoin('round');
  4661. c.begin();
  4662. c.moveTo(0, h * 0.5276);
  4663. c.lineTo(0, h * 0.4188);
  4664. c.lineTo(w * 0.071, h * 0.2898);
  4665. c.lineTo(w * 0.4033, 0);
  4666. c.lineTo(w * 0.9301, h * 0.464);
  4667. c.lineTo(w, h * 0.5863);
  4668. c.lineTo(w, h * 0.7035);
  4669. c.lineTo(w * 0.6667, h);
  4670. c.lineTo(w * 0.5355, h);
  4671. c.close();
  4672. c.stroke();
  4673. };
  4674. mxCellRenderer.registerShape(mxShapeAws3dEbs.prototype.cst.EBS, mxShapeAws3dEbs);
  4675. //**********************************************************************************************************************************************************
  4676. //Oracle Server
  4677. //**********************************************************************************************************************************************************
  4678. /**
  4679. * Extends mxShape.
  4680. */
  4681. function mxShapeAws3dOracleServer(bounds, fill, stroke, strokewidth)
  4682. {
  4683. mxShape.call(this);
  4684. this.bounds = bounds;
  4685. this.fill = fill;
  4686. this.stroke = stroke;
  4687. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  4688. };
  4689. /**
  4690. * Extends mxShape.
  4691. */
  4692. mxUtils.extend(mxShapeAws3dOracleServer, mxShape);
  4693. mxShapeAws3dOracleServer.prototype.cst = {
  4694. ORACLE_SERVER : 'mxgraph.aws3d.oracleServer'
  4695. };
  4696. /**
  4697. * Function: paintVertexShape
  4698. *
  4699. * Paints the vertex shape.
  4700. */
  4701. mxShapeAws3dOracleServer.prototype.paintVertexShape = function(c, x, y, w, h)
  4702. {
  4703. c.translate(x, y);
  4704. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  4705. var strokeWidth1 = strokeWidth * w / 123;
  4706. var strokeWidth2 = strokeWidth * h /133;
  4707. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  4708. c.setStrokeWidth(strokeWidth);
  4709. this.background(c, 0, 0, w, h, strokeWidth);
  4710. c.setShadow(false);
  4711. this.foreground(c, 0, 0, w, h, strokeWidth);
  4712. };
  4713. mxShapeAws3dOracleServer.prototype.background = function(c, x, y, w, h, strokeWidth)
  4714. {
  4715. c.save();
  4716. c.save();
  4717. c.save();
  4718. c.setStrokeWidth(2 * strokeWidth);
  4719. c.setStrokeColor('#292929');
  4720. c.setLineJoin('round');
  4721. c.begin();
  4722. c.moveTo(0, h * 0.7464);
  4723. c.lineTo(0, h * 0.25);
  4724. c.lineTo(w * 0.5, 0);
  4725. c.lineTo(w, h * 0.25);
  4726. c.lineTo(w, h * 0.7464);
  4727. c.lineTo(w * 0.5, h);
  4728. c.close();
  4729. c.fillAndStroke();
  4730. };
  4731. mxShapeAws3dOracleServer.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  4732. {
  4733. c.restore();
  4734. c.setShadow(false);
  4735. c.setFillColor('#000000');
  4736. c.setAlpha('0.1');
  4737. c.begin();
  4738. c.moveTo(0, h * 0.7464);
  4739. c.lineTo(0, h * 0.25);
  4740. c.lineTo(w * 0.5, h * 0.5);
  4741. c.lineTo(w * 0.5, h);
  4742. c.close();
  4743. c.fill();
  4744. c.setAlpha('0.3');
  4745. c.begin();
  4746. c.moveTo(w * 0.5, h * 0.5);
  4747. c.lineTo(w, h * 0.25);
  4748. c.lineTo(w, h * 0.7464);
  4749. c.lineTo(w * 0.5, h);
  4750. c.close();
  4751. c.fill();
  4752. c.restore();
  4753. c.setShadow(false);
  4754. c.setLineJoin('round');
  4755. c.setFillColor('#ff0000');
  4756. c.begin();
  4757. c.moveTo(0, h * 0.5866);
  4758. c.lineTo(w * 0.5, h * 0.8359);
  4759. c.lineTo(w, h * 0.5866);
  4760. c.lineTo(w, h * 0.6986);
  4761. c.lineTo(w * 0.5, h * 0.9486);
  4762. c.lineTo(0, h * 0.6986);
  4763. c.fill();
  4764. c.setStrokeWidth(0.5 * strokeWidth);
  4765. c.setStrokeColor('#ffffff');
  4766. c.setFillColor('#ffffff');
  4767. c.begin();
  4768. c.moveTo(0, h * 0.5866);
  4769. c.lineTo(w * 0.5, h * 0.8359);
  4770. c.lineTo(w, h * 0.5866);
  4771. c.moveTo(w, h * 0.6986);
  4772. c.lineTo(w * 0.5, h * 0.9486);
  4773. c.lineTo(0, h * 0.6986);
  4774. c.stroke();
  4775. c.begin();
  4776. c.moveTo(w * 0.0813, h * 0.7113);
  4777. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.065, h * 0.6831);
  4778. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.065, h * 0.6613);
  4779. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.0797, h * 0.6549);
  4780. c.lineTo(w * 0.122, h * 0.6754);
  4781. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.1358, h * 0.6937);
  4782. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.139, h * 0.7232);
  4783. c.arcTo(w * 0.0179, h * 0.0155, 0, 0, 1, w * 0.1187, h * 0.7296);
  4784. c.close();
  4785. c.moveTo(w * 0.1163, h * 0.7183);
  4786. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.1285, h * 0.7148);
  4787. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1293, h * 0.7021);
  4788. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.1179, h * 0.6831);
  4789. c.lineTo(w * 0.087, h * 0.6676);
  4790. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.0764, h * 0.6697);
  4791. c.arcTo(w * 0.0325, h * 0.0352, 0, 0, 0, w * 0.078, h * 0.6937);
  4792. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.087, h * 0.7035);
  4793. c.close();
  4794. c.moveTo(w * 0.1439, h * 0.743);
  4795. c.lineTo(w * 0.1439, h * 0.6866);
  4796. c.lineTo(w * 0.1846, h * 0.707);
  4797. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.1967, h * 0.7183);
  4798. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2, h * 0.738);
  4799. c.arcTo(w * 0.0138, h * 0.0155, 0, 0, 1, w * 0.1813, h * 0.743);
  4800. c.lineTo(w * 0.1992, h * 0.769);
  4801. c.lineTo(w * 0.187, h * 0.7641);
  4802. c.lineTo(w * 0.1577, h * 0.7218);
  4803. c.lineTo(w * 0.1854, h * 0.7345);
  4804. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.1911, h * 0.7317);
  4805. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 0, w * 0.1894, h * 0.7225);
  4806. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.1821, h * 0.7155);
  4807. c.lineTo(w * 0.1528, h * 0.7007);
  4808. c.lineTo(w * 0.1528, h * 0.7472);
  4809. c.close();
  4810. c.moveTo(w * 0.2008, h * 0.7711);
  4811. c.lineTo(w * 0.2293, h * 0.7338);
  4812. c.arcTo(w * 0.0065, h * 0.0056, 0, 0, 1, w * 0.2382, h * 0.7324);
  4813. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2431, h * 0.7415);
  4814. c.lineTo(w * 0.2699, h * 0.8035);
  4815. c.lineTo(w * 0.2602, h * 0.8007);
  4816. c.lineTo(w * 0.252, h * 0.7859);
  4817. c.lineTo(w * 0.2293, h * 0.7754);
  4818. c.lineTo(w * 0.2244, h * 0.7634);
  4819. c.lineTo(w * 0.248, h * 0.7739);
  4820. c.lineTo(w * 0.235, h * 0.7444);
  4821. c.lineTo(w * 0.2122, h * 0.7768);
  4822. c.close();
  4823. c.moveTo(w * 0.3244, h * 0.8225);
  4824. c.lineTo(w * 0.3171, h * 0.8289);
  4825. c.lineTo(w * 0.2854, h * 0.8127);
  4826. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2724, h * 0.7986);
  4827. c.arcTo(w * 0.0569, h * 0.0493, 0, 0, 1, w * 0.265, h * 0.7746);
  4828. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.2683, h * 0.762);
  4829. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.2829, h * 0.757);
  4830. c.lineTo(w * 0.3228, h * 0.7761);
  4831. c.lineTo(w * 0.3179, h * 0.7831);
  4832. c.lineTo(w * 0.2878, h * 0.7683);
  4833. c.arcTo(w * 0.0081, h * 0.007, 0, 0, 0, w * 0.2789, h * 0.7697);
  4834. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.2748, h * 0.7831);
  4835. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.2878, h * 0.8042);
  4836. c.close();
  4837. c.moveTo(w * 0.3276, h * 0.7789);
  4838. c.lineTo(w * 0.3366, h * 0.7831);
  4839. c.lineTo(w * 0.3366, h * 0.8289);
  4840. c.lineTo(w * 0.3805, h * 0.8507);
  4841. c.lineTo(w * 0.3748, h * 0.857);
  4842. c.lineTo(w * 0.3317, h * 0.8359);
  4843. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3276, h * 0.8275);
  4844. c.close();
  4845. c.moveTo(w * 0.435, h * 0.8775);
  4846. c.lineTo(w * 0.4325, h * 0.8866);
  4847. c.lineTo(w * 0.3959, h * 0.8683);
  4848. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.3862, h * 0.8563);
  4849. c.arcTo(w * 0.0528, h * 0.0458, 0, 0, 1, w * 0.3805, h * 0.8183);
  4850. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.3951, h * 0.8134);
  4851. c.lineTo(w * 0.435, h * 0.8324);
  4852. c.lineTo(w * 0.4285, h * 0.838);
  4853. c.lineTo(w * 0.4008, h * 0.8246);
  4854. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.3878, h * 0.831);
  4855. c.lineTo(w * 0.4333, h * 0.8542);
  4856. c.lineTo(w * 0.426, h * 0.8606);
  4857. c.lineTo(w * 0.3878, h * 0.8415);
  4858. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.3976, h * 0.8585);
  4859. c.close();
  4860. c.moveTo(w * 0.6171, h * 0.8063);
  4861. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.6366, h * 0.8092);
  4862. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 1, w * 0.639, h * 0.8303);
  4863. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.6211, h * 0.8592);
  4864. c.lineTo(w * 0.5894, h * 0.8761);
  4865. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 1, w * 0.565, h * 0.8732);
  4866. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.5659, h * 0.8458);
  4867. c.arcTo(w * 0.0488, h * 0.0422, 0, 0, 1, w * 0.5805, h * 0.8246);
  4868. c.close();
  4869. c.moveTo(w * 0.5886, h * 0.8296);
  4870. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.5748, h * 0.8472);
  4871. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.574, h * 0.862);
  4872. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.587, h * 0.8676);
  4873. c.lineTo(w * 0.6163, h * 0.8528);
  4874. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.6285, h * 0.8359);
  4875. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6293, h * 0.8225);
  4876. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 0, w * 0.6163, h * 0.8155);
  4877. c.close();
  4878. c.moveTo(w * 0.64, h * 0.85);
  4879. c.lineTo(w * 0.64, h * 0.7930);
  4880. c.lineTo(w * 0.6854, h * 0.7718);
  4881. c.arcTo(w * 0.0106, h * 0.0092, 0, 0, 1, w * 0.7008, h * 0.7782);
  4882. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6959, h * 0.8);
  4883. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.6805, h * 0.8127);
  4884. c.lineTo(w * 0.6992, h * 0.8218);
  4885. c.lineTo(w * 0.6854, h * 0.8282);
  4886. c.lineTo(w * 0.6569, h * 0.8141);
  4887. c.lineTo(w * 0.6805, h * 0.8021);
  4888. c.arcTo(w * 0.0203, h * 0.0176, 0, 0, 0, w * 0.6894, h * 0.7923);
  4889. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 0, w * 0.6894, h * 0.7845);
  4890. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 0, w * 0.6837, h * 0.7831);
  4891. c.lineTo(w * 0.6528, h * 0.7979);
  4892. c.lineTo(w * 0.6528, h * 0.8437);
  4893. c.close();
  4894. c.moveTo(w * 0.7, h * 0.8204);
  4895. c.lineTo(w * 0.7301, h * 0.7507);
  4896. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7358, h * 0.7444);
  4897. c.arcTo(w * 0.0098, h * 0.0085, 0, 0, 1, w * 0.7415, h * 0.7486);
  4898. c.lineTo(w * 0.7699, h * 0.7852);
  4899. c.lineTo(w * 0.7602, h * 0.7908);
  4900. c.lineTo(w * 0.7537, h * 0.7838);
  4901. c.lineTo(w * 0.7276, h * 0.7958);
  4902. c.lineTo(w * 0.7228, h * 0.788);
  4903. c.lineTo(w * 0.748, h * 0.7768);
  4904. c.lineTo(w * 0.7358, h * 0.7585);
  4905. c.lineTo(w * 0.7114, h * 0.8155);
  4906. c.close();
  4907. c.moveTo(w * 0.8244, h * 0.7486);
  4908. c.lineTo(w * 0.8171, h * 0.762);
  4909. c.lineTo(w * 0.7894, h * 0.7761);
  4910. c.arcTo(w * 0.0244, h * 0.0211, 0, 0, 1, w * 0.7683, h * 0.7746);
  4911. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.7667, h * 0.7507);
  4912. c.arcTo(w * 0.0488, h * 0.0423, 0, 0, 1, w * 0.7937, h * 0.7162);
  4913. c.lineTo(w * 0.822, h * 0.7035);
  4914. c.lineTo(w * 0.8171, h * 0.7155);
  4915. c.lineTo(w * 0.7902, h * 0.7296);
  4916. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.778, h * 0.743);
  4917. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 0, w * 0.7756, h * 0.7606);
  4918. c.arcTo(w * 0.0077, h * 0.0067, 0, 0, 0, w * 0.787, h * 0.767);
  4919. c.close();
  4920. c.moveTo(w * 0.8366, h * 0.6949);
  4921. c.lineTo(w * 0.8366, h * 0.7423);
  4922. c.lineTo(w * 0.878, h * 0.7231);
  4923. c.lineTo(w * 0.874, h * 0.7338);
  4924. c.lineTo(w * 0.8333, h * 0.7535);
  4925. c.arcTo(w * 0.0041, h * 0.0035, 0, 0, 1, w * 0.8268, h * 0.75);
  4926. c.lineTo(w * 0.8268, h * 0.7007);
  4927. c.close();
  4928. c.moveTo(w * 0.9342, h * 0.6472);
  4929. c.lineTo(w * 0.9293, h * 0.6599);
  4930. c.lineTo(w * 0.9033, h * 0.6725);
  4931. c.arcTo(w * 0.0325, h * 0.0282, 0, 0, 0, w * 0.8927, h * 0.6817);
  4932. c.arcTo(w * 0.0406, h * 0.0352, 0, 0, 0, w * 0.887, h * 0.6937);
  4933. c.lineTo(w * 0.9309, h * 0.6725);
  4934. c.lineTo(w * 0.9268, h * 0.6845);
  4935. c.lineTo(w * 0.887, h * 0.7035);
  4936. c.arcTo(w * 0.0089, h * 0.0077, 0, 0, 0, w * 0.8992, h * 0.7106);
  4937. c.lineTo(w * 0.935, h * 0.693);
  4938. c.lineTo(w * 0.9285, h * 0.7063);
  4939. c.lineTo(w * 0.9008, h * 0.7197);
  4940. c.arcTo(w * 0.0163, h * 0.0141, 0, 0, 1, w * 0.8829, h * 0.7204);
  4941. c.arcTo(w * 0.0407, h * 0.0352, 0, 0, 1, w * 0.8764, h * 0.7028);
  4942. c.arcTo(w * 0.065, h * 0.0563, 0, 0, 1, w * 0.8959, h * 0.6669);
  4943. c.fill();
  4944. c.restore();
  4945. c.setShadow(false);
  4946. c.setLineJoin('round');
  4947. c.begin();
  4948. c.moveTo(0, h * 0.7464);
  4949. c.lineTo(0, h * 0.25);
  4950. c.lineTo(w * 0.5, h * 0.5);
  4951. c.lineTo(w * 0.5, h);
  4952. c.close();
  4953. c.moveTo(w * 0.5, h * 0.5);
  4954. c.lineTo(w, h * 0.25);
  4955. c.lineTo(w, h * 0.7464);
  4956. c.lineTo(w * 0.5, h);
  4957. c.close();
  4958. c.stroke();
  4959. c.setLineJoin('miter');
  4960. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  4961. c.setFillColor(strokeColor);
  4962. c.begin();
  4963. c.moveTo(w * 0.374, h * 0.3873);
  4964. c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.374, h * 0.3626);
  4965. c.lineTo(w * 0.4797, h * 0.3098);
  4966. c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.5203, h * 0.3098);
  4967. c.lineTo(w * 0.626, h * 0.3626);
  4968. c.arcTo(w * 0.0325, h * 0.01764, 0, 0, 1, w * 0.626, h * 0.3852);
  4969. c.lineTo(w * 0.5203, h * 0.438);
  4970. c.arcTo(w * 0.0325, h * 0.0141, 0, 0, 1, w * 0.4797, h * 0.438);
  4971. c.close();
  4972. c.fill();
  4973. c.setStrokeWidth(2 * strokeWidth);
  4974. c.setStrokeColor('#292929');
  4975. c.setLineJoin('round');
  4976. c.begin();
  4977. c.moveTo(0, h * 0.7464);
  4978. c.lineTo(0, h * 0.25);
  4979. c.lineTo(w * 0.5, 0);
  4980. c.lineTo(w, h * 0.25);
  4981. c.lineTo(w, h * 0.7464);
  4982. c.lineTo(w * 0.5, h);
  4983. c.close();
  4984. c.stroke();
  4985. };
  4986. mxCellRenderer.registerShape(mxShapeAws3dOracleServer.prototype.cst.ORACLE_SERVER, mxShapeAws3dOracleServer);
  4987. //**********************************************************************************************************************************************************
  4988. //Secure Connection
  4989. //**********************************************************************************************************************************************************
  4990. /**
  4991. * Extends mxShape.
  4992. */
  4993. function mxShapeAws3dSecureConnection(bounds, fill, stroke, strokewidth)
  4994. {
  4995. mxShape.call(this);
  4996. this.bounds = bounds;
  4997. this.fill = fill;
  4998. this.stroke = stroke;
  4999. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5000. };
  5001. /**
  5002. * Extends mxShape.
  5003. */
  5004. mxUtils.extend(mxShapeAws3dSecureConnection, mxShape);
  5005. mxShapeAws3dSecureConnection.prototype.cst = {
  5006. SECURE_CONNECTION : 'mxgraph.aws3d.secureConnection'
  5007. };
  5008. /**
  5009. * Function: paintVertexShape
  5010. *
  5011. * Paints the vertex shape.
  5012. */
  5013. mxShapeAws3dSecureConnection.prototype.paintVertexShape = function(c, x, y, w, h)
  5014. {
  5015. c.translate(x, y);
  5016. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5017. var strokeWidth1 = strokeWidth * w / 57;
  5018. var strokeWidth2 = strokeWidth * h /34;
  5019. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5020. c.setStrokeWidth(strokeWidth);
  5021. this.background(c, 0, 0, w, h, strokeWidth);
  5022. c.setShadow(false);
  5023. this.foreground(c, 0, 0, w, h, strokeWidth);
  5024. };
  5025. mxShapeAws3dSecureConnection.prototype.background = function(c, x, y, w, h, strokeWidth)
  5026. {
  5027. c.begin();
  5028. c.moveTo(w * 0.0058, h * 0.3889);
  5029. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0774, h * 0.1856);
  5030. c.arcTo(w * 0.5241, h * 0.8839, 0, 0, 1, w * 0.308, h * 0.0262);
  5031. c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.6417, h * 0.056);
  5032. c.arcTo(w * 0.6988, h * 1.1786, 0, 0, 1, w * 0.9106, h * 0.277);
  5033. c.arcTo(w * 0.2621, h * 0.442, 0, 0, 1, w, h * 0.5451);
  5034. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.9474, h * 0.7808);
  5035. c.arcTo(w * 0.4368, h * 0.7366, 0, 0, 1, w * 0.7186, h * 0.9605);
  5036. c.arcTo(w * 0.8735, h * 1.4732, 0, 0, 1, w * 0.3045, h * 0.9104);
  5037. c.arcTo(w * 0.6115, h * 1.0312, 0, 0, 1, w * 0.0687, h * 0.6747);
  5038. c.arcTo(w * 0.2096, h * 0.3536, 0, 0, 1, w * 0.0058, h * 0.3889);
  5039. c.close();
  5040. c.fill();
  5041. };
  5042. mxShapeAws3dSecureConnection.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5043. {
  5044. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5045. c.setFillColor(strokeColor);
  5046. c.begin();
  5047. c.moveTo(w * 0.2661, h * 0.5068);
  5048. c.lineTo(w * 0.5002, h * 0.7336);
  5049. c.lineTo(w * 0.6626, h * 0.5775);
  5050. c.lineTo(w * 0.6469, h * 0.5539);
  5051. c.lineTo(w * 0.6958, h * 0.5097);
  5052. c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.7325, h * 0.4066);
  5053. c.arcTo(w * 0.0874, h * 0.1473, 0, 0, 0, w * 0.6889, h * 0.3153);
  5054. c.arcTo(w * 0.1747, h * 0.2946, 0, 0, 0, w * 0.5928, h * 0.2622);
  5055. c.arcTo(w * 0.1398, h * 0.2357, 0, 0, 0, w * 0.5107, h * 0.3005);
  5056. c.lineTo(w * 0.446, h * 0.3654);
  5057. c.lineTo(w * 0.4268, h * 0.3477);
  5058. c.close();
  5059. c.moveTo(w * 0.4949, h * 0.4184);
  5060. c.lineTo(w * 0.5491, h * 0.3624);
  5061. c.arcTo(w * 0.1222, h * 0.2062, 0, 0, 1, w * 0.6277, h * 0.3536);
  5062. c.arcTo(w * 0.0874, h * 0.1179, 0, 0, 1, w * 0.6679, h * 0.3978);
  5063. c.arcTo(w * 0.0175, h * 0.0295, 0, 0, 1, w * 0.6626, h * 0.439);
  5064. c.lineTo(w * 0.5928, h * 0.5068);
  5065. c.close();
  5066. c.fill();
  5067. };
  5068. mxCellRenderer.registerShape(mxShapeAws3dSecureConnection.prototype.cst.SECURE_CONNECTION, mxShapeAws3dSecureConnection);
  5069. //**********************************************************************************************************************************************************
  5070. //Email Service
  5071. //**********************************************************************************************************************************************************
  5072. /**
  5073. * Extends mxShape.
  5074. */
  5075. function mxShapeAws3dEmailService(bounds, fill, stroke, strokewidth)
  5076. {
  5077. mxShape.call(this);
  5078. this.bounds = bounds;
  5079. this.fill = fill;
  5080. this.stroke = stroke;
  5081. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5082. };
  5083. /**
  5084. * Extends mxShape.
  5085. */
  5086. mxUtils.extend(mxShapeAws3dEmailService, mxShape);
  5087. mxShapeAws3dEmailService.prototype.cst = {
  5088. EMAIL_SERVICE : 'mxgraph.aws3d.email_service',
  5089. SHADING_COLORS : 'shadingCols'
  5090. };
  5091. /**
  5092. * Function: paintVertexShape
  5093. *
  5094. * Paints the vertex shape.
  5095. */
  5096. mxShapeAws3dEmailService.prototype.paintVertexShape = function(c, x, y, w, h)
  5097. {
  5098. c.translate(x, y);
  5099. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5100. var strokeWidth1 = strokeWidth * w / 151;
  5101. var strokeWidth2 = strokeWidth * h / 192;
  5102. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5103. this.background(c, 0, 0, w, h, strokeWidth);
  5104. c.setShadow(false);
  5105. this.foreground(c, 0, 0, w, h, strokeWidth);
  5106. };
  5107. mxShapeAws3dEmailService.prototype.background = function(c, x, y, w, h, strokeWidth)
  5108. {
  5109. c.setStrokeWidth(strokeWidth);
  5110. c.save();
  5111. c.save();
  5112. c.setStrokeWidth(2 * strokeWidth);
  5113. c.setStrokeColor('#292929');
  5114. c.setLineJoin('round');
  5115. c.begin();
  5116. c.moveTo(0, h * 0.8182);
  5117. c.lineTo(0, h * 0.1818);
  5118. c.lineTo(w * 0.4007, 0);
  5119. c.lineTo(w * 0.606, 0);
  5120. c.lineTo(w, h * 0.1792);
  5121. c.lineTo(w, h * 0.8182);
  5122. c.lineTo(w * 0.5993, h);
  5123. c.lineTo(w * 0.4007, h);
  5124. c.close();
  5125. c.fillAndStroke();
  5126. };
  5127. mxShapeAws3dEmailService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5128. {
  5129. c.restore();
  5130. c.setShadow(false);
  5131. c.setFillColor('#000000');
  5132. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEmailService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5133. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5134. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5135. c.begin();
  5136. c.moveTo(0, h * 0.2727);
  5137. c.lineTo(w * 0.4007, h * 0.4546);
  5138. c.lineTo(w * 0.5993, h * 0.4546);
  5139. c.lineTo(w * 0.5993, h);
  5140. c.lineTo(w * 0.4007, h);
  5141. c.lineTo(0, h * 0.8182);
  5142. c.close();
  5143. c.fill();
  5144. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5145. c.begin();
  5146. c.moveTo(w * 0.5993, h * 0.4546);
  5147. c.lineTo(w, h * 0.2727);
  5148. c.lineTo(w * 0.8013, h * 0.1792);
  5149. c.lineTo(w * 0.8013, h * 0.0883);
  5150. c.lineTo(w, h * 0.1792);
  5151. c.lineTo(w, h * 0.8182);
  5152. c.lineTo(w * 0.5993, h);
  5153. c.close();
  5154. c.fill();
  5155. c.restore();
  5156. c.setShadow(false);
  5157. c.setLineJoin('round');
  5158. c.begin();
  5159. c.moveTo(0, h * 0.2727);
  5160. c.lineTo(w * 0.4007, h * 0.4546);
  5161. c.lineTo(w * 0.5993, h * 0.4546);
  5162. c.lineTo(w * 0.5993, h);
  5163. c.lineTo(w * 0.4007, h);
  5164. c.lineTo(0, h * 0.8182);
  5165. c.close();
  5166. c.stroke();
  5167. c.begin();
  5168. c.moveTo(w * 0.5993, h * 0.4546);
  5169. c.lineTo(w, h * 0.2727);
  5170. c.lineTo(w * 0.8013, h * 0.1792);
  5171. c.lineTo(w * 0.8013, h * 0.0883);
  5172. c.lineTo(w, h * 0.1792);
  5173. c.lineTo(w, h * 0.8182);
  5174. c.lineTo(w * 0.5993, h);
  5175. c.close();
  5176. c.stroke();
  5177. c.begin();
  5178. c.moveTo(w * 0.202, h * 0.0883);
  5179. c.lineTo(w * 0.202, h * 0.1818);
  5180. c.lineTo(w * 0.4007, h * 0.2727);
  5181. c.lineTo(w * 0.5993, h * 0.2727);
  5182. c.lineTo(w * 0.798, h * 0.1818);
  5183. c.moveTo(w * 0.2053, h * 0.1818);
  5184. c.lineTo(w * 0.0033, h * 0.2714);
  5185. c.moveTo(w * 0.4007, h * 0.2727);
  5186. c.lineTo(w * 0.4007, h * 0.9961);
  5187. c.moveTo(w * 0.5993, h * 0.2727);
  5188. c.lineTo(w * 0.5993, h * 0.4546);
  5189. c.stroke();
  5190. c.setLineJoin('miter');
  5191. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5192. c.setFillColor(strokeColor);
  5193. c.begin();
  5194. c.moveTo(w * 0.4437, h * 0.0779);
  5195. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 1, w * 0.404, h * 0.0706);
  5196. c.arcTo(w * 0.0464, h * 0.0364, 0, 0, 1, w * 0.3815, h * 0.0421);
  5197. c.arcTo(w * 0.053, h * 0.026, 0, 0, 1, w * 0.4205, h * 0.0187);
  5198. c.arcTo(w * 0.1987, h * 0.1558, 0, 0, 1, w * 0.4768, h * 0.0203);
  5199. c.arcTo(w * 0.0795, h * 0.0364, 0, 0, 1, w * 0.5199, h * 0.0494);
  5200. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.5099, h * 0.0649);
  5201. c.arcTo(w * 0.0795, h * 0.0623, 0, 0, 1, w * 0.4536, h * 0.0727);
  5202. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4404, h * 0.0597);
  5203. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4219, h * 0.0566);
  5204. c.arcTo(w * 0.0199, h * 0.0114, 0, 0, 1, w * 0.4172, h * 0.0431);
  5205. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 1, w * 0.4483, h * 0.0416);
  5206. c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 1, w * 0.457, h * 0.053);
  5207. c.arcTo(w * 0.0132, h * 0.0104, 0, 0, 0, w * 0.4669, h * 0.0431);
  5208. c.arcTo(w * 0.0166, h * 0.0166, 0, 0, 0, w * 0.4464, h * 0.0358);
  5209. c.lineTo(w * 0.4437, h * 0.0338);
  5210. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4603, h * 0.0322);
  5211. c.arcTo(w * 0.0397, h * 0.0156, 0, 0, 1, w * 0.4755, h * 0.0462);
  5212. c.arcTo(w * 0.0199, h * 0.0156, 0, 0, 1, w * 0.4669, h * 0.0545);
  5213. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 1, w * 0.453, h * 0.0608);
  5214. c.arcTo(w * 0.0099, h * 0.0078, 0, 0, 0, w * 0.4636, h * 0.0675);
  5215. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.498, h * 0.0623);
  5216. c.arcTo(w * 0.0185, h * 0.0145, 0, 0, 0, w * 0.5079, h * 0.0457);
  5217. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4848, h * 0.0296);
  5218. c.arcTo(w * 0.0993, h * 0.0779, 0, 0, 0, w * 0.455, h * 0.0234);
  5219. c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.4172, h * 0.026);
  5220. c.arcTo(w * 0.0397, h * 0.0312, 0, 0, 0, w * 0.3927, h * 0.039);
  5221. c.arcTo(w * 0.0265, h * 0.0208, 0, 0, 0, w * 0.3974, h * 0.0571);
  5222. c.arcTo(w * 0.053, h * 0.0416, 0, 0, 0, w * 0.4205, h * 0.0701);
  5223. c.arcTo(w * 0.0331, h * 0.026, 0, 0, 0, w * 0.4404, h * 0.0722);
  5224. c.moveTo(w * 0.42, h * 0.049);
  5225. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.055);
  5226. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.45, h * 0.049);
  5227. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.435, h * 0.043);
  5228. c.arcTo(w * 0.02, h * 0.02, 0, 0, 0, w * 0.42, h * 0.049);
  5229. c.close();
  5230. c.moveTo(w * 0.4669, h * 0.0894);
  5231. c.arcTo(w * 0.1325, h * 0.1039, 0, 0, 0, w * 0.5099, h * 0.0831);
  5232. c.lineTo(w * 0.6689, h * 0.1543);
  5233. c.lineTo(w * 0.4887, h * 0.1371);
  5234. c.close();
  5235. c.moveTo(w * 0.3887, h * 0.0769);
  5236. c.arcTo(w * 0.0662, h * 0.0519, 0, 0, 0, w * 0.4205, h * 0.0888);
  5237. c.arcTo(w * 0.0662, h * 0.026, 0, 0, 0, w * 0.447, h * 0.0894);
  5238. c.lineTo(w * 0.4735, h * 0.1512);
  5239. c.lineTo(w * 0.6689, h * 0.1688);
  5240. c.lineTo(w * 0.5199, h * 0.2364);
  5241. c.lineTo(w * 0.2815, h * 0.1273);
  5242. c.close();
  5243. c.fill();
  5244. c.setStrokeWidth(2 * strokeWidth);
  5245. c.setStrokeColor('#292929');
  5246. c.setLineJoin('round');
  5247. c.begin();
  5248. c.moveTo(0, h * 0.8182);
  5249. c.lineTo(0, h * 0.1818);
  5250. c.lineTo(w * 0.4007, 0);
  5251. c.lineTo(w * 0.606, 0);
  5252. c.lineTo(w, h * 0.1792);
  5253. c.lineTo(w, h * 0.8182);
  5254. c.lineTo(w * 0.5993, h);
  5255. c.lineTo(w * 0.4007, h);
  5256. c.close();
  5257. c.stroke();
  5258. };
  5259. mxCellRenderer.registerShape(mxShapeAws3dEmailService.prototype.cst.EMAIL_SERVICE, mxShapeAws3dEmailService);
  5260. //**********************************************************************************************************************************************************
  5261. //Worker
  5262. //**********************************************************************************************************************************************************
  5263. /**
  5264. * Extends mxShape.
  5265. */
  5266. function mxShapeAws3dWorker(bounds, fill, stroke, strokewidth)
  5267. {
  5268. mxShape.call(this);
  5269. this.bounds = bounds;
  5270. this.fill = fill;
  5271. this.stroke = stroke;
  5272. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5273. };
  5274. /**
  5275. * Extends mxShape.
  5276. */
  5277. mxUtils.extend(mxShapeAws3dWorker, mxShape);
  5278. mxShapeAws3dWorker.prototype.cst = {
  5279. WORKER : 'mxgraph.aws3d.worker',
  5280. SHADING_COLORS : 'shadingCols'
  5281. };
  5282. /**
  5283. * Function: paintVertexShape
  5284. *
  5285. * Paints the vertex shape.
  5286. */
  5287. mxShapeAws3dWorker.prototype.paintVertexShape = function(c, x, y, w, h)
  5288. {
  5289. c.translate(x, y);
  5290. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5291. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5292. var strokeWidth1 = strokeWidth * w / 74;
  5293. var strokeWidth2 = strokeWidth * h / 50;
  5294. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5295. c.setStrokeWidth(strokeWidth);
  5296. c.setShadow(false);
  5297. c.save();
  5298. c.save();
  5299. c.setStrokeWidth(2 * strokeWidth);
  5300. c.setStrokeColor('#292929');
  5301. c.setLineJoin('round');
  5302. if (isShadow == 1)
  5303. {
  5304. c.setShadow(true);
  5305. }
  5306. c.begin();
  5307. c.moveTo(0, h * 0.572);
  5308. c.lineTo(w * 0.0865, h * 0.284);
  5309. c.lineTo(w * 0.4203, 0);
  5310. c.lineTo(w * 0.5865, 0);
  5311. c.lineTo(w * 0.919, h * 0.286);
  5312. c.lineTo(w, h * 0.566);
  5313. c.lineTo(w * 0.5027, h);
  5314. c.close();
  5315. c.fillAndStroke();
  5316. c.restore();
  5317. c.setFillColor('#000000');
  5318. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorker.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5319. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5320. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5321. c.begin();
  5322. c.moveTo(0, h * 0.566);
  5323. c.lineTo(w * 0.0892, h * 0.282);
  5324. c.lineTo(w * 0.0878, h * 0.426);
  5325. c.lineTo(w * 0.4216, h * 0.712);
  5326. c.lineTo(w * 0.5865, h * 0.712);
  5327. c.lineTo(w * 0.5027, h);
  5328. c.close();
  5329. c.fill();
  5330. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5331. c.begin();
  5332. c.moveTo(w * 0.5027, h);
  5333. c.lineTo(w * 0.5865, h * 0.712);
  5334. c.lineTo(w * 0.9176, h * 0.43);
  5335. c.lineTo(w, h * 0.566);
  5336. c.close();
  5337. c.fill();
  5338. c.restore();
  5339. c.setLineJoin('round');
  5340. c.begin();
  5341. c.moveTo(0, h * 0.566);
  5342. c.lineTo(w * 0.0892, h * 0.282);
  5343. c.lineTo(w * 0.0878, h * 0.426);
  5344. c.lineTo(w * 0.4216, h * 0.712);
  5345. c.lineTo(w * 0.5865, h * 0.712);
  5346. c.lineTo(w * 0.5027, h);
  5347. c.close();
  5348. c.moveTo(w * 0.5027, h);
  5349. c.lineTo(w * 0.5865, h * 0.712);
  5350. c.lineTo(w * 0.9176, h * 0.43);
  5351. c.lineTo(w, h * 0.566);
  5352. c.close();
  5353. c.moveTo(0, h * 0.572);
  5354. c.lineTo(w * 0.0892, h * 0.422);
  5355. c.moveTo(w * 0.5027, h);
  5356. c.lineTo(w * 0.4189, h * 0.708);
  5357. c.moveTo(w * 0.9176, h * 0.43);
  5358. c.lineTo(w * 0.9176, h * 0.29);
  5359. c.stroke();
  5360. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5361. c.setFillColor(strokeColor);
  5362. c.setLineJoin('round');
  5363. c.begin();
  5364. c.moveTo(w * 0.2892, h * 0.2104);
  5365. c.lineTo(w * 0.3595, h * 0.1503);
  5366. c.lineTo(w * 0.3973, h * 0.1844);
  5367. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.4486, h * 0.1703);
  5368. c.lineTo(w * 0.4486, h * 0.1242);
  5369. c.lineTo(w * 0.5527, h * 0.1242);
  5370. c.lineTo(w * 0.5527, h * 0.1703);
  5371. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.6149, h * 0.1924);
  5372. c.lineTo(w * 0.6527, h * 0.1603);
  5373. c.lineTo(w * 0.7257, h * 0.2224);
  5374. c.lineTo(w * 0.6892, h * 0.2545);
  5375. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.7162, h * 0.3106);
  5376. c.lineTo(w * 0.7676, h * 0.3106);
  5377. c.lineTo(w * 0.7676, h * 0.3988);
  5378. c.lineTo(w * 0.7162, h * 0.3988);
  5379. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.6973, h * 0.4409);
  5380. c.lineTo(w * 0.7378, h * 0.475);
  5381. c.lineTo(w * 0.6635, h * 0.5371);
  5382. c.lineTo(w * 0.6297, h * 0.505);
  5383. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.5527, h * 0.5351);
  5384. c.lineTo(w * 0.5527, h * 0.5812);
  5385. c.lineTo(w * 0.45, h * 0.5812);
  5386. c.lineTo(w * 0.45, h * 0.5351);
  5387. c.arcTo(w * 0.2703, h * 0.4008, 0, 0, 1, w * 0.3878, h * 0.513);
  5388. c.lineTo(w * 0.3514, h * 0.5431);
  5389. c.lineTo(w * 0.2784, h * 0.481);
  5390. c.lineTo(w * 0.3149, h * 0.4509);
  5391. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.2865, h * 0.3968);
  5392. c.lineTo(w * 0.2351, h * 0.3968);
  5393. c.lineTo(w * 0.2351, h * 0.3086);
  5394. c.lineTo(w * 0.2865, h * 0.3086);
  5395. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.3203, h * 0.2425);
  5396. c.close();
  5397. c.moveTo(w * 0.4054, h * 0.2445);
  5398. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.3554, h * 0.2986);
  5399. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.3432, h * 0.3567);
  5400. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.3635, h * 0.4208);
  5401. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.4122, h * 0.4649);
  5402. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4122, h * 0.4649);
  5403. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5676, h * 0.4749);
  5404. c.arcTo(w * 0.1351, h * 0.2004, 0, 0, 0, w * 0.6351, h * 0.4228);
  5405. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 0, w * 0.6595, h * 0.3467);
  5406. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 0, w * 0.6149, h * 0.2605);
  5407. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.5419, h * 0.2204);
  5408. c.arcTo(w * 0.3378, h * 0.501, 0, 0, 0, w * 0.4649, h * 0.2184);
  5409. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 0, w * 0.4054, h * 0.2445);
  5410. c.close();
  5411. c.moveTo(w * 0.473, h * 0.2806);
  5412. c.arcTo(w * 0.2027, h * 0.3006, 0, 0, 1, w * 0.55, h * 0.2866);
  5413. c.arcTo(w * 0.0676, h * 0.1002, 0, 0, 1, w * 0.5892, h * 0.3307);
  5414. c.arcTo(w * 0.0338, h * 0.0501, 0, 0, 1, w * 0.5824, h * 0.3888);
  5415. c.arcTo(w * 0.0946, h * 0.1403, 0, 0, 1, w * 0.5216, h * 0.4269);
  5416. c.arcTo(w * 0.1622, h * 0.2405, 0, 0, 1, w * 0.4432, h * 0.4128);
  5417. c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4108, h * 0.3527);
  5418. c.arcTo(w * 0.0541, h * 0.0802, 0, 0, 1, w * 0.4351, h * 0.2986);
  5419. c.arcTo(w * 0.0811, h * 0.1202, 0, 0, 1, w * 0.473, h * 0.2806);
  5420. c.close();
  5421. c.fill();
  5422. c.setStrokeWidth(2 * strokeWidth);
  5423. c.setStrokeColor('#292929');
  5424. c.begin();
  5425. c.moveTo(0, h * 0.572);
  5426. c.lineTo(w * 0.0865, h * 0.284);
  5427. c.lineTo(w * 0.4203, 0);
  5428. c.lineTo(w * 0.5865, 0);
  5429. c.lineTo(w * 0.919, h * 0.286);
  5430. c.lineTo(w, h * 0.566);
  5431. c.lineTo(w * 0.5027, h);
  5432. c.close();
  5433. c.stroke();
  5434. };
  5435. mxCellRenderer.registerShape(mxShapeAws3dWorker.prototype.cst.WORKER, mxShapeAws3dWorker);
  5436. //**********************************************************************************************************************************************************
  5437. //Application
  5438. //**********************************************************************************************************************************************************
  5439. /**
  5440. * Extends mxShape.
  5441. */
  5442. function mxShapeAws3dApplication2(bounds, fill, stroke, strokewidth)
  5443. {
  5444. mxShape.call(this);
  5445. this.bounds = bounds;
  5446. this.fill = fill;
  5447. this.stroke = stroke;
  5448. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5449. };
  5450. /**
  5451. * Extends mxShape.
  5452. */
  5453. mxUtils.extend(mxShapeAws3dApplication2, mxShape);
  5454. mxShapeAws3dApplication2.prototype.cst = {
  5455. APPLICATION2 : 'mxgraph.aws3d.application2',
  5456. SHADING_COLORS : 'shadingCols'
  5457. };
  5458. /**
  5459. * Function: paintVertexShape
  5460. *
  5461. * Paints the vertex shape.
  5462. */
  5463. mxShapeAws3dApplication2.prototype.paintVertexShape = function(c, x, y, w, h)
  5464. {
  5465. c.translate(x, y);
  5466. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5467. var strokeWidth1 = strokeWidth * w / 62;
  5468. var strokeWidth2 = strokeWidth * h / 53.5;
  5469. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5470. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5471. c.setShadow(false);
  5472. c.setStrokeWidth(strokeWidth);
  5473. c.save();
  5474. c.save();
  5475. c.setStrokeWidth(2 * strokeWidth);
  5476. c.setStrokeColor('#292929');
  5477. c.setLineJoin('round');
  5478. if (isShadow == 1)
  5479. {
  5480. c.setShadow(true);
  5481. }
  5482. c.begin();
  5483. c.moveTo(0, h * 0.6766);
  5484. c.lineTo(0, h * 0.3271);
  5485. c.lineTo(w * 0.5, 0);
  5486. c.lineTo(w, h * 0.3271);
  5487. c.lineTo(w, h * 0.6766);
  5488. c.lineTo(w * 0.5, h);
  5489. c.close();
  5490. c.fillAndStroke();
  5491. c.restore();
  5492. c.setFillColor('#000000');
  5493. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dApplication2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5494. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5495. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5496. c.begin();
  5497. c.moveTo(0, h * 0.3271);
  5498. c.lineTo(w * 0.5, h * 0.6449);
  5499. c.lineTo(w * 0.5, h);
  5500. c.lineTo(0, h * 0.6766);
  5501. c.close();
  5502. c.fill();
  5503. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5504. c.begin();
  5505. c.moveTo(w * 0.5, h * 0.6449);
  5506. c.lineTo(w, h * 0.3271);
  5507. c.lineTo(w, h * 0.6766);
  5508. c.lineTo(w * 0.5, h);
  5509. c.close();
  5510. c.fill();
  5511. c.restore();
  5512. c.setLineJoin('round');
  5513. c.begin();
  5514. c.moveTo(0, h * 0.3271);
  5515. c.lineTo(w * 0.5, h * 0.6449);
  5516. c.lineTo(w * 0.5, h);
  5517. c.lineTo(0, h * 0.6766);
  5518. c.close();
  5519. c.stroke();
  5520. c.begin();
  5521. c.moveTo(w * 0.5, h * 0.6449);
  5522. c.lineTo(w, h * 0.3271);
  5523. c.lineTo(w, h * 0.6766);
  5524. c.lineTo(w * 0.5, h);
  5525. c.close();
  5526. c.stroke();
  5527. c.setLineJoin('miter');
  5528. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5529. c.setFillColor(strokeColor);
  5530. c.begin();
  5531. c.moveTo(w * 0.1742, h * 0.6355);
  5532. c.lineTo(w * 0.1742, h * 0.4393);
  5533. c.lineTo(w * 0.6726, h * 0.1121);
  5534. c.lineTo(w * 0.7661, h * 0.1738);
  5535. c.lineTo(w * 0.2661, h * 0.4991);
  5536. c.lineTo(w * 0.2661, h * 0.6916);
  5537. c.close();
  5538. c.moveTo(w * 0.2871, h * 0.7084);
  5539. c.lineTo(w * 0.2871, h * 0.514);
  5540. c.lineTo(w * 0.7823, h * 0.1869);
  5541. c.lineTo(w * 0.8629, h * 0.2374);
  5542. c.lineTo(w * 0.379, h * 0.5626);
  5543. c.lineTo(w * 0.379, h * 0.7607);
  5544. c.close();
  5545. c.fill();
  5546. c.setStrokeWidth(2 * strokeWidth);
  5547. c.setStrokeColor('#292929');
  5548. c.setLineJoin('round');
  5549. c.begin();
  5550. c.moveTo(0, h * 0.6766);
  5551. c.lineTo(0, h * 0.3271);
  5552. c.lineTo(w * 0.5, 0);
  5553. c.lineTo(w, h * 0.3271);
  5554. c.lineTo(w, h * 0.6766);
  5555. c.lineTo(w * 0.5, h);
  5556. c.close();
  5557. c.stroke();
  5558. };
  5559. mxCellRenderer.registerShape(mxShapeAws3dApplication2.prototype.cst.APPLICATION2, mxShapeAws3dApplication2);
  5560. //**********************************************************************************************************************************************************
  5561. //Elastic Beanstalk
  5562. //**********************************************************************************************************************************************************
  5563. /**
  5564. * Extends mxShape.
  5565. */
  5566. function mxShapeAws3dElasticBeanstalk(bounds, fill, stroke, strokewidth)
  5567. {
  5568. mxShape.call(this);
  5569. this.bounds = bounds;
  5570. this.fill = fill;
  5571. this.stroke = stroke;
  5572. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5573. };
  5574. /**
  5575. * Extends mxShape.
  5576. */
  5577. mxUtils.extend(mxShapeAws3dElasticBeanstalk, mxShape);
  5578. mxShapeAws3dElasticBeanstalk.prototype.cst = {
  5579. ELASTIC_BEANSTALK : 'mxgraph.aws3d.elasticBeanstalk',
  5580. SHADING_COLORS : 'shadingCols'
  5581. };
  5582. /**
  5583. * Function: paintVertexShape
  5584. *
  5585. * Paints the vertex shape.
  5586. */
  5587. mxShapeAws3dElasticBeanstalk.prototype.paintVertexShape = function(c, x, y, w, h)
  5588. {
  5589. c.translate(x, y);
  5590. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5591. var strokeWidth1 = strokeWidth * w / 181.5;
  5592. var strokeWidth2 = strokeWidth * h / 140;
  5593. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  5594. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5595. c.setShadow(false);
  5596. c.setStrokeWidth(strokeWidth);
  5597. c.save();
  5598. c.save();
  5599. c.save();
  5600. c.setStrokeWidth(2 * strokeWidth);
  5601. c.setStrokeColor('#292929');
  5602. c.setLineJoin('round');
  5603. if (isShadow == 1)
  5604. {
  5605. c.setShadow(true);
  5606. }
  5607. c.begin();
  5608. c.moveTo(0, h * 0.6239);
  5609. c.lineTo(0, h * 0.3754);
  5610. c.lineTo(w * 0.5, 0);
  5611. c.lineTo(w, h * 0.3754);
  5612. c.lineTo(w, h * 0.6239);
  5613. c.lineTo(w * 0.5, h);
  5614. c.close();
  5615. c.fillAndStroke();
  5616. c.restore();
  5617. c.setFillColor('#000000');
  5618. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticBeanstalk.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5619. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5620. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5621. c.begin();
  5622. c.moveTo(0, h * 0.3754);
  5623. c.lineTo(w * 0.5, h * 0.7514);
  5624. c.lineTo(w * 0.5, h);
  5625. c.lineTo(0, h * 0.6239);
  5626. c.close();
  5627. c.fill();
  5628. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5629. c.begin();
  5630. c.moveTo(w * 0.5, h * 0.7514);
  5631. c.lineTo(w, h * 0.3754);
  5632. c.lineTo(w, h * 0.6239);
  5633. c.lineTo(w * 0.5, h);
  5634. c.close();
  5635. c.fill();
  5636. c.restore();
  5637. c.setLineJoin('round');
  5638. c.begin();
  5639. c.moveTo(0, h * 0.3754);
  5640. c.lineTo(w * 0.5, h * 0.7514);
  5641. c.lineTo(w * 0.5, h);
  5642. c.lineTo(0, h * 0.6239);
  5643. c.close();
  5644. c.moveTo(w * 0.5, h * 0.7514);
  5645. c.lineTo(w, h * 0.3754);
  5646. c.lineTo(w, h * 0.6239);
  5647. c.lineTo(w * 0.5, h);
  5648. c.close();
  5649. c.moveTo(w * 0.2485, h * 0.187);
  5650. c.lineTo(w * 0.7493, h * 0.5623);
  5651. c.lineTo(w * 0.7493, h * 0.8123);
  5652. c.stroke();
  5653. c.setLineJoin('miter');
  5654. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5655. c.setFillColor(strokeColor);
  5656. c.begin();
  5657. c.moveTo(w * 0.7763, h * 0.2063);
  5658. c.lineTo(w * 0.2749, h * 0.5817);
  5659. c.lineTo(w * 0.2749, h * 0.8309);
  5660. c.lineTo(w * 0.2204, h * 0.7894);
  5661. c.lineTo(w * 0.2204, h * 0.5394);
  5662. c.lineTo(w * 0.7185, h * 0.1619);
  5663. c.close();
  5664. c.fill();
  5665. c.restore();
  5666. c.begin();
  5667. c.moveTo(w * 0.1713, h * 0.543);
  5668. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2028, h * 0.5723);
  5669. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2281, h * 0.6096);
  5670. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2402, h * 0.644);
  5671. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.2424, h * 0.6848);
  5672. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.216, h * 0.6612);
  5673. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.1895, h * 0.6239);
  5674. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.1719, h * 0.5824);
  5675. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.1713, h * 0.543);
  5676. c.close();
  5677. c.moveTo(w * 0.2507, h * 0.7794);
  5678. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.254, h * 0.7421);
  5679. c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.27, h * 0.7264);
  5680. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2986, h * 0.73);
  5681. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3234, h * 0.7457);
  5682. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3218, h * 0.7815);
  5683. c.arcTo(w * 0.022, h * 0.0287, 0, 0, 1, w * 0.3019, h * 0.7987);
  5684. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.27, h * 0.7923);
  5685. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2507, h * 0.7794);
  5686. c.close();
  5687. c.moveTo(w * 0.2799, h * 0.5265);
  5688. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.3003, h * 0.515);
  5689. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3317, h * 0.515);
  5690. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3774, h * 0.5315);
  5691. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4033, h * 0.5487);
  5692. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3906, h * 0.5595);
  5693. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.3493, h * 0.5616);
  5694. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3069, h * 0.5444);
  5695. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2799, h * 0.5265);
  5696. c.close();
  5697. c.moveTo(w * 0.2887, h * 0.3933);
  5698. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.314, h * 0.414);
  5699. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.3322, h * 0.4391);
  5700. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.3344, h * 0.4699);
  5701. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.3196, h * 0.485);
  5702. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.2887, h * 0.4592);
  5703. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.27, h * 0.4269);
  5704. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.2727, h * 0.4054);
  5705. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.2887, h * 0.3933);
  5706. c.close();
  5707. c.moveTo(w * 0.4613, h * 0.262);
  5708. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4867, h * 0.2827);
  5709. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5049, h * 0.3078);
  5710. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.5071, h * 0.3386);
  5711. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4922, h * 0.3537);
  5712. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4613, h * 0.3279);
  5713. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4426, h * 0.2956);
  5714. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.4453, h * 0.2741);
  5715. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.4613, h * 0.262);
  5716. c.close();
  5717. c.moveTo(w * 0.4525, h * 0.3952);
  5718. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.4729, h * 0.3837);
  5719. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5043, h * 0.3837);
  5720. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.55, h * 0.4002);
  5721. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.5759, h * 0.4174);
  5722. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5633, h * 0.4282);
  5723. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.5219, h * 0.4303);
  5724. c.arcTo(w * 0.1653, h * 0.1074, 0, 0, 1, w * 0.4795, h * 0.4131);
  5725. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.4525, h * 0.3952);
  5726. c.close();
  5727. c.moveTo(w * 0.6217, h * 0.1426);
  5728. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6471, h * 0.1633);
  5729. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6652, h * 0.1884);
  5730. c.arcTo(w * 0.0193, h * 0.0251, 0, 0, 1, w * 0.6674, h * 0.2192);
  5731. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6526, h * 0.2342);
  5732. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6217, h * 0.2085);
  5733. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.603, h * 0.1762);
  5734. c.arcTo(w * 0.0165, h * 0.0215, 0, 0, 1, w * 0.6057, h * 0.1547);
  5735. c.arcTo(w * 0.0551, h * 0.0716, 0, 0, 1, w * 0.6217, h * 0.1426);
  5736. c.close();
  5737. c.moveTo(w * 0.6129, h * 0.2758);
  5738. c.arcTo(w * 0.1102, h * 0.1433, 0, 0, 1, w * 0.6333, h * 0.2643);
  5739. c.arcTo(w * 0.0826, h * 0.1433, 0, 0, 1, w * 0.6647, h * 0.2643);
  5740. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7104, h * 0.2808);
  5741. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298);
  5742. c.arcTo(w * 0.0826, h * 0.2149, 0, 0, 1, w * 0.7363, h * 0.298);
  5743. c.arcTo(w * 0.0826, h * 0.1074, 0, 0, 1, w * 0.6823, h * 0.3109);
  5744. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6399, h * 0.2937);
  5745. c.arcTo(w * 0.1653, h * 0.2149, 0, 0, 1, w * 0.6129, h * 0.2758);
  5746. c.close();
  5747. c.fillAndStroke();
  5748. c.setStrokeWidth(2 * strokeWidth);
  5749. c.setStrokeColor('#292929');
  5750. c.setLineJoin('round');
  5751. c.begin();
  5752. c.moveTo(0, h * 0.6239);
  5753. c.lineTo(0, h * 0.3754);
  5754. c.lineTo(w * 0.5, 0);
  5755. c.lineTo(w, h * 0.3754);
  5756. c.lineTo(w, h * 0.6239);
  5757. c.lineTo(w * 0.5, h);
  5758. c.close();
  5759. c.stroke();
  5760. };
  5761. mxCellRenderer.registerShape(mxShapeAws3dElasticBeanstalk.prototype.cst.ELASTIC_BEANSTALK, mxShapeAws3dElasticBeanstalk);
  5762. //**********************************************************************************************************************************************************
  5763. //SimpleDB 2
  5764. //**********************************************************************************************************************************************************
  5765. /**
  5766. * Extends mxShape.
  5767. */
  5768. function mxShapeAws3dSimpleDB2(bounds, fill, stroke, strokewidth)
  5769. {
  5770. mxShape.call(this);
  5771. this.bounds = bounds;
  5772. this.fill = fill;
  5773. this.stroke = stroke;
  5774. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5775. };
  5776. /**
  5777. * Extends mxShape.
  5778. */
  5779. mxUtils.extend(mxShapeAws3dSimpleDB2, mxShape);
  5780. mxShapeAws3dSimpleDB2.prototype.cst = {
  5781. SIMPLE_DB_2 : 'mxgraph.aws3d.simpleDb2',
  5782. SHADING_COLORS : 'shadingCols'
  5783. };
  5784. /**
  5785. * Function: paintVertexShape
  5786. *
  5787. * Paints the vertex shape.
  5788. */
  5789. mxShapeAws3dSimpleDB2.prototype.paintVertexShape = function(c, x, y, w, h)
  5790. {
  5791. c.translate(x, y);
  5792. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5793. var strokeWidth1 = strokeWidth * w / 181.5;
  5794. var strokeWidth2 = strokeWidth * h / 210;
  5795. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5796. this.background(c, 0, 0, w, h, strokeWidth);
  5797. c.setShadow(false);
  5798. this.foreground(c, 0, 0, w, h, strokeWidth);
  5799. };
  5800. mxShapeAws3dSimpleDB2.prototype.background = function(c, x, y, w, h, strokeWidth)
  5801. {
  5802. c.setStrokeWidth(strokeWidth);
  5803. c.save();
  5804. c.save();
  5805. c.save();
  5806. c.setStrokeWidth(2 * strokeWidth);
  5807. c.setStrokeColor('#292929');
  5808. c.setLineJoin('round');
  5809. c.begin();
  5810. c.moveTo(0, h * 0.8183);
  5811. c.lineTo(0, h * 0.1848);
  5812. c.lineTo(w * 0.3366, 0);
  5813. c.lineTo(w * 0.6293, h * 0.0021);
  5814. c.lineTo(w, h * 0.1833);
  5815. c.lineTo(w, h * 0.8183);
  5816. c.lineTo(w * 0.6694, h);
  5817. c.lineTo(w * 0.4986, h * 0.9091);
  5818. c.lineTo(w * 0.3333, h);
  5819. c.close();
  5820. c.fillAndStroke();
  5821. };
  5822. mxShapeAws3dSimpleDB2.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5823. {
  5824. c.restore();
  5825. c.setShadow(false);
  5826. c.setFillColor('#000000');
  5827. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSimpleDB2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5828. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5829. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  5830. c.begin();
  5831. c.moveTo(0, h * 0.1848);
  5832. c.lineTo(w * 0.168, h * 0.1833);
  5833. c.lineTo(0, h * 0.365);
  5834. c.lineTo(w * 0.3333, h * 0.5467);
  5835. c.lineTo(w * 0.3333, h);
  5836. c.lineTo(0, h * 0.8183);
  5837. c.close();
  5838. c.moveTo(w * 0.4986, h * 0.9078);
  5839. c.lineTo(w * 0.4986, h * 0.3655);
  5840. c.lineTo(w * 0.6667, h * 0.5457);
  5841. c.lineTo(w * 0.6667, h);
  5842. c.close();
  5843. c.fill();
  5844. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  5845. c.begin();
  5846. c.moveTo(w * 0.3333, h * 0.5467);
  5847. c.lineTo(w * 0.4986, h * 0.3655);
  5848. c.lineTo(w * 0.4986, h * 0.9076);
  5849. c.lineTo(w * 0.3333, h);
  5850. c.close();
  5851. c.moveTo(w * 0.8292, h * 0.1822);
  5852. c.lineTo(w, h * 0.1848);
  5853. c.lineTo(w, h * 0.8183);
  5854. c.lineTo(w * 0.6667, h);
  5855. c.lineTo(w * 0.6667, h * 0.5441);
  5856. c.lineTo(w, h * 0.3666);
  5857. c.close();
  5858. c.fill();
  5859. c.restore();
  5860. c.setShadow(false);
  5861. c.setLineJoin('round');
  5862. c.begin();
  5863. c.moveTo(0, h * 0.1848);
  5864. c.lineTo(w * 0.168, h * 0.1833);
  5865. c.lineTo(0, h * 0.365);
  5866. c.lineTo(w * 0.3333, h * 0.5467);
  5867. c.lineTo(w * 0.3333, h);
  5868. c.lineTo(0, h * 0.8183);
  5869. c.close();
  5870. c.moveTo(w * 0.4986, h * 0.9078);
  5871. c.lineTo(w * 0.4986, h * 0.3655);
  5872. c.lineTo(w * 0.6667, h * 0.5457);
  5873. c.lineTo(w * 0.6667, h);
  5874. c.close();
  5875. c.moveTo(w * 0.3333, h * 0.5467);
  5876. c.lineTo(w * 0.4986, h * 0.3655);
  5877. c.lineTo(w * 0.4986, h * 0.9076);
  5878. c.lineTo(w * 0.3333, h);
  5879. c.close();
  5880. c.moveTo(w * 0.8292, h * 0.1822);
  5881. c.lineTo(w, h * 0.1848);
  5882. c.lineTo(w, h * 0.8183);
  5883. c.lineTo(w * 0.6667, h);
  5884. c.lineTo(w * 0.6667, h * 0.5441);
  5885. c.lineTo(w, h * 0.3666);
  5886. c.close();
  5887. c.moveTo(w * 0.1669, h * 0.1828);
  5888. c.lineTo(w * 0.4986, h * 0.3655);
  5889. c.lineTo(w * 0.8314, h * 0.1833);
  5890. c.lineTo(w * 0.4986, h * 0.0031);
  5891. c.close();
  5892. c.stroke();
  5893. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  5894. c.setFillColor(strokeColor);
  5895. c.begin();
  5896. c.moveTo(w * 0.2634, h * 0.1833);
  5897. c.lineTo(w * 0.5003, h * 0.0535);
  5898. c.lineTo(w * 0.7394, h * 0.1833);
  5899. c.lineTo(w * 0.5003, h * 0.3136);
  5900. c.close();
  5901. c.fill();
  5902. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#000000');
  5903. c.restore();
  5904. c.setShadow(false);
  5905. c.setStrokeWidth(3 * strokeWidth);
  5906. c.setStrokeColor(fillColor);
  5907. c.begin();
  5908. c.moveTo(w * 0.3003, h * 0.2108);
  5909. c.lineTo(w * 0.5642, h * 0.068);
  5910. c.moveTo(w * 0.4429, h * 0.0693);
  5911. c.lineTo(w * 0.7059, h * 0.2121);
  5912. c.moveTo(w * 0.6667, h * 0.2458);
  5913. c.lineTo(w * 0.3974, h * 0.0992);
  5914. c.moveTo(w * 0.3499, h * 0.1277);
  5915. c.lineTo(w * 0.6088, h * 0.2698);
  5916. c.moveTo(w * 0.3009, h * 0.1556);
  5917. c.lineTo(w * 0.5496, h * 0.2913);
  5918. c.stroke();
  5919. c.setStrokeWidth(2 * strokeWidth);
  5920. c.setStrokeColor('#292929');
  5921. c.setLineJoin('round');
  5922. c.begin();
  5923. c.moveTo(0, h * 0.8183);
  5924. c.lineTo(0, h * 0.1848);
  5925. c.lineTo(w * 0.3366, 0);
  5926. c.lineTo(w * 0.6293, h * 0.0021);
  5927. c.lineTo(w, h * 0.1833);
  5928. c.lineTo(w, h * 0.8183);
  5929. c.lineTo(w * 0.6694, h);
  5930. c.lineTo(w * 0.4986, h * 0.9091);
  5931. c.lineTo(w * 0.3333, h);
  5932. c.close();
  5933. c.stroke();
  5934. };
  5935. mxCellRenderer.registerShape(mxShapeAws3dSimpleDB2.prototype.cst.SIMPLE_DB_2, mxShapeAws3dSimpleDB2);
  5936. //**********************************************************************************************************************************************************
  5937. //Workflow Service
  5938. //**********************************************************************************************************************************************************
  5939. /**
  5940. * Extends mxShape.
  5941. */
  5942. function mxShapeAws3dWorkflowService(bounds, fill, stroke, strokewidth)
  5943. {
  5944. mxShape.call(this);
  5945. this.bounds = bounds;
  5946. this.fill = fill;
  5947. this.stroke = stroke;
  5948. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  5949. };
  5950. /**
  5951. * Extends mxShape.
  5952. */
  5953. mxUtils.extend(mxShapeAws3dWorkflowService, mxShape);
  5954. mxShapeAws3dWorkflowService.prototype.cst = {
  5955. WORKFLOW_SERVICE : 'mxgraph.aws3d.workflowService',
  5956. SHADING_COLORS : 'shadingCols'
  5957. };
  5958. /**
  5959. * Function: paintVertexShape
  5960. *
  5961. * Paints the vertex shape.
  5962. */
  5963. mxShapeAws3dWorkflowService.prototype.paintVertexShape = function(c, x, y, w, h)
  5964. {
  5965. c.translate(x, y);
  5966. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  5967. var strokeWidth1 = strokeWidth * w / 181.5;
  5968. var strokeWidth2 = strokeWidth * h / 210;
  5969. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  5970. this.background(c, 0, 0, w, h, strokeWidth);
  5971. c.setShadow(false);
  5972. this.foreground(c, 0, 0, w, h, strokeWidth);
  5973. };
  5974. mxShapeAws3dWorkflowService.prototype.background = function(c, x, y, w, h, strokeWidth)
  5975. {
  5976. c.setStrokeWidth(strokeWidth);
  5977. c.save();
  5978. c.save();
  5979. c.save();
  5980. c.setStrokeWidth(2 * strokeWidth);
  5981. c.setStrokeColor('#292929');
  5982. c.setLineJoin('round');
  5983. c.begin();
  5984. c.moveTo(0, h * 0.6456);
  5985. c.lineTo(w * 0.2481, 0);
  5986. c.lineTo(w * 0.7497, 0);
  5987. c.lineTo(w, h * 0.6456);
  5988. c.lineTo(w * 0.4984, h);
  5989. c.close();
  5990. c.fillAndStroke();
  5991. };
  5992. mxShapeAws3dWorkflowService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  5993. {
  5994. c.restore();
  5995. c.setShadow(false);
  5996. c.setFillColor('#000000');
  5997. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dWorkflowService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  5998. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  5999. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6000. c.begin();
  6001. c.moveTo(0, h * 0.6456);
  6002. c.lineTo(w * 0.2486, 0);
  6003. c.lineTo(w * 0.2486, h * 0.3531);
  6004. c.lineTo(w * 0.4984, h);
  6005. c.close();
  6006. c.moveTo(w * 0.7497, h * 0.3531);
  6007. c.lineTo(w * 0.7497, 0);
  6008. c.lineTo(w, h * 0.6456);
  6009. c.close();
  6010. c.fill();
  6011. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6012. c.begin();
  6013. c.moveTo(w * 0.4984, h);
  6014. c.lineTo(w * 0.7486, h * 0.3531);
  6015. c.lineTo(w, h * 0.6456);
  6016. c.lineTo(w * 0.4967, h);
  6017. c.close();
  6018. c.fill();
  6019. c.restore();
  6020. c.setShadow(false);
  6021. c.setLineJoin('round');
  6022. c.begin();
  6023. c.moveTo(w * 0.7497, h * 0.3531);
  6024. c.lineTo(w * 0.7497, 0);
  6025. c.lineTo(w, h * 0.6456);
  6026. c.close();
  6027. c.moveTo(0, h * 0.6456);
  6028. c.lineTo(w * 0.2486, 0);
  6029. c.lineTo(w * 0.2486, h * 0.3531);
  6030. c.lineTo(w * 0.4984, h);
  6031. c.lineTo(w * 0.7486, h * 0.3531);
  6032. c.lineTo(w, h * 0.6456);
  6033. c.lineTo(w * 0.4967, h);
  6034. c.close();
  6035. c.moveTo(w * 0.2486, h * 0.3531);
  6036. c.lineTo(w * 0.7508, h * 0.3531);
  6037. c.moveTo(w * 0.2488, h * 0.353);
  6038. c.lineTo(0, h * 0.6486);
  6039. c.stroke();
  6040. c.restore();
  6041. c.setShadow(false);
  6042. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6043. c.setFillColor(strokeColor);
  6044. c.setStrokeWidth(2 * strokeWidth);
  6045. c.begin();
  6046. c.ellipse(w * 0.2925, h * 0.031, w * 0.4116, h * 0.2925);
  6047. c.fill();
  6048. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  6049. c.setStrokeColor(fillColor);
  6050. c.begin();
  6051. c.moveTo(w * 0.5252, h * 0.0465);
  6052. c.lineTo(w * 0.5873, h * 0.0903);
  6053. c.lineTo(w * 0.5483, h * 0.1173);
  6054. c.lineTo(w * 0.4874, h * 0.0728);
  6055. c.close();
  6056. c.moveTo(w * 0.4896, h * 0.1132);
  6057. c.lineTo(w * 0.5005, h * 0.1705);
  6058. c.lineTo(w * 0.4182, h * 0.1631);
  6059. c.lineTo(w * 0.4122, h * 0.1058);
  6060. c.close();
  6061. c.moveTo(w * 0.3584, h * 0.1631);
  6062. c.lineTo(w * 0.4204, h * 0.2062);
  6063. c.lineTo(w * 0.3825, h * 0.2332);
  6064. c.lineTo(w * 0.32, h * 0.19);
  6065. c.close();
  6066. c.moveTo(w * 0.4594, h * 0.2338);
  6067. c.lineTo(w * 0.5214, h * 0.2783);
  6068. c.lineTo(w * 0.4835, h * 0.3053);
  6069. c.lineTo(w * 0.4215, h * 0.2608);
  6070. c.close();
  6071. c.moveTo(w * 0.5187, h * 0.0943);
  6072. c.lineTo(w * 0.4879, h * 0.1152);
  6073. c.moveTo(w * 0.421, h * 0.1624);
  6074. c.lineTo(w * 0.3895, h * 0.1846);
  6075. c.moveTo(w * 0.5, h * 0.1698);
  6076. c.lineTo(w * 0.5554, h * 0.2089);
  6077. c.lineTo(w * 0.4885, h * 0.2567);
  6078. c.stroke();
  6079. c.setStrokeWidth(2 * strokeWidth);
  6080. c.setStrokeColor('#292929');
  6081. c.setLineJoin('round');
  6082. c.begin();
  6083. c.moveTo(0, h * 0.6456);
  6084. c.lineTo(w * 0.2481, 0);
  6085. c.lineTo(w * 0.7497, 0);
  6086. c.lineTo(w, h * 0.6456);
  6087. c.lineTo(w * 0.4984, h);
  6088. c.close();
  6089. c.close();
  6090. c.stroke();
  6091. };
  6092. mxCellRenderer.registerShape(mxShapeAws3dWorkflowService.prototype.cst.WORKFLOW_SERVICE, mxShapeAws3dWorkflowService);
  6093. //**********************************************************************************************************************************************************
  6094. //Decider
  6095. //**********************************************************************************************************************************************************
  6096. /**
  6097. * Extends mxShape.
  6098. */
  6099. function mxShapeAws3dDecider(bounds, fill, stroke, strokewidth)
  6100. {
  6101. mxShape.call(this);
  6102. this.bounds = bounds;
  6103. this.fill = fill;
  6104. this.stroke = stroke;
  6105. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6106. };
  6107. /**
  6108. * Extends mxShape.
  6109. */
  6110. mxUtils.extend(mxShapeAws3dDecider, mxShape);
  6111. mxShapeAws3dDecider.prototype.cst = {
  6112. DECIDER : 'mxgraph.aws3d.decider',
  6113. SHADING_COLORS : 'shadingCols'
  6114. };
  6115. /**
  6116. * Function: paintVertexShape
  6117. *
  6118. * Paints the vertex shape.
  6119. */
  6120. mxShapeAws3dDecider.prototype.paintVertexShape = function(c, x, y, w, h)
  6121. {
  6122. c.translate(x, y);
  6123. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6124. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  6125. var strokeWidth1 = strokeWidth * w / 74;
  6126. var strokeWidth2 = strokeWidth * h / 50;
  6127. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6128. c.setStrokeWidth(strokeWidth);
  6129. c.setShadow(false);
  6130. c.save();
  6131. c.save();
  6132. c.setStrokeWidth(2 * strokeWidth);
  6133. c.setStrokeColor('#292929');
  6134. c.setLineJoin('round');
  6135. if (isShadow == 1)
  6136. {
  6137. c.setShadow(true);
  6138. }
  6139. c.begin();
  6140. c.moveTo(0, h * 0.572);
  6141. c.lineTo(w * 0.0865, h * 0.284);
  6142. c.lineTo(w * 0.4203, 0);
  6143. c.lineTo(w * 0.5865, 0);
  6144. c.lineTo(w * 0.919, h * 0.286);
  6145. c.lineTo(w, h * 0.566);
  6146. c.lineTo(w * 0.5027, h);
  6147. c.close();
  6148. c.fillAndStroke();
  6149. c.restore();
  6150. c.setFillColor('#000000');
  6151. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dDecider.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6152. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6153. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6154. c.begin();
  6155. c.moveTo(0, h * 0.566);
  6156. c.lineTo(w * 0.0892, h * 0.282);
  6157. c.lineTo(w * 0.0878, h * 0.426);
  6158. c.lineTo(w * 0.4216, h * 0.712);
  6159. c.lineTo(w * 0.5865, h * 0.712);
  6160. c.lineTo(w * 0.5027, h);
  6161. c.close();
  6162. c.fill();
  6163. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6164. c.begin();
  6165. c.moveTo(w * 0.5027, h);
  6166. c.lineTo(w * 0.5865, h * 0.712);
  6167. c.lineTo(w * 0.9176, h * 0.43);
  6168. c.lineTo(w, h * 0.566);
  6169. c.close();
  6170. c.fill();
  6171. c.restore();
  6172. c.setLineJoin('round');
  6173. c.begin();
  6174. c.moveTo(0, h * 0.566);
  6175. c.lineTo(w * 0.0892, h * 0.282);
  6176. c.lineTo(w * 0.0878, h * 0.426);
  6177. c.lineTo(w * 0.4216, h * 0.712);
  6178. c.lineTo(w * 0.5865, h * 0.712);
  6179. c.lineTo(w * 0.5027, h);
  6180. c.close();
  6181. c.moveTo(w * 0.5027, h);
  6182. c.lineTo(w * 0.5865, h * 0.712);
  6183. c.lineTo(w * 0.9176, h * 0.43);
  6184. c.lineTo(w, h * 0.566);
  6185. c.close();
  6186. c.moveTo(0, h * 0.572);
  6187. c.lineTo(w * 0.0892, h * 0.422);
  6188. c.moveTo(w * 0.5027, h);
  6189. c.lineTo(w * 0.4189, h * 0.708);
  6190. c.moveTo(w * 0.9176, h * 0.43);
  6191. c.lineTo(w * 0.9176, h * 0.29);
  6192. c.stroke();
  6193. c.setStrokeWidth(1.6 * strokeWidth);
  6194. c.setLineJoin('square');
  6195. c.begin();
  6196. c.moveTo(w * 0.4973, h * 0.1523);
  6197. c.lineTo(w * 0.5608, h * 0.0982);
  6198. c.lineTo(w * 0.6581, h * 0.1844);
  6199. c.lineTo(w * 0.5986, h * 0.2365);
  6200. c.close();
  6201. c.moveTo(w * 0.3784, h * 0.2164);
  6202. c.lineTo(w * 0.5054, h * 0.2305);
  6203. c.lineTo(w * 0.5203, h * 0.3407);
  6204. c.lineTo(w * 0.3892, h * 0.3246);
  6205. c.close();
  6206. c.moveTo(w * 0.2932, h * 0.3246);
  6207. c.lineTo(w * 0.3919, h * 0.4128);
  6208. c.lineTo(w * 0.3334, h * 0.4647);
  6209. c.lineTo(w * 0.2357, h * 0.38);
  6210. c.close();
  6211. c.moveTo(w * 0.4568, h * 0.4649);
  6212. c.lineTo(w * 0.5554, h * 0.5511);
  6213. c.lineTo(w * 0.4932, h * 0.6032);
  6214. c.lineTo(w * 0.3946, h * 0.517);
  6215. c.close();
  6216. c.moveTo(w * 0.5473, h * 0.1924);
  6217. c.lineTo(w * 0.5027, h * 0.2365);
  6218. c.moveTo(w * 0.4, h * 0.3186);
  6219. c.lineTo(w * 0.3446, h * 0.3667);
  6220. c.moveTo(w * 0.5189, h * 0.3387);
  6221. c.lineTo(w * 0.6081, h * 0.4148);
  6222. c.lineTo(w * 0.5068, h * 0.501);
  6223. c.stroke();
  6224. c.setStrokeColor('#292929');
  6225. c.begin();
  6226. c.moveTo(0, h * 0.572);
  6227. c.lineTo(w * 0.0865, h * 0.284);
  6228. c.lineTo(w * 0.4203, 0);
  6229. c.lineTo(w * 0.5865, 0);
  6230. c.lineTo(w * 0.919, h * 0.286);
  6231. c.lineTo(w, h * 0.566);
  6232. c.lineTo(w * 0.5027, h);
  6233. c.close();
  6234. c.stroke();
  6235. };
  6236. mxCellRenderer.registerShape(mxShapeAws3dDecider.prototype.cst.DECIDER, mxShapeAws3dDecider);
  6237. //**********************************************************************************************************************************************************
  6238. //Search Engine
  6239. //**********************************************************************************************************************************************************
  6240. /**
  6241. * Extends mxShape.
  6242. */
  6243. function mxShapeAws3dSearchEngine(bounds, fill, stroke, strokewidth)
  6244. {
  6245. mxShape.call(this);
  6246. this.bounds = bounds;
  6247. this.fill = fill;
  6248. this.stroke = stroke;
  6249. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6250. };
  6251. /**
  6252. * Extends mxShape.
  6253. */
  6254. mxUtils.extend(mxShapeAws3dSearchEngine, mxShape);
  6255. mxShapeAws3dSearchEngine.prototype.cst = {
  6256. SEARCH_ENGINE : 'mxgraph.aws3d.searchEngine',
  6257. SHADING_COLORS : 'shadingCols'
  6258. };
  6259. /**
  6260. * Function: paintVertexShape
  6261. *
  6262. * Paints the vertex shape.
  6263. */
  6264. mxShapeAws3dSearchEngine.prototype.paintVertexShape = function(c, x, y, w, h)
  6265. {
  6266. c.translate(x, y);
  6267. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6268. var strokeWidth1 = strokeWidth * w / 180;
  6269. var strokeWidth2 = strokeWidth * h / 192;
  6270. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6271. this.background(c, 0, 0, w, h, strokeWidth);
  6272. c.setShadow(false);
  6273. this.foreground(c, 0, 0, w, h, strokeWidth);
  6274. };
  6275. mxShapeAws3dSearchEngine.prototype.background = function(c, x, y, w, h, strokeWidth)
  6276. {
  6277. c.setStrokeWidth(strokeWidth);
  6278. c.save();
  6279. c.save();
  6280. c.save();
  6281. c.setStrokeWidth(2 * strokeWidth);
  6282. c.setStrokeColor('#292929');
  6283. c.setLineJoin('round');
  6284. c.begin();
  6285. c.moveTo(0, h * 0.7281);
  6286. c.lineTo(w * 0.1667, h * 0.5444);
  6287. c.lineTo(w * 0.1667, h * 0.1832);
  6288. c.lineTo(w * 0.5011, 0);
  6289. c.lineTo(w * 0.8333, h * 0.1832);
  6290. c.lineTo(w * 0.8333, h * 0.5446);
  6291. c.lineTo(w, h * 0.7281);
  6292. c.lineTo(w * 0.7486, h * 0.7735);
  6293. c.lineTo(w * 0.5819, h * 0.8617);
  6294. c.lineTo(w * 0.5011, h);
  6295. c.lineTo(w * 0.4169, h * 0.8653);
  6296. c.lineTo(w * 0.2475, h * 0.7704);
  6297. c.close();
  6298. c.fillAndStroke();
  6299. };
  6300. mxShapeAws3dSearchEngine.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6301. {
  6302. c.restore();
  6303. c.setShadow(false);
  6304. c.setFillColor('#000000');
  6305. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSearchEngine.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6306. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6307. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6308. c.begin();
  6309. c.moveTo(w * 0.1672, h * 0.1837);
  6310. c.lineTo(w * 0.4989, h * 0.3638);
  6311. c.lineTo(w * 0.4989, h * 0.7291);
  6312. c.lineTo(w * 0.5825, h * 0.8633);
  6313. c.lineTo(w * 0.4989, h);
  6314. c.lineTo(w * 0.4164, h * 0.8622);
  6315. c.lineTo(w * 0.2458, h * 0.7719);
  6316. c.lineTo(0, h * 0.7276);
  6317. c.lineTo(w * 0.1661, h * 0.5454);
  6318. c.close();
  6319. c.moveTo(w * 0.7486, h * 0.7714);
  6320. c.lineTo(w * 0.8317, h * 0.5459);
  6321. c.lineTo(w, h * 0.727);
  6322. c.close();
  6323. c.fill();
  6324. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6325. c.begin();
  6326. c.moveTo(w * 0.4989, h * 0.3643);
  6327. c.lineTo(w * 0.8317, h * 0.1827);
  6328. c.lineTo(w * 0.8317, h * 0.5465);
  6329. c.lineTo(w * 0.7508, h * 0.7714);
  6330. c.lineTo(w * 0.5836, h * 0.8633);
  6331. c.lineTo(w * 0.4989, h * 0.727);
  6332. c.close();
  6333. c.fill();
  6334. c.restore();
  6335. c.setShadow(false);
  6336. c.setLineJoin('round');
  6337. c.begin();
  6338. c.moveTo(w * 0.1672, h * 0.1837);
  6339. c.lineTo(w * 0.4989, h * 0.3638);
  6340. c.lineTo(w * 0.4989, h * 0.7291);
  6341. c.lineTo(w * 0.5825, h * 0.8633);
  6342. c.lineTo(w * 0.4989, h);
  6343. c.lineTo(w * 0.4164, h * 0.8622);
  6344. c.lineTo(w * 0.2458, h * 0.7719);
  6345. c.lineTo(0, h * 0.7276);
  6346. c.lineTo(w * 0.1661, h * 0.5454);
  6347. c.close();
  6348. c.moveTo(w * 0.7486, h * 0.7714);
  6349. c.lineTo(w * 0.8317, h * 0.5459);
  6350. c.lineTo(w, h * 0.727);
  6351. c.close();
  6352. c.moveTo(w * 0.4989, h * 0.3643);
  6353. c.lineTo(w * 0.8317, h * 0.1827);
  6354. c.lineTo(w * 0.8317, h * 0.5465);
  6355. c.lineTo(w * 0.7508, h * 0.7714);
  6356. c.lineTo(w * 0.5836, h * 0.8633);
  6357. c.lineTo(w * 0.4989, h * 0.727);
  6358. c.close();
  6359. c.moveTo(w * 0.1667, h * 0.5459);
  6360. c.lineTo(w * 0.2486, h * 0.7704);
  6361. c.moveTo(w * 0.4164, h * 0.8633);
  6362. c.lineTo(w * 0.4989, h * 0.727);
  6363. c.lineTo(w * 0.4989, h);
  6364. c.stroke();
  6365. c.restore();
  6366. c.setShadow(false);
  6367. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6368. c.setFillColor(strokeColor);
  6369. c.begin();
  6370. c.moveTo(w * 0.3427, h * 0.179);
  6371. c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 1, w * 0.3267, h * 0.1487);
  6372. c.arcTo(w * 0.0664, h * 0.0365, 0, 0, 1, w * 0.3621, h * 0.1227);
  6373. c.arcTo(w * 0.1052, h * 0.0992, 0, 0, 1, w * 0.4247, h * 0.1195);
  6374. c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4884, h * 0.1018);
  6375. c.arcTo(w * 0.1329, h * 0.1253, 0, 0, 1, w * 0.5548, h * 0.1112);
  6376. c.arcTo(w * 0.0377, h * 0.0344, 0, 0, 1, w * 0.572, h * 0.166);
  6377. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.6047, h * 0.1775);
  6378. c.arcTo(w * 0.021, h * 0.0198, 0, 0, 1, w * 0.5936, h * 0.2046);
  6379. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.6008, h * 0.2416);
  6380. c.arcTo(w * 0.072, h * 0.0678, 0, 0, 1, w * 0.5437, h * 0.2677);
  6381. c.arcTo(w * 0.1052, h * 0.0939, 0, 0, 1, w * 0.4828, h * 0.2563);
  6382. c.close();
  6383. c.moveTo(w * 0.448, h * 0.2156);
  6384. c.arcTo(w * 0.0111, h * 0.0104, 0, 0, 0, w * 0.459, h * 0.2255);
  6385. c.arcTo(w * 0.0138, h * 0.013, 0, 0, 0, w * 0.4729, h * 0.2182);
  6386. c.lineTo(w * 0.4773, h * 0.1874);
  6387. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.5116, h * 0.1759);
  6388. c.arcTo(w * 0.0277, h * 0.0626, 0, 0, 0, w * 0.5233, h * 0.1503);
  6389. c.arcTo(w * 0.0554, h * 0.0261, 0, 0, 0, w * 0.5022, h * 0.1336);
  6390. c.arcTo(w * 0.0886, h * 0.0835, 0, 0, 0, w * 0.4607, h * 0.1305);
  6391. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4313, h * 0.142);
  6392. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.4175, h * 0.1597);
  6393. c.arcTo(w * 0.0249, h * 0.0235, 0, 0, 0, w * 0.4313, h * 0.1822);
  6394. c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 0, w * 0.4535, h * 0.1884);
  6395. c.close();
  6396. c.moveTo(w * 0.4718, h * 0.1764);
  6397. c.arcTo(w * 0.0443, h * 0.0418, 0, 0, 1, w * 0.4496, h * 0.1754);
  6398. c.arcTo(w * 0.0221, h * 0.0157, 0, 0, 1, w * 0.4369, h * 0.1634);
  6399. c.arcTo(w * 0.0221, h * 0.0183, 0, 0, 1, w * 0.4496, h * 0.1467);
  6400. c.arcTo(w * 0.0609, h * 0.0574, 0, 0, 1, w * 0.4759, h * 0.1414);
  6401. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.5033, h * 0.1514);
  6402. c.arcTo(w * 0.0443, h * 0.0209, 0, 0, 1, w * 0.495, h * 0.1701);
  6403. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 1, w * 0.4718, h * 0.1764);
  6404. c.close();
  6405. c.fill();
  6406. c.setStrokeWidth(2 * strokeWidth);
  6407. c.setStrokeColor('#292929');
  6408. c.setLineJoin('round');
  6409. c.begin();
  6410. c.moveTo(0, h * 0.7281);
  6411. c.lineTo(w * 0.1667, h * 0.5444);
  6412. c.lineTo(w * 0.1667, h * 0.1832);
  6413. c.lineTo(w * 0.5011, 0);
  6414. c.lineTo(w * 0.8333, h * 0.1832);
  6415. c.lineTo(w * 0.8333, h * 0.5446);
  6416. c.lineTo(w, h * 0.7281);
  6417. c.lineTo(w * 0.7486, h * 0.7735);
  6418. c.lineTo(w * 0.5819, h * 0.8617);
  6419. c.lineTo(w * 0.5011, h);
  6420. c.lineTo(w * 0.4169, h * 0.8653);
  6421. c.lineTo(w * 0.2475, h * 0.7704);
  6422. c.close();
  6423. c.stroke();
  6424. };
  6425. mxCellRenderer.registerShape(mxShapeAws3dSearchEngine.prototype.cst.SEARCH_ENGINE, mxShapeAws3dSearchEngine);
  6426. //**********************************************************************************************************************************************************
  6427. //Security Token Service
  6428. //**********************************************************************************************************************************************************
  6429. /**
  6430. * Extends mxShape.
  6431. */
  6432. function mxShapeAws3dSecurityTokenService(bounds, fill, stroke, strokewidth)
  6433. {
  6434. mxShape.call(this);
  6435. this.bounds = bounds;
  6436. this.fill = fill;
  6437. this.stroke = stroke;
  6438. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6439. };
  6440. /**
  6441. * Extends mxShape.
  6442. */
  6443. mxUtils.extend(mxShapeAws3dSecurityTokenService, mxShape);
  6444. mxShapeAws3dSecurityTokenService.prototype.cst = {
  6445. SECURITY_TOKEN_SERVICE : 'mxgraph.aws3d.securityTokenService',
  6446. SHADING_COLORS : 'shadingCols'
  6447. };
  6448. /**
  6449. * Function: paintVertexShape
  6450. *
  6451. * Paints the vertex shape.
  6452. */
  6453. mxShapeAws3dSecurityTokenService.prototype.paintVertexShape = function(c, x, y, w, h)
  6454. {
  6455. c.translate(x, y);
  6456. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6457. var strokeWidth1 = strokeWidth * w / 180;
  6458. var strokeWidth2 = strokeWidth * h / 192;
  6459. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6460. this.background(c, 0, 0, w, h, strokeWidth);
  6461. c.setShadow(false);
  6462. this.foreground(c, 0, 0, w, h, strokeWidth);
  6463. };
  6464. mxShapeAws3dSecurityTokenService.prototype.background = function(c, x, y, w, h, strokeWidth)
  6465. {
  6466. c.setStrokeWidth(strokeWidth);
  6467. c.save();
  6468. c.save();
  6469. c.save();
  6470. c.setStrokeWidth(2 * strokeWidth);
  6471. c.setStrokeColor('#292929');
  6472. c.setLineJoin('round');
  6473. c.begin();
  6474. c.moveTo(0, h * 0.7281);
  6475. c.lineTo(w * 0.1667, h * 0.5444);
  6476. c.lineTo(w * 0.1667, h * 0.1832);
  6477. c.lineTo(w * 0.5011, 0);
  6478. c.lineTo(w * 0.8333, h * 0.1832);
  6479. c.lineTo(w * 0.8333, h * 0.5446);
  6480. c.lineTo(w, h * 0.7281);
  6481. c.lineTo(w * 0.7486, h * 0.7735);
  6482. c.lineTo(w * 0.5819, h * 0.8617);
  6483. c.lineTo(w * 0.5011, h);
  6484. c.lineTo(w * 0.4169, h * 0.8653);
  6485. c.lineTo(w * 0.2475, h * 0.7704);
  6486. c.close();
  6487. c.fillAndStroke();
  6488. };
  6489. mxShapeAws3dSecurityTokenService.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6490. {
  6491. c.restore();
  6492. c.setShadow(false);
  6493. c.setFillColor('#000000');
  6494. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSecurityTokenService.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6495. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6496. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6497. c.begin();
  6498. c.moveTo(w * 0.1672, h * 0.1837);
  6499. c.lineTo(w * 0.4989, h * 0.3638);
  6500. c.lineTo(w * 0.4989, h * 0.7291);
  6501. c.lineTo(w * 0.5825, h * 0.8633);
  6502. c.lineTo(w * 0.4989, h);
  6503. c.lineTo(w * 0.4164, h * 0.8622);
  6504. c.lineTo(w * 0.2458, h * 0.7719);
  6505. c.lineTo(0, h * 0.7276);
  6506. c.lineTo(w * 0.1661, h * 0.5454);
  6507. c.close();
  6508. c.moveTo(w * 0.7486, h * 0.7714);
  6509. c.lineTo(w * 0.8317, h * 0.5459);
  6510. c.lineTo(w, h * 0.727);
  6511. c.close();
  6512. c.fill();
  6513. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6514. c.begin();
  6515. c.moveTo(w * 0.4989, h * 0.3643);
  6516. c.lineTo(w * 0.8317, h * 0.1827);
  6517. c.lineTo(w * 0.8317, h * 0.5465);
  6518. c.lineTo(w * 0.7508, h * 0.7714);
  6519. c.lineTo(w * 0.5836, h * 0.8633);
  6520. c.lineTo(w * 0.4989, h * 0.727);
  6521. c.close();
  6522. c.fill();
  6523. c.restore();
  6524. c.setShadow(false);
  6525. c.setLineJoin('round');
  6526. c.begin();
  6527. c.moveTo(w * 0.1672, h * 0.1837);
  6528. c.lineTo(w * 0.4989, h * 0.3638);
  6529. c.lineTo(w * 0.4989, h * 0.7291);
  6530. c.lineTo(w * 0.5825, h * 0.8633);
  6531. c.lineTo(w * 0.4989, h);
  6532. c.lineTo(w * 0.4164, h * 0.8622);
  6533. c.lineTo(w * 0.2458, h * 0.7719);
  6534. c.lineTo(0, h * 0.7276);
  6535. c.lineTo(w * 0.1661, h * 0.5454);
  6536. c.close();
  6537. c.moveTo(w * 0.7486, h * 0.7714);
  6538. c.lineTo(w * 0.8317, h * 0.5459);
  6539. c.lineTo(w, h * 0.727);
  6540. c.close();
  6541. c.moveTo(w * 0.4989, h * 0.3643);
  6542. c.lineTo(w * 0.8317, h * 0.1827);
  6543. c.lineTo(w * 0.8317, h * 0.5465);
  6544. c.lineTo(w * 0.7508, h * 0.7714);
  6545. c.lineTo(w * 0.5836, h * 0.8633);
  6546. c.lineTo(w * 0.4989, h * 0.727);
  6547. c.close();
  6548. c.moveTo(w * 0.1667, h * 0.5459);
  6549. c.lineTo(w * 0.2486, h * 0.7704);
  6550. c.moveTo(w * 0.4164, h * 0.8633);
  6551. c.lineTo(w * 0.4989, h * 0.727);
  6552. c.lineTo(w * 0.4989, h);
  6553. c.stroke();
  6554. c.restore();
  6555. c.setShadow(false);
  6556. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6557. c.setFillColor(strokeColor);
  6558. c.begin();
  6559. c.moveTo(w * 0.4773, h * 0.1915);
  6560. c.arcTo(w * 0.1274, h * 0.12, 0, 0, 1, w * 0.4358, h * 0.1968);
  6561. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.3937, h * 0.1905);
  6562. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 1, w * 0.3682, h * 0.1707);
  6563. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.3699, h * 0.1414);
  6564. c.arcTo(w * 0.0775, h * 0.0731, 0, 0, 1, w * 0.4009, h * 0.118);
  6565. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.4524, h * 0.1059);
  6566. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 1, w * 0.5028, h * 0.1112);
  6567. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 1, w * 0.531, h * 0.1315);
  6568. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 1, w * 0.531, h * 0.1597);
  6569. c.lineTo(w * 0.5615, h * 0.1754);
  6570. c.lineTo(w * 0.5526, h * 0.1905);
  6571. c.lineTo(w * 0.5759, h * 0.1999);
  6572. c.lineTo(w * 0.5753, h * 0.2109);
  6573. c.lineTo(w * 0.5792, h * 0.2161);
  6574. c.lineTo(w * 0.6135, h * 0.2182);
  6575. c.lineTo(w * 0.6113, h * 0.2416);
  6576. c.lineTo(w * 0.5819, h * 0.2474);
  6577. c.close();
  6578. c.moveTo(w * 0.4756, h * 0.1816);
  6579. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.5, h * 0.1691);
  6580. c.arcTo(w * 0.0332, h * 0.0313, 0, 0, 0, w * 0.5144, h * 0.1435);
  6581. c.arcTo(w * 0.0277, h * 0.0261, 0, 0, 0, w * 0.4967, h * 0.1247);
  6582. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.4729, h * 0.1174);
  6583. c.arcTo(w * 0.1107, h * 0.1044, 0, 0, 0, w * 0.4452, h * 0.1169);
  6584. c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4197, h * 0.1232);
  6585. c.arcTo(w * 0.0554, h * 0.0522, 0, 0, 0, w * 0.397, h * 0.1357);
  6586. c.arcTo(w * 0.0388, h * 0.0365, 0, 0, 0, w * 0.3859, h * 0.1555);
  6587. c.arcTo(w * 0.0305, h * 0.0287, 0, 0, 0, w * 0.4053, h * 0.178);
  6588. c.arcTo(w * 0.072, h * 0.0678, 0, 0, 0, w * 0.4385, h * 0.1863);
  6589. c.arcTo(w * 0.0831, h * 0.0783, 0, 0, 0, w * 0.4596, h * 0.1848);
  6590. c.arcTo(w * 0.0664, h * 0.0626, 0, 0, 0, w * 0.4756, h * 0.1816);
  6591. c.fill();
  6592. c.setStrokeWidth(1.5 * strokeWidth);
  6593. c.setLineJoin('round');
  6594. c.setLineCap('round');
  6595. c.begin();
  6596. c.moveTo(w * 0.4939, h * 0.1326);
  6597. c.lineTo(w * 0.4474, h * 0.1508);
  6598. c.lineTo(w * 0.4812, h * 0.1576);
  6599. c.moveTo(w * 0.4889, h * 0.1733);
  6600. c.lineTo(w * 0.4939, h * 0.1775);
  6601. c.moveTo(w * 0.5061, h * 0.1576);
  6602. c.lineTo(w * 0.5199, h * 0.1597);
  6603. c.moveTo(w * 0.5094, h * 0.1394);
  6604. c.lineTo(w * 0.5244, h * 0.1378);
  6605. c.moveTo(w * 0.4945, h * 0.1247);
  6606. c.lineTo(w * 0.4994, h * 0.1185);
  6607. c.moveTo(w * 0.4679, h * 0.1175);
  6608. c.lineTo(w * 0.4707, h * 0.1117);
  6609. c.moveTo(w * 0.4396, h * 0.1195);
  6610. c.lineTo(w * 0.4374, h * 0.1138);
  6611. c.moveTo(w * 0.412, h * 0.1284);
  6612. c.lineTo(w * 0.4059, h * 0.1232);
  6613. c.moveTo(w * 0.3948, h * 0.1441);
  6614. c.lineTo(w * 0.3804, h * 0.1425);
  6615. c.moveTo(w * 0.3931, h * 0.1608);
  6616. c.lineTo(w * 0.3804, h * 0.1649);
  6617. c.moveTo(w * 0.4059, h * 0.1754);
  6618. c.lineTo(w * 0.3998, h * 0.1801);
  6619. c.moveTo(w * 0.4308, h * 0.1822);
  6620. c.lineTo(w * 0.4286, h * 0.1884);
  6621. c.moveTo(w * 0.4618, h * 0.1827);
  6622. c.lineTo(w * 0.4635, h * 0.1868);
  6623. c.stroke();
  6624. c.setStrokeWidth(2 * strokeWidth);
  6625. c.setStrokeColor('#292929');
  6626. c.begin();
  6627. c.moveTo(0, h * 0.7281);
  6628. c.lineTo(w * 0.1667, h * 0.5444);
  6629. c.lineTo(w * 0.1667, h * 0.1832);
  6630. c.lineTo(w * 0.5011, 0);
  6631. c.lineTo(w * 0.8333, h * 0.1832);
  6632. c.lineTo(w * 0.8333, h * 0.5446);
  6633. c.lineTo(w, h * 0.7281);
  6634. c.lineTo(w * 0.7486, h * 0.7735);
  6635. c.lineTo(w * 0.5819, h * 0.8617);
  6636. c.lineTo(w * 0.5011, h);
  6637. c.lineTo(w * 0.4169, h * 0.8653);
  6638. c.lineTo(w * 0.2475, h * 0.7704);
  6639. c.close();
  6640. c.stroke();
  6641. };
  6642. mxCellRenderer.registerShape(mxShapeAws3dSecurityTokenService.prototype.cst.SECURITY_TOKEN_SERVICE, mxShapeAws3dSecurityTokenService);
  6643. //**********************************************************************************************************************************************************
  6644. //Glacier
  6645. //**********************************************************************************************************************************************************
  6646. /**
  6647. * Extends mxShape.
  6648. */
  6649. function mxShapeAws3dGlacier(bounds, fill, stroke, strokewidth)
  6650. {
  6651. mxShape.call(this);
  6652. this.bounds = bounds;
  6653. this.fill = fill;
  6654. this.stroke = stroke;
  6655. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6656. };
  6657. /**
  6658. * Extends mxShape.
  6659. */
  6660. mxUtils.extend(mxShapeAws3dGlacier, mxShape);
  6661. mxShapeAws3dGlacier.prototype.cst = {
  6662. GLACIER : 'mxgraph.aws3d.glacier',
  6663. SHADING_COLORS : 'shadingCols'
  6664. };
  6665. /**
  6666. * Function: paintVertexShape
  6667. *
  6668. * Paints the vertex shape.
  6669. */
  6670. mxShapeAws3dGlacier.prototype.paintVertexShape = function(c, x, y, w, h)
  6671. {
  6672. c.translate(x, y);
  6673. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6674. var strokeWidth1 = strokeWidth * w / 180;
  6675. var strokeWidth2 = strokeWidth * h / 192;
  6676. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6677. this.background(c, 0, 0, w, h, strokeWidth);
  6678. c.setShadow(false);
  6679. this.foreground(c, 0, 0, w, h, strokeWidth);
  6680. };
  6681. mxShapeAws3dGlacier.prototype.background = function(c, x, y, w, h, strokeWidth)
  6682. {
  6683. c.setStrokeWidth(strokeWidth);
  6684. c.save();
  6685. c.save();
  6686. c.setStrokeWidth(2 * strokeWidth);
  6687. c.setStrokeColor('#292929');
  6688. c.setLineJoin('round');
  6689. c.begin();
  6690. c.moveTo(0, h * 0.8177);
  6691. c.lineTo(0, h * 0.5448);
  6692. c.lineTo(w * 0.168, h * 0.1792);
  6693. c.lineTo(w * 0.5008, 0);
  6694. c.lineTo(w * 0.8309, h * 0.1812);
  6695. c.lineTo(w, h * 0.5469);
  6696. c.lineTo(w, h * 0.8188);
  6697. c.lineTo(w * 0.6661, h);
  6698. c.lineTo(w * 0.3333, h);
  6699. c.close();
  6700. c.fillAndStroke();
  6701. };
  6702. mxShapeAws3dGlacier.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6703. {
  6704. c.restore();
  6705. c.setShadow(false);
  6706. c.setFillColor('#000000');
  6707. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dGlacier.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6708. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6709. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6710. c.begin();
  6711. c.moveTo(w * 0.1658, h * 0.1802);
  6712. c.lineTo(w * 0.5008, h * 0.3651);
  6713. c.lineTo(w * 0.6661, h * 0.9089);
  6714. c.lineTo(w * 0.6661, h);
  6715. c.lineTo(w * 0.3339, h);
  6716. c.lineTo(0, h * 0.8177);
  6717. c.lineTo(0, h * 0.5427);
  6718. c.close();
  6719. c.fill();
  6720. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6721. c.begin();
  6722. c.moveTo(w * 0.5008, h * 0.362);
  6723. c.lineTo(w * 0.8314, h * 0.1823);
  6724. c.lineTo(w, h * 0.5469);
  6725. c.lineTo(w, h * 0.8177);
  6726. c.lineTo(w * 0.6661, h);
  6727. c.lineTo(w * 0.6661, h * 0.9089);
  6728. c.close();
  6729. c.fill();
  6730. c.restore();
  6731. c.setShadow(false);
  6732. c.setLineJoin('round');
  6733. c.begin();
  6734. c.moveTo(w * 0.1658, h * 0.1802);
  6735. c.lineTo(w * 0.5008, h * 0.3651);
  6736. c.lineTo(w * 0.6661, h * 0.9089);
  6737. c.lineTo(w * 0.6661, h);
  6738. c.lineTo(w * 0.3339, h);
  6739. c.lineTo(0, h * 0.8177);
  6740. c.lineTo(0, h * 0.5427);
  6741. c.close();
  6742. c.moveTo(w * 0.5008, h * 0.362);
  6743. c.lineTo(w * 0.8314, h * 0.1823);
  6744. c.lineTo(w, h * 0.5469);
  6745. c.lineTo(w, h * 0.8177);
  6746. c.lineTo(w * 0.6661, h);
  6747. c.lineTo(w * 0.6661, h * 0.9089);
  6748. c.close();
  6749. c.moveTo(w * 0.1675, h * 0.1797);
  6750. c.lineTo(0, h * 0.7281);
  6751. c.lineTo(w * 0.3284, h * 0.9089);
  6752. c.lineTo(w * 0.6661, h * 0.9089);
  6753. c.lineTo(w, h * 0.7266);
  6754. c.lineTo(w * 0.8309, h * 0.1823);
  6755. c.moveTo(w * 0.5003, h * 0.362);
  6756. c.lineTo(w * 0.3311, h * 0.9089);
  6757. c.lineTo(w * 0.3311, h);
  6758. c.stroke();
  6759. c.setStrokeWidth(2 * strokeWidth);
  6760. c.setStrokeColor('#292929');
  6761. c.begin();
  6762. c.moveTo(0, h * 0.8177);
  6763. c.lineTo(0, h * 0.5448);
  6764. c.lineTo(w * 0.168, h * 0.1792);
  6765. c.lineTo(w * 0.5008, 0);
  6766. c.lineTo(w * 0.8309, h * 0.1812);
  6767. c.lineTo(w, h * 0.5469);
  6768. c.lineTo(w, h * 0.8188);
  6769. c.lineTo(w * 0.6661, h);
  6770. c.lineTo(w * 0.3333, h);
  6771. c.close();
  6772. c.stroke();
  6773. };
  6774. mxCellRenderer.registerShape(mxShapeAws3dGlacier.prototype.cst.GLACIER, mxShapeAws3dGlacier);
  6775. //**********************************************************************************************************************************************************
  6776. //Customer Gateway
  6777. //**********************************************************************************************************************************************************
  6778. /**
  6779. * Extends mxShape.
  6780. */
  6781. function mxShapeAws3dCustomerGateway(bounds, fill, stroke, strokewidth)
  6782. {
  6783. mxShape.call(this);
  6784. this.bounds = bounds;
  6785. this.fill = fill;
  6786. this.stroke = stroke;
  6787. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  6788. };
  6789. /**
  6790. * Extends mxShape.
  6791. */
  6792. mxUtils.extend(mxShapeAws3dCustomerGateway, mxShape);
  6793. mxShapeAws3dCustomerGateway.prototype.cst = {
  6794. CUSTOMER_GATEWAY : 'mxgraph.aws3d.customerGateway',
  6795. SHADING_COLORS : 'shadingCols'
  6796. };
  6797. /**
  6798. * Function: paintVertexShape
  6799. *
  6800. * Paints the vertex shape.
  6801. */
  6802. mxShapeAws3dCustomerGateway.prototype.paintVertexShape = function(c, x, y, w, h)
  6803. {
  6804. c.translate(x, y);
  6805. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  6806. var strokeWidth1 = strokeWidth * w / 116.7;
  6807. var strokeWidth2 = strokeWidth * h / 102.8;
  6808. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  6809. this.background(c, 0, 0, w, h, strokeWidth);
  6810. c.setShadow(false);
  6811. this.foreground(c, 0, 0, w, h, strokeWidth);
  6812. };
  6813. mxShapeAws3dCustomerGateway.prototype.background = function(c, x, y, w, h, strokeWidth)
  6814. {
  6815. c.setStrokeWidth(strokeWidth);
  6816. c.save();
  6817. c.save();
  6818. c.save();
  6819. c.save();
  6820. c.save();
  6821. c.setStrokeWidth(2 * strokeWidth);
  6822. c.setStrokeColor('#292929');
  6823. c.setLineJoin('round');
  6824. c.begin();
  6825. c.moveTo(w * 0.4199, h * 0.5447);
  6826. c.lineTo(w * 0.4199, h * 0.035);
  6827. c.lineTo(w * 0.8946, 0);
  6828. c.lineTo(w, h * 0.0691);
  6829. c.lineTo(w, h * 0.4134);
  6830. c.lineTo(w * 0.6812, h * 0.7247);
  6831. c.close();
  6832. c.fillAndStroke();
  6833. c.restore();
  6834. c.save();
  6835. c.setShadow(false);
  6836. c.setFillColor('#000000');
  6837. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6838. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6839. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6840. c.begin();
  6841. c.moveTo(w * 0.4199, h * 0.5447);
  6842. c.lineTo(w * 0.4199, h * 0.035);
  6843. c.lineTo(w * 0.6838, h * 0.2072);
  6844. c.lineTo(w * 0.6838, h * 0.7247);
  6845. c.close();
  6846. c.fill();
  6847. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6848. c.begin();
  6849. c.moveTo(w * 0.6838, h * 0.2072);
  6850. c.lineTo(w, h * 0.0691);
  6851. c.lineTo(w, h * 0.4134);
  6852. c.lineTo(w * 0.6838, h * 0.7247);
  6853. c.close();
  6854. c.fill();
  6855. c.restore();
  6856. c.setShadow(false);
  6857. c.begin();
  6858. c.moveTo(w * 0.4199, h * 0.5447);
  6859. c.lineTo(w * 0.4199, h * 0.035);
  6860. c.lineTo(w * 0.6838, h * 0.2072);
  6861. c.lineTo(w * 0.6838, h * 0.7247);
  6862. c.close();
  6863. c.stroke();
  6864. c.restore();
  6865. c.setLineJoin('round');
  6866. c.setShadow(false);
  6867. c.begin();
  6868. c.moveTo(w * 0.6838, h * 0.2072);
  6869. c.lineTo(w, h * 0.0691);
  6870. c.lineTo(w, h * 0.4134);
  6871. c.lineTo(w * 0.6838, h * 0.7247);
  6872. c.close();
  6873. c.stroke();
  6874. c.setStrokeWidth(2 * strokeWidth);
  6875. c.setStrokeColor('#292929');
  6876. c.begin();
  6877. c.moveTo(w * 0.4199, h * 0.5447);
  6878. c.lineTo(w * 0.4199, h * 0.035);
  6879. c.lineTo(w * 0.8946, 0);
  6880. c.lineTo(w, h * 0.0691);
  6881. c.lineTo(w, h * 0.4134);
  6882. c.lineTo(w * 0.6812, h * 0.7247);
  6883. c.close();
  6884. c.stroke();
  6885. c.restore();
  6886. c.setStrokeWidth(2 * strokeWidth);
  6887. c.setStrokeColor('#292929');
  6888. c.setLineJoin('round');
  6889. c.begin();
  6890. c.moveTo(0, h * 0.929);
  6891. c.lineTo(0, h * 0.5866);
  6892. c.lineTo(w * 0.3171, h * 0.1031);
  6893. c.lineTo(w * 0.5784, h * 0.2753);
  6894. c.lineTo(w * 0.5784, h * 0.7928);
  6895. c.lineTo(w * 0.1054, h);
  6896. c.close();
  6897. c.fillAndStroke();
  6898. };
  6899. mxShapeAws3dCustomerGateway.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  6900. {
  6901. c.restore();
  6902. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  6903. c.setShadow(false);
  6904. c.setLineJoin('round');
  6905. c.setFillColor('#000000');
  6906. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dCustomerGateway.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  6907. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  6908. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  6909. c.begin();
  6910. c.moveTo(0, h * 0.929);
  6911. c.lineTo(0, h * 0.5866);
  6912. c.lineTo(w * 0.1054, h * 0.6537);
  6913. c.lineTo(w * 0.1054, h);
  6914. c.close();
  6915. c.fill();
  6916. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  6917. c.begin();
  6918. c.moveTo(w * 0.1054, h);
  6919. c.lineTo(w * 0.1054, h * 0.6537);
  6920. c.lineTo(w * 0.5784, h * 0.2753);
  6921. c.lineTo(w * 0.5784, h * 0.7928);
  6922. c.close();
  6923. c.fill();
  6924. c.restore();
  6925. c.setShadow(false);
  6926. c.setLineJoin('round');
  6927. c.begin();
  6928. c.moveTo(0, h * 0.929);
  6929. c.lineTo(0, h * 0.5866);
  6930. c.lineTo(w * 0.1054, h * 0.6537);
  6931. c.lineTo(w * 0.1054, h);
  6932. c.close();
  6933. c.stroke();
  6934. c.begin();
  6935. c.moveTo(w * 0.1054, h);
  6936. c.lineTo(w * 0.1054, h * 0.6537);
  6937. c.lineTo(w * 0.5784, h * 0.2753);
  6938. c.lineTo(w * 0.5784, h * 0.7928);
  6939. c.close();
  6940. c.stroke();
  6941. c.setStrokeWidth(2 * strokeWidth);
  6942. c.setStrokeColor('#292929');
  6943. c.setLineJoin('round');
  6944. c.begin();
  6945. c.moveTo(0, h * 0.929);
  6946. c.lineTo(0, h * 0.5866);
  6947. c.lineTo(w * 0.3171, h * 0.1031);
  6948. c.lineTo(w * 0.5784, h * 0.2753);
  6949. c.lineTo(w * 0.5784, h * 0.7928);
  6950. c.lineTo(w * 0.1054, h);
  6951. c.close();
  6952. c.stroke();
  6953. c.setFillColor(strokeColor);
  6954. c.begin();
  6955. c.moveTo(w * 0.7575, h * 0.3969);
  6956. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.7686, h * 0.3259);
  6957. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8055, h * 0.2481);
  6958. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.8406, h * 0.2091);
  6959. c.lineTo(w * 0.8269, h * 0.2665);
  6960. c.lineTo(w * 0.8372, h * 0.2607);
  6961. c.lineTo(w * 0.8372, h * 0.3444);
  6962. c.lineTo(w * 0.7832, h * 0.3804);
  6963. c.lineTo(w * 0.7832, h * 0.3658);
  6964. c.close();
  6965. c.moveTo(w * 0.8466, h * 0.2082);
  6966. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.8766, h * 0.1955);
  6967. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.9186, h * 0.2286);
  6968. c.arcTo(w * 0.12, h * 0.1362, 0, 0, 1, w * 0.9297, h * 0.2821);
  6969. c.lineTo(w * 0.9006, h * 0.2831);
  6970. c.lineTo(w * 0.9006, h * 0.3016);
  6971. c.lineTo(w * 0.85, h * 0.3366);
  6972. c.lineTo(w * 0.85, h * 0.251);
  6973. c.lineTo(w * 0.8586, h * 0.2471);
  6974. c.close();
  6975. c.moveTo(w * 0.9297, h * 0.2967);
  6976. c.arcTo(w * 0.2142, h * 0.2432, 0, 0, 1, w * 0.9195, h * 0.3667);
  6977. c.arcTo(w * 0.2571, h * 0.2918, 0, 0, 1, w * 0.8869, h * 0.4436);
  6978. c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.8466, h * 0.4903);
  6979. c.lineTo(w * 0.8595, h * 0.4358);
  6980. c.lineTo(w * 0.8492, h * 0.4416);
  6981. c.lineTo(w * 0.8492, h * 0.357);
  6982. c.lineTo(w * 0.9006, h * 0.32004);
  6983. c.lineTo(w * 0.9006, h * 0.3346);
  6984. c.close();
  6985. c.moveTo(w * 0.838, h * 0.4942);
  6986. c.arcTo(w * 0.0857, h * 0.0973, 0, 0, 1, w * 0.8072, h * 0.5049);
  6987. c.arcTo(w * 0.0514, h * 0.0584, 0, 0, 1, w * 0.7712, h * 0.4815);
  6988. c.arcTo(w * 0.1714, h * 0.1946, 0, 0, 1, w * 0.7566, h * 0.4163);
  6989. c.lineTo(w * 0.7832, h * 0.4173);
  6990. c.lineTo(w * 0.7832, h * 0.4008);
  6991. c.lineTo(w * 0.8372, h * 0.3638);
  6992. c.lineTo(w * 0.8372, h * 0.4494);
  6993. c.lineTo(w * 0.8278, h * 0.4562);
  6994. c.close();
  6995. c.fill();
  6996. };
  6997. mxCellRenderer.registerShape(mxShapeAws3dCustomerGateway.prototype.cst.CUSTOMER_GATEWAY, mxShapeAws3dCustomerGateway);
  6998. //**********************************************************************************************************************************************************
  6999. //Redshift
  7000. //**********************************************************************************************************************************************************
  7001. /**
  7002. * Extends mxShape.
  7003. */
  7004. function mxShapeAws3dRedshift(bounds, fill, stroke, strokewidth)
  7005. {
  7006. mxShape.call(this);
  7007. this.bounds = bounds;
  7008. this.fill = fill;
  7009. this.stroke = stroke;
  7010. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7011. };
  7012. /**
  7013. * Extends mxShape.
  7014. */
  7015. mxUtils.extend(mxShapeAws3dRedshift, mxShape);
  7016. mxShapeAws3dRedshift.prototype.cst = {
  7017. REDSHIFT : 'mxgraph.aws3d.redshift',
  7018. SHADING_COLORS : 'shadingCols'
  7019. };
  7020. /**
  7021. * Function: paintVertexShape
  7022. *
  7023. * Paints the vertex shape.
  7024. */
  7025. mxShapeAws3dRedshift.prototype.paintVertexShape = function(c, x, y, w, h)
  7026. {
  7027. c.translate(x, y);
  7028. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7029. var strokeWidth1 = strokeWidth * w / 149.5;
  7030. var strokeWidth2 = strokeWidth * h / 187.5;
  7031. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7032. this.background(c, 0, 0, w, h, strokeWidth);
  7033. c.setShadow(false);
  7034. this.foreground(c, 0, 0, w, h, strokeWidth);
  7035. };
  7036. mxShapeAws3dRedshift.prototype.background = function(c, x, y, w, h, strokeWidth)
  7037. {
  7038. c.setStrokeWidth(strokeWidth);
  7039. c.save();
  7040. c.save();
  7041. c.save();
  7042. c.setStrokeWidth(2 * strokeWidth);
  7043. c.setStrokeColor('#292929');
  7044. c.setLineJoin('round');
  7045. c.begin();
  7046. c.moveTo(0, h * 0.6517);
  7047. c.lineTo(0, h * 0.0912);
  7048. c.lineTo(w * 0.0368, h * 0.0155);
  7049. c.lineTo(w * 0.2047, 0);
  7050. c.lineTo(w * 0.3378, h * 0.0619);
  7051. c.lineTo(w * 0.3378, h * 0.0912);
  7052. c.lineTo(w * 0.3819, h * 0.0693);
  7053. c.lineTo(w * 0.6154, h * 0.0693);
  7054. c.lineTo(w * 0.8502, h * 0.1776);
  7055. c.lineTo(w * 0.8502, h * 0.3083);
  7056. c.lineTo(w * 0.8682, h * 0.3061);
  7057. c.lineTo(w, h * 0.3664);
  7058. c.lineTo(w, h * 0.9099);
  7059. c.lineTo(w * 0.9672, h * 0.9861);
  7060. c.lineTo(w * 0.7926, h);
  7061. c.lineTo(w * 0.6629, h * 0.9392);
  7062. c.lineTo(w * 0.6629, h * 0.9099);
  7063. c.lineTo(w * 0.6167, h * 0.9317);
  7064. c.lineTo(w * 0.3813, h * 0.9317);
  7065. c.lineTo(w * 0.1478, h * 0.8219);
  7066. c.lineTo(w * 0.1478, h * 0.7093);
  7067. c.lineTo(w * 0.1365, h * 0.7163);
  7068. c.close();
  7069. c.fillAndStroke();
  7070. };
  7071. mxShapeAws3dRedshift.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  7072. {
  7073. c.restore();
  7074. c.setShadow(false);
  7075. c.setFillColor('#000000');
  7076. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dRedshift.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7077. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7078. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7079. c.begin();
  7080. c.moveTo(0, h * 0.6541);
  7081. c.lineTo(0, h * 0.0933);
  7082. c.lineTo(w * 0.1371, h * 0.1573);
  7083. c.lineTo(w * 0.1371, h * 0.7157);
  7084. c.close();
  7085. c.moveTo(w * 0.1485, h * 0.8219);
  7086. c.lineTo(w * 0.1485, h * 0.2864);
  7087. c.lineTo(w * 0.3846, h * 0.3941);
  7088. c.lineTo(w * 0.3846, h * 0.9317);
  7089. c.close();
  7090. c.moveTo(w * 0.6642, h * 0.9392);
  7091. c.lineTo(w * 0.6642, h * 0.4011);
  7092. c.lineTo(w * 0.796, h * 0.4597);
  7093. c.lineTo(w * 0.796, h);
  7094. c.close();
  7095. c.fill();
  7096. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7097. c.begin();
  7098. c.moveTo(w * 0.1371, h * 0.7157);
  7099. c.lineTo(w * 0.1371, h * 0.1568);
  7100. c.lineTo(w * 0.2027, h * 0.1525);
  7101. c.lineTo(w * 0.1498, h * 0.1771);
  7102. c.lineTo(w * 0.1498, h * 0.7061);
  7103. c.close();
  7104. c.moveTo(w * 0.3846, h * 0.3941);
  7105. c.lineTo(w * 0.614, h * 0.3941);
  7106. c.lineTo(w * 0.6809, h * 0.3632);
  7107. c.lineTo(w * 0.6642, h * 0.4);
  7108. c.lineTo(w * 0.6642, h * 0.9067);
  7109. c.lineTo(w * 0.6191, h * 0.9317);
  7110. c.lineTo(w * 0.3833, h * 0.9317);
  7111. c.close();
  7112. c.moveTo(w * 0.796, h * 0.4608);
  7113. c.lineTo(w * 0.9639, h * 0.4469);
  7114. c.lineTo(w, h * 0.3691);
  7115. c.lineTo(w, h * 0.9077);
  7116. c.lineTo(w * 0.9686, h * 0.9856);
  7117. c.lineTo(w * 0.796, h);
  7118. c.close();
  7119. c.moveTo(w * 0.3378, h * 0.0608);
  7120. c.lineTo(w * 0.3378, h * 0.0907);
  7121. c.lineTo(w * 0.3197, h * 0.1008);
  7122. c.close();
  7123. c.moveTo(w * 0.8502, h * 0.2843);
  7124. c.lineTo(w * 0.8502, h * 0.3083);
  7125. c.lineTo(w * 0.794, h * 0.3136);
  7126. c.close();
  7127. c.fill();
  7128. c.restore();
  7129. c.setShadow(false);
  7130. c.setLineJoin('round');
  7131. c.begin();
  7132. c.moveTo(0, h * 0.6541);
  7133. c.lineTo(0, h * 0.0933);
  7134. c.lineTo(w * 0.1371, h * 0.1573);
  7135. c.lineTo(w * 0.1371, h * 0.7157);
  7136. c.close();
  7137. c.moveTo(w * 0.1485, h * 0.8219);
  7138. c.lineTo(w * 0.1485, h * 0.2864);
  7139. c.lineTo(w * 0.3846, h * 0.3941);
  7140. c.lineTo(w * 0.3846, h * 0.9317);
  7141. c.close();
  7142. c.moveTo(w * 0.6642, h * 0.9392);
  7143. c.lineTo(w * 0.6642, h * 0.4011);
  7144. c.lineTo(w * 0.796, h * 0.4597);
  7145. c.lineTo(w * 0.796, h);
  7146. c.close();
  7147. c.moveTo(w * 0.1371, h * 0.7157);
  7148. c.lineTo(w * 0.1371, h * 0.1568);
  7149. c.lineTo(w * 0.2027, h * 0.1525);
  7150. c.lineTo(w * 0.1498, h * 0.1771);
  7151. c.lineTo(w * 0.1498, h * 0.7061);
  7152. c.close();
  7153. c.moveTo(w * 0.3846, h * 0.3941);
  7154. c.lineTo(w * 0.614, h * 0.3941);
  7155. c.lineTo(w * 0.6809, h * 0.3632);
  7156. c.lineTo(w * 0.6642, h * 0.4);
  7157. c.lineTo(w * 0.6642, h * 0.9067);
  7158. c.lineTo(w * 0.6191, h * 0.9317);
  7159. c.lineTo(w * 0.3833, h * 0.9317);
  7160. c.close();
  7161. c.moveTo(w * 0.796, h * 0.4608);
  7162. c.lineTo(w * 0.9639, h * 0.4469);
  7163. c.lineTo(w, h * 0.3691);
  7164. c.lineTo(w, h * 0.9077);
  7165. c.lineTo(w * 0.9686, h * 0.9856);
  7166. c.lineTo(w * 0.796, h);
  7167. c.close();
  7168. c.moveTo(w * 0.3378, h * 0.0608);
  7169. c.lineTo(w * 0.3378, h * 0.0907);
  7170. c.lineTo(w * 0.3197, h * 0.1008);
  7171. c.close();
  7172. c.moveTo(w * 0.8502, h * 0.2843);
  7173. c.lineTo(w * 0.8502, h * 0.3083);
  7174. c.lineTo(w * 0.794, h * 0.3136);
  7175. c.close();
  7176. c.moveTo(w * 0.6167, h * 0.3941);
  7177. c.lineTo(w * 0.6167, h * 0.9317);
  7178. c.moveTo(w * 0.9652, h * 0.4448);
  7179. c.lineTo(w * 0.9652, h * 0.9851);
  7180. c.stroke();
  7181. c.restore();
  7182. c.setShadow(false);
  7183. var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  7184. c.setFillColor(strokeColor);
  7185. c.begin();
  7186. c.moveTo(w * 0.4903, h * 0.1259);
  7187. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.5023, h * 0.1189);
  7188. c.arcTo(w * 0.2007, h * 0.16, 0, 0, 1, w * 0.5639, h * 0.1333);
  7189. c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.7157, h * 0.2005);
  7190. c.arcTo(w * 0.2006, h * 0.16, 0, 0, 1, w * 0.7565, h * 0.2315);
  7191. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.7445, h * 0.2421);
  7192. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.6742, h * 0.2251);
  7193. c.arcTo(w * 0.602, h * 0.48, 0, 0, 1, w * 0.5204, h * 0.1541);
  7194. c.arcTo(w * 0.1338, h * 0.1067, 0, 0, 1, w * 0.4903, h * 0.1259);
  7195. c.close();
  7196. c.moveTo(w * 0.4789, h * 0.1275);
  7197. c.arcTo(w * 0.0334, h * 0.0267, 0, 0, 0, w * 0.487, h * 0.1461);
  7198. c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 0, w * 0.5237, h * 0.1728);
  7199. c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 0, w * 0.6609, h * 0.2352);
  7200. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 0, w * 0.7244, h * 0.2501);
  7201. c.arcTo(w * 0.0201, h * 0.016, 0, 0, 0, w * 0.7411, h * 0.2475);
  7202. c.lineTo(w * 0.5385, h * 0.3408);
  7203. c.arcTo(w * 0.0669, h * 0.05333, 0, 0, 1, w * 0.512, h * 0.3397);
  7204. c.arcTo(w * 0.2676, h * 0.2133, 0, 0, 1, w * 0.4548, h * 0.3248);
  7205. c.arcTo(w * 0.6689, h * 0.5333, 0, 0, 1, w * 0.3084, h * 0.2565);
  7206. c.arcTo(w * 0.1672, h * 0.1333, 0, 0, 1, w * 0.2776, h * 0.2304);
  7207. c.arcTo(w * 0.01, h * 0.008, 0, 0, 1, w * 0.2776, h * 0.2197);
  7208. c.close();
  7209. c.fill();
  7210. var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff');
  7211. c.setFillColor(fillColor);
  7212. c.setLineJoin('round');
  7213. c.setLineCap('round');
  7214. c.begin();
  7215. c.moveTo(w * 0.3398, h * 0.2421);
  7216. c.lineTo(w * 0.4769, h * 0.1797);
  7217. c.lineTo(w * 0.6341, h * 0.2512);
  7218. c.lineTo(w * 0.4936, h * 0.3147);
  7219. c.fill();
  7220. c.begin();
  7221. c.moveTo(w * 0.4334, h * 0.1941);
  7222. c.lineTo(w * 0.6207, h * 0.2811);
  7223. c.moveTo(w * 0.5338, h * 0.1995);
  7224. c.lineTo(w * 0.3866, h * 0.2688);
  7225. c.moveTo(w * 0.5873, h * 0.2235);
  7226. c.lineTo(w * 0.4334, h * 0.2955);
  7227. c.stroke();
  7228. c.setStrokeWidth(2 * strokeWidth);
  7229. c.setStrokeColor('#292929');
  7230. c.begin();
  7231. c.moveTo(0, h * 0.6517);
  7232. c.lineTo(0, h * 0.0912);
  7233. c.lineTo(w * 0.0368, h * 0.0155);
  7234. c.lineTo(w * 0.2047, 0);
  7235. c.lineTo(w * 0.3378, h * 0.0619);
  7236. c.lineTo(w * 0.3378, h * 0.0912);
  7237. c.lineTo(w * 0.3819, h * 0.0693);
  7238. c.lineTo(w * 0.6154, h * 0.0693);
  7239. c.lineTo(w * 0.8502, h * 0.1776);
  7240. c.lineTo(w * 0.8502, h * 0.3083);
  7241. c.lineTo(w * 0.8682, h * 0.3061);
  7242. c.lineTo(w, h * 0.3664);
  7243. c.lineTo(w, h * 0.9099);
  7244. c.lineTo(w * 0.9672, h * 0.9861);
  7245. c.lineTo(w * 0.7926, h);
  7246. c.lineTo(w * 0.6629, h * 0.9392);
  7247. c.lineTo(w * 0.6629, h * 0.9099);
  7248. c.lineTo(w * 0.6167, h * 0.9317);
  7249. c.lineTo(w * 0.3813, h * 0.9317);
  7250. c.lineTo(w * 0.1478, h * 0.8219);
  7251. c.lineTo(w * 0.1478, h * 0.7093);
  7252. c.lineTo(w * 0.1365, h * 0.7163);
  7253. c.close();
  7254. c.stroke();
  7255. };
  7256. mxCellRenderer.registerShape(mxShapeAws3dRedshift.prototype.cst.REDSHIFT, mxShapeAws3dRedshift);
  7257. //**********************************************************************************************************************************************************
  7258. //Lambda
  7259. //**********************************************************************************************************************************************************
  7260. /**
  7261. * Extends mxShape.
  7262. */
  7263. function mxShapeAws3dLambda(bounds, fill, stroke, strokewidth)
  7264. {
  7265. mxShape.call(this);
  7266. this.bounds = bounds;
  7267. this.fill = fill;
  7268. this.stroke = stroke;
  7269. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7270. };
  7271. /**
  7272. * Extends mxShape.
  7273. */
  7274. mxUtils.extend(mxShapeAws3dLambda, mxShape);
  7275. mxShapeAws3dLambda.prototype.cst = {
  7276. LAMBDA : 'mxgraph.aws3d.lambda',
  7277. SHADING_COLORS : 'shadingCols'
  7278. };
  7279. /**
  7280. * Function: paintVertexShape
  7281. *
  7282. * Paints the vertex shape.
  7283. */
  7284. mxShapeAws3dLambda.prototype.paintVertexShape = function(c, x, y, w, h)
  7285. {
  7286. c.translate(x, y);
  7287. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7288. var strokeWidth1 = strokeWidth * w / 92;
  7289. var strokeWidth2 = strokeWidth * h / 109.5;
  7290. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7291. this.background(c, 0, 0, w, h, strokeWidth);
  7292. c.setShadow(false);
  7293. this.foreground(c, 0, 0, w, h, strokeWidth);
  7294. };
  7295. mxShapeAws3dLambda.prototype.background = function(c, x, y, w, h, strokeWidth)
  7296. {
  7297. c.setStrokeWidth(strokeWidth);
  7298. c.save();
  7299. c.save();
  7300. c.save();
  7301. c.setStrokeWidth(2 * strokeWidth);
  7302. c.setStrokeColor('#292929');
  7303. c.setLineJoin('round');
  7304. c.begin();
  7305. c.moveTo(0, h * 0.1671);
  7306. c.lineTo(w * 0.3424, 0);
  7307. c.lineTo(w * 0.663, 0);
  7308. c.lineTo(w, h * 0.1671);
  7309. c.lineTo(w, h * 0.8365);
  7310. c.lineTo(w * 0.663, h);
  7311. c.lineTo(w * 0.3424, h);
  7312. c.lineTo(0, h * 0.8365);
  7313. c.close();
  7314. c.fillAndStroke();
  7315. };
  7316. mxShapeAws3dLambda.prototype.foreground = function(c, x, y, w, h, strokeWidth)
  7317. {
  7318. c.restore();
  7319. c.setShadow(false);
  7320. c.setFillColor('#000000');
  7321. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dLambda.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7322. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7323. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7324. c.begin();
  7325. c.moveTo(0, h * 0.3242);
  7326. c.lineTo(w * 0.3424, h * 0.4895);
  7327. c.lineTo(w * 0.663, h * 0.4895);
  7328. c.lineTo(w * 0.663, h);
  7329. c.lineTo(w * 0.3424, h);
  7330. c.lineTo(0, h * 0.8365);
  7331. c.close();
  7332. c.moveTo(w * 0., h * 0.);
  7333. c.lineTo(w * 0., h * 0.);
  7334. c.lineTo(w * 0., h * 0.);
  7335. c.lineTo(w * 0., h * 0.);
  7336. c.lineTo(w * 0., h * 0.);
  7337. c.lineTo(w * 0., h * 0.);
  7338. c.close();
  7339. c.moveTo(w * 0., h * 0.);
  7340. c.lineTo(w * 0., h * 0.);
  7341. c.lineTo(w * 0., h * 0.);
  7342. c.lineTo(w * 0., h * 0.);
  7343. c.lineTo(w * 0., h * 0.);
  7344. c.lineTo(w * 0., h * 0.);
  7345. c.close();
  7346. c.fill();
  7347. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7348. c.begin();
  7349. c.moveTo(w * 0.663, h * 0.4895);
  7350. c.lineTo(w, h * 0.3242);
  7351. c.lineTo(w, h * 0.8365);
  7352. c.lineTo(w * 0.663, h);
  7353. c.close();
  7354. c.fill();
  7355. c.restore();
  7356. c.setShadow(false);
  7357. c.setLineJoin('round');
  7358. c.begin();
  7359. c.moveTo(0, h * 0.3242);
  7360. c.lineTo(w * 0.3424, h * 0.4895);
  7361. c.lineTo(w * 0.663, h * 0.4895);
  7362. c.lineTo(w, h * 0.3242);
  7363. c.moveTo(w * 0.3424, h * 0.4895);
  7364. c.lineTo(w * 0.3424, h);
  7365. c.moveTo(w * 0.663, h * 0.4895);
  7366. c.lineTo(w * 0.663, h);
  7367. c.stroke();
  7368. c.setFillColor("#5E5E5E");
  7369. c.begin();
  7370. c.moveTo(w * 0.3804, h * 0.1169);
  7371. c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.6087, h * 0.1123);
  7372. c.arcTo(w * 0.33804, h * 0.3196, 0, 0, 1, w * 0.725, h * 0.1553);
  7373. c.arcTo(w * 0.1304, h * 0.1096, 0, 0, 1, w * 0.7924, h * 0.2402);
  7374. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.725, h * 0.3333);
  7375. c.arcTo(w * 0.4416, h * 0.274, 0, 0, 1, w * 0.6087, h * 0.3772);
  7376. c.arcTo(w * 0.5435, h * 0.4566, 0, 0, 1, w * 0.3804, h * 0.3708);
  7377. c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.2772, h * 0.3324);
  7378. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2163, h * 0.2539);
  7379. c.arcTo(w * 0.1522, h * 0.1279, 0, 0, 1, w * 0.2663, h * 0.1644);
  7380. c.arcTo(w * 0.3804, h * 0.3196, 0, 0, 1, w * 0.3804, h * 0.1169);
  7381. c.fill();
  7382. c.setFillColor("#ffffff");
  7383. c.begin();
  7384. c.moveTo(w * 0.5565, h * 0.2174);
  7385. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.5837, h * 0.1945);
  7386. c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 0, w * 0.5793, h * 0.1671);
  7387. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 0, w * 0.525, h * 0.1598);
  7388. c.arcTo(w * 0.0652, h * 0.0548, 0, 0, 1, w * 0.5543, h * 0.1443);
  7389. c.arcTo(w * 0.0761, h * 0.0639, 0, 0, 1, w * 0.6163, h * 0.1662);
  7390. c.arcTo(w * 0.0598, h * 0.0502, 0, 0, 1, w * 0.6087, h * 0.2091);
  7391. c.lineTo(w * 0.5, h * 0.3032);
  7392. c.arcTo(w * 0.0978, h * 0.0822, 0, 0, 0, w * 0.4728, h * 0.3379);
  7393. c.arcTo(w * 0.0272, h * 0.0228, 0, 0, 0, w * 0.4924, h * 0.3571);
  7394. c.arcTo(w * 0.0326, h * 0.0274, 0, 0, 1, w * 0.4489, h * 0.3571);
  7395. c.arcTo(w * 0.038, h * 0.032, 0, 0, 1, w * 0.437, h * 0.3242);
  7396. c.arcTo(w * 0.1087, h * 0.0913, 0, 0, 1, w * 0.4674, h * 0.2886);
  7397. c.lineTo(w * 0.5141, h * 0.2557);
  7398. c.lineTo(w * 0.3185, h * 0.2895);
  7399. c.lineTo(w * 0.2641, h * 0.2648);
  7400. c.close();
  7401. c.fill();
  7402. c.setStrokeWidth(2 * strokeWidth);
  7403. c.setStrokeColor('#292929');
  7404. c.begin();
  7405. c.moveTo(0, h * 0.1671);
  7406. c.lineTo(w * 0.3424, 0);
  7407. c.lineTo(w * 0.663, 0);
  7408. c.lineTo(w, h * 0.1671);
  7409. c.lineTo(w, h * 0.8365);
  7410. c.lineTo(w * 0.663, h);
  7411. c.lineTo(w * 0.3424, h);
  7412. c.lineTo(0, h * 0.8365);
  7413. c.close();
  7414. c.stroke();
  7415. };
  7416. mxCellRenderer.registerShape(mxShapeAws3dLambda.prototype.cst.LAMBDA, mxShapeAws3dLambda);
  7417. //**********************************************************************************************************************************************************
  7418. //EBS 2
  7419. //**********************************************************************************************************************************************************
  7420. /**
  7421. * Extends mxShape.
  7422. */
  7423. function mxShapeAws3dEbs2(bounds, fill, stroke, strokewidth)
  7424. {
  7425. mxShape.call(this);
  7426. this.bounds = bounds;
  7427. this.fill = fill;
  7428. this.stroke = stroke;
  7429. this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7430. };
  7431. /**
  7432. * Extends mxShape.
  7433. */
  7434. mxUtils.extend(mxShapeAws3dEbs2, mxShape);
  7435. mxShapeAws3dEbs2.prototype.cst = {
  7436. EBS2 : 'mxgraph.aws3d.ebs2',
  7437. SHADING_COLORS : 'shadingCols'
  7438. };
  7439. /**
  7440. * Function: paintVertexShape
  7441. *
  7442. * Paints the vertex shape.
  7443. */
  7444. mxShapeAws3dEbs2.prototype.paintVertexShape = function(c, x, y, w, h)
  7445. {
  7446. c.translate(x, y);
  7447. var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7448. var strokeWidth1 = strokeWidth * w / 92;
  7449. var strokeWidth2 = strokeWidth * h / 60;
  7450. var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  7451. strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7452. c.setStrokeWidth(strokeWidth);
  7453. c.setShadow(false);
  7454. c.save();
  7455. c.save();
  7456. c.setStrokeWidth(2 * strokeWidth);
  7457. c.setStrokeColor('#292929');
  7458. c.setLineJoin('round');
  7459. if(isShadow == 1)
  7460. {
  7461. c.setShadow(true);
  7462. }
  7463. c.begin();
  7464. c.moveTo(0, h * 0.5276);
  7465. c.lineTo(0, h * 0.4188);
  7466. c.lineTo(w * 0.071, h * 0.2898);
  7467. c.lineTo(w * 0.4033, 0);
  7468. c.lineTo(w * 0.9301, h * 0.464);
  7469. c.lineTo(w, h * 0.5863);
  7470. c.lineTo(w, h * 0.7035);
  7471. c.lineTo(w * 0.6667, h);
  7472. c.lineTo(w * 0.5355, h);
  7473. c.close();
  7474. c.fillAndStroke();
  7475. c.restore();
  7476. c.setFillColor('#000000');
  7477. var shading = mxUtils.getValue(this.state.style, mxShapeAws3dEbs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7478. var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7479. (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7480. c.begin();
  7481. c.moveTo(w * 0.071, h * 0.2948);
  7482. c.lineTo(w * 0.6011, h * 0.7621);
  7483. c.lineTo(w * 0.6667, h);
  7484. c.lineTo(w * 0.5355, h);
  7485. c.lineTo(0, h * 0.5276);
  7486. c.lineTo(0, h * 0.4137);
  7487. c.close();
  7488. c.fill();
  7489. (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7490. c.begin();
  7491. c.moveTo(w * 0.6011, h * 0.7655);
  7492. c.lineTo(w * 0.9344, h * 0.4724);
  7493. c.lineTo(w, h * 0.7035);
  7494. c.lineTo(w * 0.6667, h);
  7495. c.close();
  7496. c.fill();
  7497. c.restore();
  7498. c.setLineJoin('round');
  7499. c.begin();
  7500. c.moveTo(w * 0.071, h * 0.2948);
  7501. c.lineTo(w * 0.6011, h * 0.7621);
  7502. c.lineTo(w * 0.6667, h);
  7503. c.lineTo(w * 0.5355, h);
  7504. c.lineTo(0, h * 0.5276);
  7505. c.lineTo(0, h * 0.4137);
  7506. c.close();
  7507. c.moveTo(w * 0.6011, h * 0.7655);
  7508. c.lineTo(w * 0.9344, h * 0.4724);
  7509. c.lineTo(w, h * 0.7035);
  7510. c.lineTo(w * 0.6667, h);
  7511. c.close();
  7512. c.moveTo(w * 0.0033, h * 0.5276);
  7513. c.lineTo(w * 0.071, h * 0.2898);
  7514. c.moveTo(w * 0.5325, h * 0.9976);
  7515. c.lineTo(w * 0.603, h * 0.7593);
  7516. c.stroke();
  7517. c.setStrokeWidth(2 * strokeWidth);
  7518. c.setLineCap('round');
  7519. c.begin();
  7520. c.moveTo(w * 0.3388, h * 0.3802);
  7521. c.lineTo(w * 0.5027, h * 0.2345);
  7522. c.lineTo(w * 0.6667, h * 0.3802);
  7523. c.lineTo(w * 0.5027, h * 0.526);
  7524. c.close();
  7525. c.moveTo(w * 0.4426, h * 0.3802);
  7526. c.lineTo(w * 0.5027, h * 0.3266);
  7527. c.lineTo(w * 0.5628, h * 0.3802);
  7528. c.lineTo(w * 0.5027, h * 0.4338);
  7529. c.close();
  7530. c.moveTo(w * 0.3867, h * 0.3284);
  7531. c.lineTo(w * 0.3541, h * 0.2998);
  7532. c.moveTo(w * 0.4436, h * 0.2748);
  7533. c.lineTo(w * 0.4077, h * 0.2412);
  7534. c.moveTo(w * 0.5704, h * 0.2803);
  7535. c.lineTo(w * 0.5992, h * 0.2513);
  7536. c.moveTo(w * 0.6231, h * 0.3284);
  7537. c.lineTo(w * 0.6503, h * 0.3032);
  7538. c.moveTo(w * 0.622, h * 0.4338);
  7539. c.lineTo(w * 0.6557, h * 0.4606);
  7540. c.moveTo(w * 0.5667, h * 0.4845);
  7541. c.lineTo(w * 0.5992, h * 0.5156);
  7542. c.moveTo(w * 0.4414, h * 0.4874);
  7543. c.lineTo(w * 0.412, h * 0.5159);
  7544. c.moveTo(w * 0.3889, h * 0.4405);
  7545. c.lineTo(w * 0.3607, h * 0.4657);
  7546. c.stroke();
  7547. c.setStrokeColor('#292929');
  7548. c.setLineJoin('round');
  7549. c.begin();
  7550. c.moveTo(0, h * 0.5276);
  7551. c.lineTo(0, h * 0.4188);
  7552. c.lineTo(w * 0.071, h * 0.2898);
  7553. c.lineTo(w * 0.4033, 0);
  7554. c.lineTo(w * 0.9301, h * 0.464);
  7555. c.lineTo(w, h * 0.5863);
  7556. c.lineTo(w, h * 0.7035);
  7557. c.lineTo(w * 0.6667, h);
  7558. c.lineTo(w * 0.5355, h);
  7559. c.close();
  7560. c.stroke();
  7561. };
  7562. mxCellRenderer.registerShape(mxShapeAws3dEbs2.prototype.cst.EBS2, mxShapeAws3dEbs2);
  7563. //**********************************************************************************************************************************************************
  7564. //Elasticache
  7565. //**********************************************************************************************************************************************************
  7566. ///**
  7567. //* Extends mxShape.
  7568. //*/
  7569. //function mxShapeAws3dElasticache(bounds, fill, stroke, strokewidth)
  7570. //{
  7571. // mxShape.call(this);
  7572. // this.bounds = bounds;
  7573. // this.fill = fill;
  7574. // this.stroke = stroke;
  7575. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7576. //};
  7577. //
  7578. ///**
  7579. //* Extends mxShape.
  7580. //*/
  7581. //mxUtils.extend(mxShapeAws3dElasticache, mxShape);
  7582. //
  7583. //mxShapeAws3dElasticache.prototype.cst = {
  7584. // ELASTICACHE : 'mxgraph.aws3d.elasticache',
  7585. // SHADING_COLORS : 'shadingCols'
  7586. //};
  7587. //
  7588. ///**
  7589. //* Function: paintVertexShape
  7590. //*
  7591. //* Paints the vertex shape.
  7592. //*/
  7593. //mxShapeAws3dElasticache.prototype.paintVertexShape = function(c, x, y, w, h)
  7594. //{
  7595. // c.translate(x, y);
  7596. //
  7597. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7598. // var strokeWidth1 = strokeWidth * w / 123;
  7599. // var strokeWidth2 = strokeWidth * h / 143;
  7600. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  7601. //
  7602. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7603. //
  7604. // c.setStrokeWidth(strokeWidth);
  7605. // c.setShadow(false);
  7606. // c.save();
  7607. // c.save();
  7608. // c.setStrokeWidth(2 * strokeWidth);
  7609. // c.setStrokeColor('#292929');
  7610. // c.setLineJoin('round');
  7611. //
  7612. // if(isShadow == 1)
  7613. // {
  7614. // c.setShadow(true);
  7615. // }
  7616. //
  7617. // c.begin();
  7618. // c.moveTo(0, h * 0.7483);
  7619. // c.lineTo(0, h * 0.6294);
  7620. // c.lineTo(w * 0.061, h * 0.5944);
  7621. // c.lineTo(0, h * 0.563);
  7622. // c.lineTo(0, h * 0.4406);
  7623. // c.lineTo(w * 0.061, h * 0.4091);
  7624. // c.lineTo(0, h * 0.3776);
  7625. // c.lineTo(0, h * 0.2517);
  7626. // c.lineTo(w * 0.5041, 0);
  7627. // c.lineTo(w, h * 0.2483);
  7628. // c.lineTo(w, h * 0.3741);
  7629. // c.lineTo(w * 0.939, h * 0.4091);
  7630. // c.lineTo(w, h * 0.4406);
  7631. // c.lineTo(w, h * 0.563);
  7632. // c.lineTo(w * 0.939, h * 0.5944);
  7633. // c.lineTo(w, h * 0.6294);
  7634. // c.lineTo(w, h * 0.751);
  7635. // c.lineTo(w * 0.5041, h);
  7636. // c.close();
  7637. // c.fillAndStroke();
  7638. //
  7639. // c.restore();
  7640. // c.setFillColor('#000000');
  7641. //
  7642. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dElasticache.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7643. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7644. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7645. //
  7646. // c.begin();
  7647. // c.moveTo(0, h * 0.2517);
  7648. // c.lineTo(w * 0.5041, h * 0.4965);
  7649. // c.lineTo(w * 0.5041, h * 0.6294);
  7650. // c.lineTo(0, h * 0.3776);
  7651. // c.close();
  7652. // c.moveTo(0, h * 0.4406);
  7653. // c.lineTo(w * 0.5041, h * 0.6853);
  7654. // c.lineTo(w * 0.5041, h * 0.8112);
  7655. // c.lineTo(0, h * 0.5629);
  7656. // c.close();
  7657. // c.moveTo(0, h * 0.6294);
  7658. // c.lineTo(w * 0.5041, h * 0.8741);
  7659. // c.lineTo(w * 0.5041, h);
  7660. // c.lineTo(0, h * 0.7483);
  7661. // c.close();
  7662. // c.moveTo(w * 0.6179, h * 0.2517);
  7663. // c.lineTo(w * 0.752, h * 0.1853);
  7664. // c.lineTo(w * 0.752, h * 0.3217);
  7665. // c.close();
  7666. // c.fill();
  7667. //
  7668. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7669. // c.begin();
  7670. // c.moveTo(w * 0.5041, h * 0.4965);
  7671. // c.lineTo(w, h * 0.2517);
  7672. // c.lineTo(w, h * 0.3741);
  7673. // c.lineTo(w * 0.5041, h * 0.6294);
  7674. // c.close();
  7675. // c.moveTo(w * 0.5041, h * 0.6853);
  7676. // c.lineTo(w, h * 0.4406);
  7677. // c.lineTo(w, h * 0.5629);
  7678. // c.lineTo(w * 0.5041, h * 0.8112);
  7679. // c.close();
  7680. // c.moveTo(w * 0.5041, h * 0.8741);
  7681. // c.lineTo(w, h * 0.6294);
  7682. // c.lineTo(w, h * 0.7483);
  7683. // c.lineTo(w * 0.5041, h);
  7684. // c.close();
  7685. // c.moveTo(w * 0.752, h * 0.1853);
  7686. // c.lineTo(w * 0.8821, h * 0.2517);
  7687. // c.lineTo(w * 0.752, h * 0.3217);
  7688. // c.close();
  7689. // c.fill();
  7690. //
  7691. // c.restore();
  7692. // c.setLineJoin('round');
  7693. //
  7694. // c.begin();
  7695. // c.moveTo(0, h * 0.2517);
  7696. // c.lineTo(w * 0.5041, h * 0.4965);
  7697. // c.lineTo(w * 0.5041, h * 0.6294);
  7698. // c.lineTo(0, h * 0.3776);
  7699. // c.close();
  7700. // c.moveTo(0, h * 0.4406);
  7701. // c.lineTo(w * 0.5041, h * 0.6853);
  7702. // c.lineTo(w * 0.5041, h * 0.8112);
  7703. // c.lineTo(0, h * 0.5629);
  7704. // c.close();
  7705. // c.moveTo(0, h * 0.6294);
  7706. // c.lineTo(w * 0.5041, h * 0.8741);
  7707. // c.lineTo(w * 0.5041, h);
  7708. // c.lineTo(0, h * 0.7483);
  7709. // c.close();
  7710. // c.moveTo(w * 0.5041, h * 0.4965);
  7711. // c.lineTo(w, h * 0.2517);
  7712. // c.lineTo(w, h * 0.3741);
  7713. // c.lineTo(w * 0.5041, h * 0.6294);
  7714. // c.close();
  7715. // c.moveTo(w * 0.5041, h * 0.6853);
  7716. // c.lineTo(w, h * 0.4406);
  7717. // c.lineTo(w, h * 0.5629);
  7718. // c.lineTo(w * 0.5041, h * 0.8112);
  7719. // c.close();
  7720. // c.moveTo(w * 0.5041, h * 0.8741);
  7721. // c.lineTo(w, h * 0.6294);
  7722. // c.lineTo(w, h * 0.7483);
  7723. // c.lineTo(w * 0.5041, h);
  7724. // c.close();
  7725. // c.stroke();
  7726. //
  7727. // c.setStrokeWidth(2 * strokeWidth);
  7728. // c.setLineCap('round');
  7729. // var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000');
  7730. // c.setFillColor(strokeColor);
  7731. //
  7732. // c.begin();
  7733. // c.moveTo(w * 0.222, h * 0.2028);
  7734. // c.arcTo(w * 0.1463, h * 0.1259, 0, 0, 1, w * 0.3154, h * 0.2014);
  7735. // c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3642, h * 0.2245);
  7736. // c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.3618, h * 0.2552);
  7737. // c.arcTo(w * 0.122, h * 0.1049, 0, 0, 1, w * 0.3252, h * 0.2798);
  7738. // c.arcTo(w * 0.1626, h * 0.1399, 0, 0, 1, w * 0.2276, h * 0.2797);
  7739. // c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.187, h * 0.2622);
  7740. // c.arcTo(w * 0.0325, h * 0.028, 0, 0, 1, w * 0.187, h * 0.2238);
  7741. // c.arcTo(w * 0.0976, h * 0.0839, 0, 0, 1, w * 0.222, h * 0.2028);
  7742. // c.close();
  7743. // c.moveTo(w * 0.3618, h * 0.1434);
  7744. // c.lineTo(w * 0.4309, h * 0.1189);
  7745. // c.lineTo(w * 0.4309, h * 0.0755);
  7746. // c.lineTo(w * 0.4992, h * 0.1014);
  7747. // c.lineTo(w * 0.5813, h * 0.0874);
  7748. // c.lineTo(w * 0.5488, h * 0.1294);
  7749. // c.lineTo(w * 0.6057, h * 0.1608);
  7750. // c.lineTo(w * 0.5163, h * 0.1608);
  7751. // c.lineTo(w * 0.4634, h * 0.2028);
  7752. // c.lineTo(w * 0.4431, h * 0.1538);
  7753. // c.close();
  7754. // c.moveTo(w * 0.3821, h * 0.3601);
  7755. // c.lineTo(w * 0.5894, h * 0.3322);
  7756. // c.lineTo(w * 0.5325, h * 0.4394);
  7757. // c.close();
  7758. // c.fill();
  7759. //
  7760. // c.setStrokeColor('#292929');
  7761. // c.setLineJoin('round');
  7762. //
  7763. // c.begin();
  7764. // c.moveTo(0, h * 0.7483);
  7765. // c.lineTo(0, h * 0.6294);
  7766. // c.lineTo(w * 0.061, h * 0.5944);
  7767. // c.lineTo(0, h * 0.563);
  7768. // c.lineTo(0, h * 0.4406);
  7769. // c.lineTo(w * 0.061, h * 0.4091);
  7770. // c.lineTo(0, h * 0.3776);
  7771. // c.lineTo(0, h * 0.2517);
  7772. // c.lineTo(w * 0.5041, 0);
  7773. // c.lineTo(w, h * 0.2483);
  7774. // c.lineTo(w, h * 0.3741);
  7775. // c.lineTo(w * 0.939, h * 0.4091);
  7776. // c.lineTo(w, h * 0.4406);
  7777. // c.lineTo(w, h * 0.563);
  7778. // c.lineTo(w * 0.939, h * 0.5944);
  7779. // c.lineTo(w, h * 0.6294);
  7780. // c.lineTo(w, h * 0.751);
  7781. // c.lineTo(w * 0.5041, h);
  7782. // c.close();
  7783. // c.stroke();
  7784. //};
  7785. //
  7786. //mxCellRenderer.registerShape(mxShapeAws3dElasticache.prototype.cst.ELASTICACHE, mxShapeAws3dElasticache);
  7787. //**********************************************************************************************************************************************************
  7788. //Kinesis Stream
  7789. //**********************************************************************************************************************************************************
  7790. /**
  7791. * Extends mxShape.
  7792. */
  7793. //function mxShapeAws3dKinesisStream(bounds, fill, stroke, strokewidth)
  7794. //{
  7795. // mxShape.call(this);
  7796. // this.bounds = bounds;
  7797. // this.fill = fill;
  7798. // this.stroke = stroke;
  7799. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  7800. //};
  7801. //
  7802. ///**
  7803. //* Extends mxShape.
  7804. //*/
  7805. //mxUtils.extend(mxShapeAws3dKinesisStream, mxShape);
  7806. //
  7807. //mxShapeAws3dKinesisStream.prototype.cst = {
  7808. // KINESIS_STREAM : 'mxgraph.aws3d.kinesisStream',
  7809. // SHADING_COLORS : 'shadingCols'
  7810. //};
  7811. //
  7812. ///**
  7813. //* Function: paintVertexShape
  7814. //*
  7815. //* Paints the vertex shape.
  7816. //*/
  7817. //mxShapeAws3dKinesisStream.prototype.paintVertexShape = function(c, x, y, w, h)
  7818. //{
  7819. // c.translate(x, y);
  7820. //
  7821. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  7822. // var strokeWidth1 = strokeWidth * w / 220;
  7823. // var strokeWidth2 = strokeWidth * h / 160;
  7824. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  7825. //
  7826. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  7827. //
  7828. // c.setStrokeWidth(strokeWidth);
  7829. // c.setShadow(false);
  7830. // c.save();
  7831. // c.save();
  7832. // c.setStrokeWidth(2 * strokeWidth);
  7833. // c.setStrokeColor('#292929');
  7834. // c.setLineJoin('round');
  7835. //
  7836. // if(isShadow == 1)
  7837. // {
  7838. // c.setShadow(true);
  7839. // }
  7840. //
  7841. // c.begin();
  7842. // c.moveTo(0, h * 0.5503);
  7843. // c.lineTo(w * 0.0455, h * 0.4623);
  7844. // c.lineTo(w * 0.6054, h * 0.0157);
  7845. // c.lineTo(w * 0.6623, h * 0.0629);
  7846. // c.lineTo(w * 0.7396, 0);
  7847. // c.lineTo(w * 0.8239, h * 0.0692);
  7848. // c.lineTo(w * 0.8671, h * 0.2233);
  7849. // c.lineTo(w * 0.9513, h * 0.2943);
  7850. // c.lineTo(w, h * 0.4528);
  7851. // c.lineTo(w * 0.9595, h * 0.5365);
  7852. // c.lineTo(w * 0.396, h * 0.9843);
  7853. // c.lineTo(w * 0.3391, h * 0.9403);
  7854. // c.lineTo(w * 0.2617, h);
  7855. // c.lineTo(w * 0.173, h * 0.9308);
  7856. // c.lineTo(w * 0.1297, h * 0.7736);
  7857. // c.lineTo(w * 0.0432, h * 0.7044);
  7858. // c.close();
  7859. // c.fillAndStroke();
  7860. //
  7861. // c.restore();
  7862. // c.setFillColor('#000000');
  7863. //
  7864. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dKinesisStream.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  7865. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  7866. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  7867. //
  7868. // c.begin();
  7869. // c.moveTo(w * 0.0432, h * 0.4654);
  7870. // c.lineTo(w * 0.132, h * 0.5314);
  7871. // c.lineTo(w * 0.1775, h * 0.4465);
  7872. // c.lineTo(w * 0.264, h * 0.5189);
  7873. // c.lineTo(w * 0.3072, h * 0.673);
  7874. // c.lineTo(w * 0.396, h * 0.7453);
  7875. // c.lineTo(w * 0.4392, h * 0.8994);
  7876. // c.lineTo(w * 0.396, h * 0.9843);
  7877. // c.lineTo(w * 0.305, h * 0.9151);
  7878. // c.lineTo(w * 0.2617, h);
  7879. // c.lineTo(w * 0.173, h * 0.9308);
  7880. // c.lineTo(w * 0.1297, h * 0.7736);
  7881. // c.lineTo(w * 0.0432, h * 0.7044);
  7882. // c.lineTo(0, h * 0.5503);
  7883. // c.close();
  7884. // c.fill();
  7885. //
  7886. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  7887. // c.begin();
  7888. // c.moveTo(w * 0.264, h * 0.5204);
  7889. // c.lineTo(w * 0.8239, h * 0.0676);
  7890. // c.lineTo(w * 0.8694, h * 0.228);
  7891. // c.lineTo(w * 0.3072, h * 0.673);
  7892. // c.close();
  7893. // c.moveTo(w * 0.3937, h * 0.7453);
  7894. // c.lineTo(w * 0.9536, h * 0.2956);
  7895. // c.lineTo(w, h * 0.4528);
  7896. // c.lineTo(w * 0.9558, h * 0.5377);
  7897. // c.lineTo(w * 0.396, h * 0.9843);
  7898. // c.lineTo(w * 0.4392, h * 0.8994);
  7899. // c.close();
  7900. // c.moveTo(w * 0.2617, h);
  7901. // c.lineTo(w * 0.305, h * 0.9151);
  7902. // c.lineTo(w * 0.3368, h * 0.9403);
  7903. // c.close();
  7904. // c.fill();
  7905. //
  7906. // c.setAlpha('0.5');
  7907. // c.begin();
  7908. // c.moveTo(w * 0.0546, h * 0.5094);
  7909. // c.lineTo(w * 0.1161, h * 0.5597);
  7910. // c.lineTo(w * 0.1479, h * 0.6761);
  7911. // c.lineTo(w * 0.1183, h * 0.7264);
  7912. // c.lineTo(w * 0.0569, h * 0.6792);
  7913. // c.lineTo(w * 0.025, h * 0.566);
  7914. // c.close();
  7915. // c.moveTo(w * 0.1889, h * 0.4937);
  7916. // c.lineTo(w * 0.2503, h * 0.544);
  7917. // c.lineTo(w * 0.2822, h * 0.6572);
  7918. // c.lineTo(w * 0.2526, h * 0.717);
  7919. // c.lineTo(w * 0.1934, h * 0.6667);
  7920. // c.lineTo(w * 0.1593, h * 0.5566);
  7921. // c.close();
  7922. // c.moveTo(w * 0.3195, h * 0.7201);
  7923. // c.lineTo(w * 0.3801, h * 0.7704);
  7924. // c.lineTo(w * 0.4137, h * 0.8805);
  7925. // c.lineTo(w * 0.3819, h * 0.9403);
  7926. // c.lineTo(w * 0.3209, h * 0.8912);
  7927. // c.lineTo(w * 0.2904, h * 0.783);
  7928. // c.close();
  7929. // c.moveTo(w * 0.1866, h * 0.7358);
  7930. // c.lineTo(w * 0.2458, h * 0.783);
  7931. // c.lineTo(w * 0.2776, h * 0.8962);
  7932. // c.lineTo(w * 0.2481, h * 0.956);
  7933. // c.lineTo(w * 0.1866, h * 0.9057);
  7934. // c.lineTo(w * 0.157, h * 0.7893);
  7935. // c.close();
  7936. // c.fill();
  7937. //
  7938. // c.restore();
  7939. // c.setLineJoin('round');
  7940. //
  7941. // c.begin();
  7942. // c.moveTo(w * 0.0432, h * 0.4654);
  7943. // c.lineTo(w * 0.132, h * 0.5314);
  7944. // c.lineTo(w * 0.1775, h * 0.4465);
  7945. // c.lineTo(w * 0.264, h * 0.5189);
  7946. // c.lineTo(w * 0.3072, h * 0.673);
  7947. // c.lineTo(w * 0.396, h * 0.7453);
  7948. // c.lineTo(w * 0.4392, h * 0.8994);
  7949. // c.lineTo(w * 0.396, h * 0.9843);
  7950. // c.lineTo(w * 0.305, h * 0.9151);
  7951. // c.lineTo(w * 0.2617, h);
  7952. // c.lineTo(w * 0.173, h * 0.9308);
  7953. // c.lineTo(w * 0.1297, h * 0.7736);
  7954. // c.lineTo(w * 0.0432, h * 0.7044);
  7955. // c.lineTo(0, h * 0.5503);
  7956. // c.close();
  7957. // c.moveTo(w * 0.264, h * 0.5204);
  7958. // c.lineTo(w * 0.8239, h * 0.0676);
  7959. // c.lineTo(w * 0.8694, h * 0.228);
  7960. // c.lineTo(w * 0.3072, h * 0.673);
  7961. // c.close();
  7962. // c.moveTo(w * 0.3937, h * 0.7453);
  7963. // c.lineTo(w * 0.9536, h * 0.2956);
  7964. // c.lineTo(w, h * 0.4528);
  7965. // c.lineTo(w * 0.9558, h * 0.5377);
  7966. // c.lineTo(w * 0.396, h * 0.9843);
  7967. // c.lineTo(w * 0.4392, h * 0.8994);
  7968. // c.close();
  7969. // c.moveTo(w * 0.2617, h);
  7970. // c.lineTo(w * 0.305, h * 0.9151);
  7971. // c.lineTo(w * 0.3368, h * 0.9403);
  7972. // c.close();
  7973. // c.moveTo(w * 0.0546, h * 0.5094);
  7974. // c.lineTo(w * 0.1161, h * 0.5597);
  7975. // c.lineTo(w * 0.1479, h * 0.6761);
  7976. // c.lineTo(w * 0.1183, h * 0.7264);
  7977. // c.lineTo(w * 0.0569, h * 0.6792);
  7978. // c.lineTo(w * 0.025, h * 0.566);
  7979. // c.close();
  7980. // c.moveTo(w * 0.1889, h * 0.4937);
  7981. // c.lineTo(w * 0.2503, h * 0.544);
  7982. // c.lineTo(w * 0.2822, h * 0.6572);
  7983. // c.lineTo(w * 0.2526, h * 0.717);
  7984. // c.lineTo(w * 0.1934, h * 0.6667);
  7985. // c.lineTo(w * 0.1593, h * 0.5566);
  7986. // c.close();
  7987. // c.moveTo(w * 0.3195, h * 0.7201);
  7988. // c.lineTo(w * 0.3801, h * 0.7704);
  7989. // c.lineTo(w * 0.4137, h * 0.8805);
  7990. // c.lineTo(w * 0.3819, h * 0.9403);
  7991. // c.lineTo(w * 0.3209, h * 0.8912);
  7992. // c.lineTo(w * 0.2904, h * 0.783);
  7993. // c.close();
  7994. // c.moveTo(w * 0.1866, h * 0.7358);
  7995. // c.lineTo(w * 0.2458, h * 0.783);
  7996. // c.lineTo(w * 0.2776, h * 0.8962);
  7997. // c.lineTo(w * 0.2481, h * 0.956);
  7998. // c.lineTo(w * 0.1866, h * 0.9057);
  7999. // c.lineTo(w * 0.157, h * 0.7893);
  8000. // c.close();
  8001. // c.moveTo(w * 0.1775, h * 0.4465);
  8002. // c.lineTo(w * 0.7374, 0);
  8003. // c.moveTo(w * 0.4392, h * 0.8994);
  8004. // c.lineTo(w, h * 0.4528);
  8005. // c.moveTo(w * 0.1331, h * 0.533);
  8006. // c.lineTo(w * 0.1809, h * 0.6934);
  8007. // c.lineTo(w * 0.2617, h * 0.7626);
  8008. // c.lineTo(w * 0.3061, h * 0.9151);
  8009. // c.moveTo(w * 0.1295, h * 0.7764);
  8010. // c.lineTo(w * 0.1807, h * 0.6928);
  8011. // c.moveTo(w * 0.264, h * 0.7642);
  8012. // c.lineTo(w * 0.3095, h * 0.673);
  8013. // c.moveTo(w * 0.3641, h * 0.2327);
  8014. // c.lineTo(w * 0.3241, h * 0.2673);
  8015. // c.lineTo(w * 0.3619, h * 0.2987);
  8016. // c.moveTo(w * 0.3468, h * 0.2736);
  8017. // c.lineTo(w * 0.3596, h * 0.261);
  8018. // c.moveTo(w * 0.3573, h * 0.283);
  8019. // c.lineTo(w * 0.3823, h * 0.261);
  8020. // c.moveTo(w * 0.4916, h * 0.217);
  8021. // c.lineTo(w * 0.4483, h * 0.2547);
  8022. // c.lineTo(w * 0.5052, h * 0.3019);
  8023. // c.moveTo(w * 0.4679, h * 0.2591);
  8024. // c.lineTo(w * 0.4802, h * 0.2478);
  8025. // c.moveTo(w * 0.4811, h * 0.2673);
  8026. // c.lineTo(w * 0.5098, h * 0.2421);
  8027. // c.moveTo(w * 0.4939, h * 0.2767);
  8028. // c.lineTo(w * 0.5121, h * 0.261);
  8029. // c.moveTo(w * 0.5043, h * 0.2868);
  8030. // c.lineTo(w * 0.5371, h * 0.2579);
  8031. // c.moveTo(w * 0.6259, h * 0.4371);
  8032. // c.lineTo(w * 0.5826, h * 0.4717);
  8033. // c.lineTo(w * 0.6418, h * 0.522);
  8034. // c.moveTo(w * 0.6039, h * 0.4755);
  8035. // c.lineTo(w * 0.6187, h * 0.463);
  8036. // c.moveTo(w * 0.6158, h * 0.4862);
  8037. // c.lineTo(w * 0.6418, h * 0.4623);
  8038. // c.moveTo(w * 0.6281, h * 0.4969);
  8039. // c.lineTo(w * 0.6486, h * 0.478);
  8040. // c.moveTo(w * 0.6395, h * 0.5063);
  8041. // c.lineTo(w * 0.6736, h * 0.478);
  8042. //
  8043. // c.stroke();
  8044. //
  8045. // c.setStrokeWidth(2 * strokeWidth);
  8046. // c.setLineCap('round');
  8047. //
  8048. // c.setStrokeColor('#292929');
  8049. // c.setLineJoin('round');
  8050. //
  8051. // c.begin();
  8052. // c.moveTo(0, h * 0.5503);
  8053. // c.lineTo(w * 0.0455, h * 0.4623);
  8054. // c.lineTo(w * 0.6054, h * 0.0157);
  8055. // c.lineTo(w * 0.6623, h * 0.0629);
  8056. // c.lineTo(w * 0.7396, 0);
  8057. // c.lineTo(w * 0.8239, h * 0.0692);
  8058. // c.lineTo(w * 0.8671, h * 0.2233);
  8059. // c.lineTo(w * 0.9513, h * 0.2943);
  8060. // c.lineTo(w, h * 0.4528);
  8061. // c.lineTo(w * 0.9595, h * 0.5365);
  8062. // c.lineTo(w * 0.396, h * 0.9843);
  8063. // c.lineTo(w * 0.3391, h * 0.9403);
  8064. // c.lineTo(w * 0.2617, h);
  8065. // c.lineTo(w * 0.173, h * 0.9308);
  8066. // c.lineTo(w * 0.1297, h * 0.7736);
  8067. // c.lineTo(w * 0.0432, h * 0.7044);
  8068. // c.close();
  8069. // c.stroke();
  8070. //};
  8071. //
  8072. //mxCellRenderer.registerShape(mxShapeAws3dKinesisStream.prototype.cst.KINESIS_STREAM, mxShapeAws3dKinesisStream);
  8073. //**********************************************************************************************************************************************************
  8074. //SQS 2
  8075. //**********************************************************************************************************************************************************
  8076. ///**
  8077. //* Extends mxShape.
  8078. //*/
  8079. //function mxShapeAws3dSqs2(bounds, fill, stroke, strokewidth)
  8080. //{
  8081. // mxShape.call(this);
  8082. // this.bounds = bounds;
  8083. // this.fill = fill;
  8084. // this.stroke = stroke;
  8085. // this.strokewidth = (strokewidth != null) ? strokewidth : 1;
  8086. //};
  8087. //
  8088. ///**
  8089. //* Extends mxShape.
  8090. //*/
  8091. //mxUtils.extend(mxShapeAws3dSqs2, mxShape);
  8092. //
  8093. //mxShapeAws3dSqs2.prototype.cst = {
  8094. // SQS2 : 'mxgraph.aws3d.sqs2',
  8095. // SHADING_COLORS : 'shadingCols'
  8096. //};
  8097. //
  8098. ///**
  8099. //* Function: paintVertexShape
  8100. //*
  8101. //* Paints the vertex shape.
  8102. //*/
  8103. //mxShapeAws3dSqs2.prototype.paintVertexShape = function(c, x, y, w, h)
  8104. //{
  8105. // c.translate(x, y);
  8106. //
  8107. // var strokeWidth = parseFloat(mxUtils.getValue(this.state.style, 'strokeWidth', '1'));
  8108. // var strokeWidth1 = strokeWidth * w / 160;
  8109. // var strokeWidth2 = strokeWidth * h / 93;
  8110. // var isShadow = parseFloat(mxUtils.getValue(this.state.style, 'shadow', '0'));
  8111. //
  8112. // strokeWidth = Math.min(strokeWidth1, strokeWidth2);
  8113. //
  8114. // c.setStrokeWidth(strokeWidth);
  8115. // c.setShadow(false);
  8116. // c.save();
  8117. // c.save();
  8118. // c.setStrokeWidth(2 * strokeWidth);
  8119. // c.setStrokeColor('#292929');
  8120. // c.setLineJoin('round');
  8121. //
  8122. // if(isShadow == 1)
  8123. // {
  8124. // c.setShadow(true);
  8125. // }
  8126. //
  8127. // c.begin();
  8128. // c.moveTo(0, h * 0.4737);
  8129. // c.lineTo(w * 0.4652, 0);
  8130. // c.lineTo(w * 0.6231, h * 0.0602);
  8131. // c.lineTo(w * 0.6231, h * 0.1676);
  8132. // c.lineTo(w * 0.1567, h * 0.6316);
  8133. // c.close();
  8134. // c.moveTo(w * 0.3756, h * 0.8443);
  8135. // c.lineTo(w * 0.3756, h * 0.7454);
  8136. // c.lineTo(w * 0.8439, h * 0.275);
  8137. // c.lineTo(w, h * 0.5328);
  8138. // c.lineTo(w * 0.5311, h);
  8139. // c.close();
  8140. // c.fillAndStroke();
  8141. //
  8142. // c.restore();
  8143. // c.setFillColor('#000000');
  8144. //
  8145. // var shading = mxUtils.getValue(this.state.style, mxShapeAws3dSqs2.prototype.cst.SHADING_COLORS, '0.1,0.3').toString().split(',');
  8146. // var flipH = mxUtils.getValue(this.state.style, 'flipH', '0');
  8147. // (flipH == '0') ? c.setAlpha(shading[0]) : c.setAlpha(shading[1]);
  8148. //
  8149. // c.begin();
  8150. // c.moveTo(0, h * 0.4737);
  8151. // c.lineTo(w * 0.1567, h * 0.5274);
  8152. // c.lineTo(w * 0.1567, h * 0.6394);
  8153. // c.close();
  8154. // c.moveTo(w * 0.3756, h * 0.7454);
  8155. // c.lineTo(w * 0.5311, h);
  8156. // c.lineTo(w * 0.3756, h * 0.8443);
  8157. // c.close();
  8158. // c.fill();
  8159. //
  8160. // (flipH == '0') ? c.setAlpha(shading[1]) : c.setAlpha(shading[0]);
  8161. // c.begin();
  8162. // c.moveTo(w * 0.1567, h * 0.5274);
  8163. // c.lineTo(w * 0.6231, h * 0.0602);
  8164. // c.lineTo(w * 0.6231, h * 0.1676);
  8165. // c.lineTo(w * 0.1567, h * 0.6294);
  8166. // c.close();
  8167. // c.fill();
  8168. //
  8169. // c.restore();
  8170. // c.setLineJoin('round');
  8171. //
  8172. // c.begin();
  8173. // c.moveTo(0, h * 0.4737);
  8174. // c.lineTo(w * 0.1567, h * 0.5274);
  8175. // c.lineTo(w * 0.1567, h * 0.6294);
  8176. // c.close();
  8177. // c.moveTo(w * 0.3756, h * 0.7454);
  8178. // c.lineTo(w * 0.5311, h);
  8179. // c.lineTo(w * 0.3756, h * 0.8443);
  8180. // c.close();
  8181. // c.moveTo(w * 0.1567, h * 0.5274);
  8182. // c.lineTo(w * 0.6231, h * 0.0602);
  8183. // c.lineTo(w * 0.6231, h * 0.1676);
  8184. // c.lineTo(w * 0.1567, h * 0.6294);
  8185. // c.close();
  8186. // c.stroke();
  8187. //
  8188. // c.setStrokeWidth(2 * strokeWidth);
  8189. // c.setLineCap('round');
  8190. //
  8191. // c.setStrokeColor('#292929');
  8192. // c.setLineJoin('round');
  8193. //
  8194. // c.begin();
  8195. // c.moveTo(0, h * 0.4737);
  8196. // c.lineTo(w * 0.4652, 0);
  8197. // c.lineTo(w * 0.6231, h * 0.0602);
  8198. // c.lineTo(w * 0.6231, h * 0.1676);
  8199. // c.lineTo(w * 0.1567, h * 0.6316);
  8200. // c.close();
  8201. // c.moveTo(w * 0.3756, h * 0.8443);
  8202. // c.lineTo(w * 0.3756, h * 0.7454);
  8203. // c.lineTo(w * 0.8439, h * 0.275);
  8204. // c.lineTo(w, h * 0.5328);
  8205. // c.lineTo(w * 0.5311, h);
  8206. // c.close();
  8207. // c.stroke();
  8208. //
  8209. // c.setFillColor('#F4B934');
  8210. //
  8211. // c.begin();
  8212. // c.moveTo(w * 0.1256, h * 0.812);
  8213. // c.lineTo(w * 0.24, h * 0.7605);
  8214. // c.lineTo(w * 0.1853, h * 0.8829);
  8215. // c.close();
  8216. // c.moveTo(w * 0.2417, h * 0.6957);
  8217. // c.lineTo(w * 0.3562, h * 0.6441);
  8218. // c.lineTo(w * 0.3014, h * 0.7666);
  8219. // c.close();
  8220. // c.moveTo(w * 0.3588, h * 0.5793);
  8221. // c.lineTo(w * 0.4733, h * 0.5277);
  8222. // c.lineTo(w * 0.4185, h * 0.6502);
  8223. // c.close();
  8224. // c.moveTo(w * 0.477, h * 0.4611);
  8225. // c.lineTo(w * 0.5914, h * 0.4096);
  8226. // c.lineTo(w * 0.5367, h * 0.532);
  8227. // c.close();
  8228. // c.moveTo(w * 0.591, h * 0.343);
  8229. // c.lineTo(w * 0.7054, h * 0.2914);
  8230. // c.lineTo(w * 0.6507, h * 0.4139);
  8231. // c.close();
  8232. // c.moveTo(w * 0.7091, h * 0.2302);
  8233. // c.lineTo(w * 0.8236, h * 0.1786);
  8234. // c.lineTo(w * 0.7688, h * 0.3011);
  8235. // c.close();
  8236. // c.fillAndStroke();
  8237. //};
  8238. //
  8239. //mxCellRenderer.registerShape(mxShapeAws3dSqs2.prototype.cst.SQS2, mxShapeAws3dSqs2);