123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256 |
- /**
- * $Id: mxArchiMate3.js,v 1.0 2016/08/18 07:05:39 mate Exp $
- * Copyright (c) 2006-2016, JGraph Ltd
- */
- //**********************************************************************************************************************************************************
- //Application
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Application(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Application, mxShape);
- mxArchiMate3Application.prototype.cst = {
- APPLICATION : 'mxgraph.archimate3.application',
- TYPE : 'appType',
- COMPONENT : 'comp',
- COLLABORATION : 'collab',
- INTERFACE : 'interface',
- INTERFACE2 : 'interface2',
- FUNCTION : 'func',
- INTERACTION : 'interaction',
- SERVICE : 'serv',
- EVENT : 'event',
- EVENT2 : 'event2',
- NODE : 'node',
- NETWORK : 'netw',
- COMM_PATH : 'commPath',
- ACTOR : 'actor',
- ASSESSMENT : 'assess',
- GOAL : 'goal',
- OUTCOME : 'outcome',
- ROLE : 'role',
- PROCESS : 'proc',
- DRIVER : 'driver',
- PRINCIPLE : 'principle',
- REQUIREMENT : 'requirement',
- CONSTRAINT : 'constraint',
- RESOURCE : 'resource',
- CAPABILITY : 'capability',
- COURSE : 'course',
- MATERIAL : 'material',
- DISTRIBUTION : 'distribution',
- SYS_SW : 'sysSw',
- ARTIFACT : 'artifact',
- PATH : 'path',
- ARCHI_TYPE : 'archiType',
- TYPE_SQUARE : 'square',
- TYPE_ROUNDED : 'rounded',
- TYPE_OCT : 'oct'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Application.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- c.translate(w - 20, 5);
- this.foreground(c, w - 20, 5, 15, 15);
- };
- mxArchiMate3Application.prototype.background = function(c, x, y, w, h)
- {
- var archiType = mxUtils.getValue(this.style, mxArchiMate3Application.prototype.cst.ARCHI_TYPE, 'square');
- if (archiType === 'rounded')
- {
- c.roundrect(0, 0, w, h, 10, 10);
- }
- else if ((archiType === 'oct') && w >= 20 && h >= 20)
- {
- c.begin();
- c.moveTo(0, 10);
- c.lineTo(10, 0);
- c.lineTo(w - 10, 0);
- c.lineTo(w, 10);
- c.lineTo(w, h - 10);
- c.lineTo(w - 10, h);
- c.lineTo(10, h);
- c.lineTo(0, h - 10);
- c.close();
- c.fillAndStroke();
- }
- else
- {
- c.rect(0, 0, w, h);
- }
- c.fillAndStroke();
- };
- mxArchiMate3Application.prototype.foreground = function(c, x, y, w, h)
- {
- var type = mxUtils.getValue(this.style, mxArchiMate3Application.prototype.cst.TYPE, '');
-
- c.setDashed(false);
-
- if (type === mxArchiMate3Application.prototype.cst.COMPONENT)
- {
- c.translate(1, 0);
- w = w - 2;
- mxArchiMate3Component.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.COLLABORATION)
- {
- c.translate(0, 3);
- h = h - 6;
-
- mxArchiMate3Collaboration.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.INTERFACE)
- {
- c.translate(0, 4);
- h = h - 8;
-
- mxArchiMate3Interface.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.INTERFACE2)
- {
- c.translate(0, 1);
- h = h - 2;
-
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w * 0.6, h * 0.5);
- c.moveTo(w, 0);
- c.arcTo(w * 0.4, h * 0.5, 0, 0, 0, w, h);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.FUNCTION)
- {
- mxArchiMate3Function.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.INTERACTION)
- {
- mxArchiMate3Interaction.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.SERVICE)
- {
- c.translate(0, 3);
- h = h - 6;
-
- mxArchiMate3Service.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.EVENT)
- {
- c.translate(0, 3);
- h = h - 6;
-
- mxArchiMate3Event.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.EVENT2)
- {
- c.translate(0, 3);
- h = h - 6;
-
- mxArchiMate3Event2.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.NODE)
- {
- mxArchiMate3Node.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.NETWORK)
- {
- c.translate(0, 2);
- h = h - 4;
-
- c.begin();
- c.moveTo(w * 0.4, h * 0.2);
- c.lineTo(w * 0.85, h * 0.2);
- c.lineTo(w * 0.6, h * 0.8);
- c.lineTo(w * 0.15, h * 0.8);
- c.close();
- c.stroke();
-
- var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000');
- c.setFillColor(strokeColor);
-
- c.ellipse(w * 0.25, 0, w * 0.3, h * 0.4);
- c.fill();
-
- c.ellipse(w * 0.7, 0, w * 0.3, h * 0.4);
- c.fill();
-
- c.ellipse(0, h * 0.6, w * 0.3, h * 0.4);
- c.fill();
-
- c.ellipse(w * 0.45, h * 0.6, w * 0.3, h * 0.4);
- c.fill();
- }
- else if (type === mxArchiMate3Application.prototype.cst.COMM_PATH)
- {
- c.translate(0, 5);
- h = h - 10;
-
- c.begin();
- c.moveTo(w * 0.1, 0);
- c.lineTo(0, h * 0.5);
- c.lineTo(w * 0.1, h);
- c.moveTo(w * 0.9, 0);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.9, h);
- c.stroke();
-
- c.setDashed(true);
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w, h * 0.5);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.ARTIFACT)
- {
- c.translate(2, 0);
- w = w - 4;
- c.begin();
- c.moveTo(0, 0);
- c.lineTo(w * 0.7, 0);
- c.lineTo(w, h * 0.22);
- c.lineTo(w, h);
- c.lineTo(0, h);
- c.close();
- c.moveTo(w * 0.7, 0);
- c.lineTo(w * 0.7, h * 0.22);
- c.lineTo(w, h * 0.22);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.ACTOR)
- {
- c.translate(3, 0);
- w = w - 6;
-
- mxArchiMate3Actor.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.ROLE)
- {
- c.translate(0, 4);
- h = h - 8;
- mxArchiMate3Role.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.PROCESS)
- {
- c.translate(0, 3);
- h = h - 6;
- mxArchiMate3Process.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.DRIVER)
- {
- c.ellipse(w * 0.1, h * 0.1, w * 0.8, h * 0.8);
- c.stroke();
-
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w, h * 0.5);
- c.moveTo(w * 0.5, 0);
- c.lineTo(w * 0.5, h);
- c.moveTo(w * 0.145, h * 0.145);
- c.lineTo(w * 0.855, h * 0.855);
- c.moveTo(w * 0.145, h * 0.855);
- c.lineTo(w * 0.855, h * 0.145);
- c.stroke();
-
- var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000');
- c.setFillColor(strokeColor);
-
- c.ellipse(w * 0.35, h * 0.35, w * 0.3, h * 0.3);
- c.fillAndStroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.ASSESSMENT)
- {
- c.ellipse(w * 0.2, 0, w * 0.8, h * 0.8);
- c.stroke();
-
- c.begin();
- c.moveTo(0, h);
- c.lineTo(w * 0.32, h * 0.68);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.GOAL)
- {
- c.ellipse(0, 0, w, h);
- c.stroke();
- c.ellipse(w * 0.15, h * 0.15, w * 0.7, h * 0.7);
- c.stroke();
- var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000');
- c.setFillColor(strokeColor);
- c.ellipse(w * 0.3, h * 0.3, w * 0.4, h * 0.4);
- c.fillAndStroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.OUTCOME)
- {
- c.ellipse(0, w * 0.2, w * 0.8, h * 0.8);
- c.stroke();
- c.ellipse(w * 0.15, w * 0.35, w * 0.5, h * 0.5);
- c.stroke();
- c.ellipse(w * 0.3, w * 0.5, w * 0.2, h * 0.2);
- c.stroke();
-
- c.begin();
- c.moveTo(w * 0.4, h * 0.6);
- c.lineTo(w * 0.9, h * 0.1);
- c.moveTo(w * 0.42, h * 0.4);
- c.lineTo(w * 0.4, h * 0.6);
- c.lineTo(w * 0.6, h * 0.58);
- c.moveTo(w * 0.8, 0);
- c.lineTo(w * 0.75, h * 0.25);
- c.lineTo(w, h * 0.2);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.PRINCIPLE)
- {
- c.begin();
- c.moveTo(w * 0.05, h * 0.05);
- c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.05);
- c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.95, h * 0.95);
- c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.95);
- c.arcTo(w * 2.3, h * 2.3, 0, 0, 1, w * 0.05, h * 0.05);
- c.close();
- c.stroke();
-
- var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000');
- c.setFillColor(strokeColor);
-
- c.begin();
- c.moveTo(w * 0.45, h * 0.7);
- c.lineTo(w * 0.42, h * 0.15);
- c.lineTo(w * 0.58, h * 0.15);
- c.lineTo(w * 0.55, h * 0.7);
- c.close();
- c.fill();
-
- c.rect(w * 0.45, h * 0.75, w * 0.1, h * 0.1);
- c.fill();
- }
- else if (type === mxArchiMate3Application.prototype.cst.REQUIREMENT)
- {
- c.translate(0, 4);
- h = h - 8;
- mxArchiMate3Requirement.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.CONSTRAINT)
- {
- c.translate(0, 4);
- h = h - 8;
- mxArchiMate3Constraint.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.MATERIAL)
- {
- c.translate(0, 1);
- h = h - 2;
-
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w * 0.25, 0);
- c.lineTo(w * 0.75, 0);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.75, h);
- c.lineTo(w * 0.25, h);
- c.close();
- c.moveTo(w * 0.15, h * 0.5);
- c.lineTo(w * 0.31, h * 0.2);
- c.moveTo(w * 0.69, h * 0.2);
- c.lineTo(w * 0.85, h * 0.5);
- c.moveTo(w * 0.68, h * 0.80);
- c.lineTo(w * 0.32, h * 0.80);
- c.stroke();
- }
- else if (type === mxArchiMate3Application.prototype.cst.DISTRIBUTION)
- {
- c.translate(0, 4);
- h = h - 8;
-
- mxArchiMate3Distribution.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.RESOURCE)
- {
- c.translate(0, 1);
- h = h - 2;
-
- mxArchiMate3Resource.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.CAPABILITY)
- {
- mxArchiMate3Capability.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.COURSE)
- {
- mxArchiMate3Course.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.SYS_SW)
- {
- mxArchiMate3SysSw.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.ARTIFACT)
- {
- c.translate(2, 0);
- w = w - 4;
-
- mxArchiMate3Artifact.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Application.prototype.cst.PATH)
- {
- c.translate(0, 5);
- h = h - 10;
-
- mxArchiMate3Path.prototype.background(c, x, y, w, h);
- }
- };
- mxCellRenderer.registerShape(mxArchiMate3Application.prototype.cst.APPLICATION, mxArchiMate3Application);
- //**********************************************************************************************************************************************************
- //Component
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Component(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Component, mxShape);
- mxArchiMate3Component.prototype.cst = {
- COMPONENT : 'mxgraph.archimate3.component'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Component.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Component.prototype.background = function(c, x, y, w, h)
- {
- c.rect(w * 0.25, 0, w * 0.75, h);
- c.fillAndStroke();
-
- c.rect(0, h * 0.25, w * 0.5, h * 0.15);
- c.fillAndStroke();
-
- c.rect(0, h * 0.6, w * 0.5, h * 0.15);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Component.prototype.cst.COMPONENT, mxArchiMate3Component);
- //**********************************************************************************************************************************************************
- //Collaboration
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Collaboration(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Collaboration, mxShape);
- mxArchiMate3Collaboration.prototype.cst = {
- COLLABORATION : 'mxgraph.archimate3.collaboration'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Collaboration.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Collaboration.prototype.background = function(c, x, y, w, h)
- {
- c.ellipse(0, 0, w * 0.6, h);
- c.fillAndStroke();
- c.ellipse(w * 0.4, 0, w * 0.6, h);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Collaboration.prototype.cst.COLLABORATION, mxArchiMate3Collaboration);
- //**********************************************************************************************************************************************************
- //Interface
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Interface(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Interface, mxShape);
- mxArchiMate3Interface.prototype.cst = {
- INTERFACE : 'mxgraph.archimate3.interface'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Interface.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Interface.prototype.background = function(c, x, y, w, h)
- {
- c.ellipse(w * 0.5, 0, w * 0.5, h);
- c.fillAndStroke();
-
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w * 0.5, h * 0.5);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Interface.prototype.cst.INTERFACE, mxArchiMate3Interface);
- //**********************************************************************************************************************************************************
- //Process
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Process(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Process, mxShape);
- mxArchiMate3Process.prototype.cst = {
- PROCESS : 'mxgraph.archimate3.process'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Process.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Process.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, h * 0.3);
- c.lineTo(w * 0.6, h * 0.3);
- c.lineTo(w * 0.6, 0);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.6, h);
- c.lineTo(w * 0.6, h * 0.7);
- c.lineTo(0, h * 0.7);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Process.prototype.cst.PROCESS, mxArchiMate3Process);
- //**********************************************************************************************************************************************************
- //Function
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Function(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Function, mxShape);
- mxArchiMate3Function.prototype.cst = {
- FUNCTION : 'mxgraph.archimate3.function'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Function.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Function.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.5, 0);
- c.lineTo(w, h * 0.2);
- c.lineTo(w, h);
- c.lineTo(w * 0.5, h * 0.8);
- c.lineTo(0, h);
- c.lineTo(0, h * 0.2);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Function.prototype.cst.FUNCTION, mxArchiMate3Function);
- //**********************************************************************************************************************************************************
- //Interaction
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Interaction(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Interaction, mxShape);
- mxArchiMate3Interaction.prototype.cst = {
- INTERACTION : 'mxgraph.archimate3.interaction'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Interaction.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Interaction.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.55, 0);
- c.arcTo(w * 0.45, h * 0.5, 0, 0, 1, w * 0.55, h);
- c.close();
- c.moveTo(w * 0.45, 0);
- c.arcTo(w * 0.45, h * 0.5, 0, 0, 0, w * 0.45, h);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Interaction.prototype.cst.INTERACTION, mxArchiMate3Interaction);
- //**********************************************************************************************************************************************************
- //Service
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Service(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Service, mxShape);
- mxArchiMate3Service.prototype.cst = {
- SERVICE : 'mxgraph.archimate3.service'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Service.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Service.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w - h * 0.5, 0);
- c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h);
- c.lineTo(h * 0.5, h);
- c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, h * 0.5, 0);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Service.prototype.cst.SERVICE, mxArchiMate3Service);
- //**********************************************************************************************************************************************************
- //Requirement
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Requirement(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Requirement, mxShape);
- mxArchiMate3Requirement.prototype.cst = {
- REQUIREMENT : 'mxgraph.archimate3.requirement'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Requirement.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Requirement.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.25, 0);
- c.lineTo(w, 0);
- c.lineTo(w * 0.75, h);
- c.lineTo(0, h);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Requirement.prototype.cst.REQUIREMENT, mxArchiMate3Requirement);
- //**********************************************************************************************************************************************************
- //Constraint
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Constraint(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Constraint, mxShape);
- mxArchiMate3Constraint.prototype.cst = {
- CONSTRAINT : 'mxgraph.archimate3.constraint'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Constraint.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Constraint.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.25, 0);
- c.lineTo(w, 0);
- c.lineTo(w * 0.75, h);
- c.lineTo(0, h);
- c.close();
- c.moveTo(w * 0.45, 0);
- c.lineTo(w * 0.2, h);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Constraint.prototype.cst.CONSTRAINT, mxArchiMate3Constraint);
- //**********************************************************************************************************************************************************
- //Event
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Event(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Event, mxShape);
- mxArchiMate3Event.prototype.cst = {
- EVENT : 'mxgraph.archimate3.event'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Event.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Event.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w - h * 0.5, 0);
- c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h);
- c.lineTo(0, h);
- c.lineTo(h * 0.5, h * 0.5);
- c.lineTo(0, 0);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Event.prototype.cst.EVENT, mxArchiMate3Event);
- //**********************************************************************************************************************************************************
- //Event 2
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Event2(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Event2, mxShape);
- mxArchiMate3Event2.prototype.cst = {
- EVENT2 : 'mxgraph.archimate3.event2'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Event2.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Event2.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w - h * 0.5, 0);
- c.arcTo(h * 0.5, h * 0.5, 0, 0, 1, w - h * 0.5, h);
- c.lineTo(0, h);
- c.arcTo(h * 0.5, h * 0.5, 0, 0, 0, 0, 0);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Event2.prototype.cst.EVENT2, mxArchiMate3Event2);
- //**********************************************************************************************************************************************************
- //Actor
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Actor(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Actor, mxShape);
- mxArchiMate3Actor.prototype.cst = {
- ACTOR : 'mxgraph.archimate3.actor'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Actor.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Actor.prototype.background = function(c, x, y, w, h)
- {
- c.ellipse(w * 0.2, 0, w * 0.6, h * 0.3);
- c.fillAndStroke();
-
- c.begin();
- c.moveTo(w * 0.5, h * 0.3);
- c.lineTo(w * 0.5, h * 0.75);
- c.moveTo(0, h * 0.45);
- c.lineTo(w, h * 0.45);
- c.moveTo(0, h);
- c.lineTo(w * 0.5, h * 0.75);
- c.lineTo(w, h);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Actor.prototype.cst.ACTOR, mxArchiMate3Actor);
- //**********************************************************************************************************************************************************
- //Role
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Role(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Role, mxShape);
- mxArchiMate3Role.prototype.cst = {
- ROLE : 'mxgraph.archimate3.role'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Role.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Role.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.8, 0);
- c.lineTo(w * 0.2, 0);
- c.arcTo(w * 0.2, h * 0.5, 0, 0, 0, w * 0.2, h);
- c.lineTo(w * 0.8, h);
- c.fillAndStroke();
- c.ellipse(w * 0.6, 0, w * 0.4, h);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Role.prototype.cst.ROLE, mxArchiMate3Role);
- //**********************************************************************************************************************************************************
- //Business Object
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3BusinessObject(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3BusinessObject, mxShape);
- mxArchiMate3BusinessObject.prototype.cst = {
- BUSINESS_OBJECT : 'mxgraph.archimate3.businessObject'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3BusinessObject.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- this.foreground(c, 0, 0, w, h);
- };
- mxArchiMate3BusinessObject.prototype.background = function(c, x, y, w, h)
- {
- c.rect(0, 0, w, h);
- c.fillAndStroke();
- };
- mxArchiMate3BusinessObject.prototype.foreground = function(c, x, y, w, h)
- {
- if (h >= 15)
- {
- c.begin();
- c.moveTo(0, 15);
- c.lineTo(w, 15);
- c.stroke();
- }
- };
- mxCellRenderer.registerShape(mxArchiMate3BusinessObject.prototype.cst.BUSINESS_OBJECT, mxArchiMate3BusinessObject);
- //**********************************************************************************************************************************************************
- //Contract
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Contract(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Contract, mxShape);
- mxArchiMate3Contract.prototype.cst = {
- CONTRACT : 'mxgraph.archimate3.contract'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Contract.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- this.foreground(c, 0, 0, w, h);
- };
- mxArchiMate3Contract.prototype.background = function(c, x, y, w, h)
- {
- c.rect(0, 0, w, h);
- c.fillAndStroke();
- };
- mxArchiMate3Contract.prototype.foreground = function(c, x, y, w, h)
- {
- if (h >= 15)
- {
- c.begin();
- c.moveTo(0, 15);
- c.lineTo(w, 15);
- c.stroke();
- }
-
- if (h >= 30)
- {
- c.begin();
- c.moveTo(0, h - 15);
- c.lineTo(w, h - 15);
- c.stroke();
- }
- };
- mxCellRenderer.registerShape(mxArchiMate3Contract.prototype.cst.CONTRACT, mxArchiMate3Contract);
- //**********************************************************************************************************************************************************
- //Product
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Product(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Product, mxShape);
- mxArchiMate3Product.prototype.cst = {
- PRODUCT : 'mxgraph.archimate3.product'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Product.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- this.foreground(c, 0, 0, w, h);
- };
- mxArchiMate3Product.prototype.background = function(c, x, y, w, h)
- {
- c.rect(0, 0, w, h);
- c.fillAndStroke();
- };
- mxArchiMate3Product.prototype.foreground = function(c, x, y, w, h)
- {
- if (h >= 15)
- {
- c.begin();
- c.moveTo(0, 15);
- c.lineTo(w * 0.6, 15);
- c.lineTo(w * 0.6, 0);
- c.stroke();
- }
- };
- mxCellRenderer.registerShape(mxArchiMate3Product.prototype.cst.PRODUCT, mxArchiMate3Product);
- //**********************************************************************************************************************************************************
- //Representation
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Representation(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Representation, mxShape);
- mxArchiMate3Representation.prototype.cst = {
- REPRESENTATION : 'mxgraph.archimate3.representation'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Representation.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- };
- mxArchiMate3Representation.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, 0);
- c.lineTo(w, 0);
- c.lineTo(w, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85);
- c.close();
- c.fillAndStroke();
-
- if (h >= 20)
- c.begin();
- c.moveTo(0, 15);
- c.lineTo(w, 15);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Representation.prototype.cst.REPRESENTATION, mxArchiMate3Representation);
- //**********************************************************************************************************************************************************
- //Deliverable
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Deliverable(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Deliverable, mxShape);
- mxArchiMate3Deliverable.prototype.cst = {
- DELIVERABLE : 'mxgraph.archimate3.deliverable'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Deliverable.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- };
- mxArchiMate3Deliverable.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, 0);
- c.lineTo(w, 0);
- c.lineTo(w, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85);
- c.close();
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Deliverable.prototype.cst.DELIVERABLE, mxArchiMate3Deliverable);
- //**********************************************************************************************************************************************************
- //Location
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Location(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Location, mxShape);
- mxArchiMate3Location.prototype.cst = {
- LOCATION : 'mxgraph.archimate3.location'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Location.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- c.translate(w - 20, 5);
- this.foreground(c, w - 20, 5, 15, 15);
- };
- mxArchiMate3Location.prototype.background = function(c, x, y, w, h)
- {
- c.rect(0, 0, w, h);
- c.fillAndStroke();
- };
- mxArchiMate3Location.prototype.foreground = function(c, x, y, w, h)
- {
- c.setDashed(false);
-
- c.translate(3 ,0);
- w = w - 6;
- c.begin();
- c.moveTo(w * 0.5, h);
- c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.345, h * 0.7);
- c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.5, 0);
- c.arcTo(w * 0.538, h * 0.364, 0, 0, 1, w * 0.655, h * 0.7);
- c.arcTo(w * 0.1775, h * 0.3, 0, 0, 0, w * 0.5, h);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Location.prototype.cst.LOCATION, mxArchiMate3Location);
- //**********************************************************************************************************************************************************
- //Gap
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Gap(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Gap, mxShape);
- mxArchiMate3Gap.prototype.cst = {
- GAP : 'mxgraph.archimate3.gap'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Gap.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- c.translate(w - 20, 5);
- this.foreground(c, w - 20, 5, 15, 15);
- };
- mxArchiMate3Gap.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, 0);
- c.lineTo(w, 0);
- c.lineTo(w, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 0, w * 0.5, h * 0.85);
- c.arcTo(w * 0.35, h * 0.35, 0, 0, 1, 0, h * 0.85);
- c.close();
- c.fillAndStroke();
- };
- mxArchiMate3Gap.prototype.foreground = function(c, x, y, w, h)
- {
- c.setDashed(false);
-
- c.translate(0, 2);
- h = h - 4;
- c.ellipse(w * 0.15, 0, w * 0.7, h);
- c.stroke();
-
- c.begin();
- c.moveTo(0, h * 0.35);
- c.lineTo(w, h * 0.35);
- c.moveTo(0, h * 0.65);
- c.lineTo(w, h * 0.65);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Gap.prototype.cst.GAP, mxArchiMate3Gap);
- //**********************************************************************************************************************************************************
- //Tech
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Tech(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Tech, mxShape);
- mxArchiMate3Tech.prototype.cst = {
- TECH : 'mxgraph.archimate3.tech',
- TYPE : 'techType',
- DEVICE : 'device',
- PLATEAU : 'plateau',
- FACILITY : 'facility',
- EQUIPMENT : 'equipment',
- SYS_SW : 'sysSw'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Tech.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- c.translate(w - 30, 15);
- this.foreground(c, w - 30, 15, 15, 15);
- };
- mxArchiMate3Tech.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, 10);
- c.lineTo(10, 0);
- c.lineTo(w, 0);
- c.lineTo(w, h - 10);
- c.lineTo(w - 10, h);
- c.lineTo(0, h);
- c.close();
- c.moveTo(0, 10);
- c.lineTo(w - 10, 10);
- c.lineTo(w - 10, h);
- c.moveTo(w, 0);
- c.lineTo(w - 10, 10);
- c.fillAndStroke();
- };
- mxArchiMate3Tech.prototype.foreground = function(c, x, y, w, h)
- {
- var type = mxUtils.getValue(this.style, mxArchiMate3Tech.prototype.cst.TYPE, mxArchiMate3Tech.prototype.cst.DEVICE);
-
- c.setDashed(false);
-
- if (type === mxArchiMate3Tech.prototype.cst.PLATEAU)
- {
- var strokeColor = mxUtils.getValue(this.style, mxConstants.STYLE_STROKECOLOR, '#000000');
- c.setFillColor(strokeColor);
-
- c.rect(w * 0.4, 0, w * 0.6, h * 0.2);
- c.fill();
-
- c.rect(w * 0.2, h * 0.4, w * 0.6, h * 0.2);
- c.fill();
-
- c.rect(0, h * 0.8, w * 0.6, h * 0.2);
- c.fill();
- }
- else if (type === mxArchiMate3Tech.prototype.cst.FACILITY)
- {
- c.begin();
- c.moveTo(0, h);
- c.lineTo(0, 0);
- c.lineTo(w * 0.13, 0);
- c.lineTo(w * 0.13, h * 0.7);
- c.lineTo(w * 0.42, h * 0.55);
- c.lineTo(w * 0.42, h * 0.7);
- c.lineTo(w * 0.71, h * 0.55);
- c.lineTo(w * 0.71, h * 0.7);
- c.lineTo(w, h * 0.55);
- c.lineTo(w, h);
- c.close();
- c.stroke();
- }
- else if (type === mxArchiMate3Tech.prototype.cst.EQUIPMENT)
- {
- c.begin();
- c.moveTo(w * 0.72, h * 0.38);
- c.curveTo(w * 0.78, w * 0.38, w * 0.85, h * 0.34, w * 0.85, h * 0.26);
- c.curveTo(w * 0.85, w * 0.18, w * 0.78, h * 0.14, w * 0.73, h * 0.14);
- c.curveTo(w * 0.64, w * 0.14, w * 0.59, h * 0.2, w * 0.59, h * 0.26);
- c.curveTo(w * 0.59, h * 0.33, w * 0.65, w * 0.38, w * 0.72, h * 0.38);
- c.close();
- c.moveTo(w * 0.68, h * 0.52);
- c.lineTo(w * 0.67, h * 0.45);
- c.lineTo(w * 0.61, h * 0.43);
- c.lineTo(w * 0.56, h * 0.48);
- c.lineTo(w * 0.5, h * 0.42);
- c.lineTo(w * 0.54, h * 0.36);
- c.lineTo(w * 0.52, h * 0.31);
- c.lineTo(w * 0.45, h * 0.31);
- c.lineTo(w * 0.45, h * 0.22);
- c.lineTo(w * 0.52, h * 0.21);
- c.lineTo(w * 0.54, h * 0.16);
- c.lineTo(w * 0.5, h * 0.11);
- c.lineTo(w * 0.56, h * 0.05);
- c.lineTo(w * 0.62, h * 0.09);
- c.lineTo(w * 0.67, h * 0.07);
- c.lineTo(w * 0.68, 0);
- c.lineTo(w * 0.77, 0);
- c.lineTo(w * 0.78, h * 0.07);
- c.lineTo(w * 0.83, h * 0.09);
- c.lineTo(w * 0.89, h * 0.05);
- c.lineTo(w * 0.95, h * 0.11);
- c.lineTo(w * 0.91, h * 0.16);
- c.lineTo(w * 0.93, h * 0.21);
- c.lineTo(w, h * 0.22);
- c.lineTo(w, h * 0.31);
- c.lineTo(w * 0.93, h * 0.31);
- c.lineTo(w * 0.91, h * 0.36);
- c.lineTo(w * 0.95, h * 0.41);
- c.lineTo(w * 0.89, h * 0.47);
- c.lineTo(w * 0.83, h * 0.43);
- c.lineTo(w * 0.78, h * 0.45);
- c.lineTo(w * 0.77, h * 0.52);
- c.lineTo(w * 0.68, h * 0.52);
- c.close();
- c.moveTo(w * 0.36, h * 0.81);
- c.curveTo(w * 0.44, h * 0.81, w * 0.52, h * 0.75, w * 0.52, h * 0.67);
- c.curveTo(w * 0.52, h * 0.59, w * 0.45, h * 0.51, w * 0.35, h * 0.51);
- c.curveTo(w * 0.27, h * 0.51, w * 0.19, h * 0.58, w * 0.19, h * 0.67);
- c.curveTo(w * 0.19, h * 0.74, w * 0.27, h * 0.82, w * 0.36, h * 0.81);
- c.close();
- c.moveTo(w * 0.21, h * 0.98);
- c.lineTo(w * 0.22, h * 0.89);
- c.lineTo(w * 0.16, h * 0.85);
- c.lineTo(w * 0.08, h * 0.88);
- c.lineTo(w * 0.02, h * 0.79);
- c.lineTo(w * 0.09, h * 0.74);
- c.lineTo(w * 0.08, h * 0.67);
- c.lineTo(0, h * 0.63);
- c.lineTo(w * 0.03, h * 0.53);
- c.lineTo(w * 0.12, h * 0.54);
- c.lineTo(w * 0.16, h * 0.48);
- c.lineTo(w * 0.13, h * 0.4);
- c.lineTo(w * 0.22, h * 0.35);
- c.lineTo(w * 0.28, h * 0.42);
- c.lineTo(w * 0.36, h * 0.41);
- c.lineTo(w * 0.39, h * 0.33);
- c.lineTo(w * 0.5, h * 0.36);
- c.lineTo(w * 0.49, h * 0.45);
- c.lineTo(w * 0.55, h * 0.49);
- c.lineTo(w * 0.63, h * 0.45);
- c.lineTo(w * 0.69, h * 0.54);
- c.lineTo(w * 0.62, h * 0.6);
- c.lineTo(w * 0.63, h * 0.67);
- c.lineTo(w * 0.71, h * 0.7);
- c.lineTo(w * 0.68, h * 0.8);
- c.lineTo(w * 0.59, h * 0.79);
- c.lineTo(w * 0.55, h * 0.85);
- c.lineTo(w * 0.59, h * 0.79);
- c.lineTo(w * 0.55, h * 0.85);
- c.lineTo(w * 0.59, h * 0.93);
- c.lineTo(w * 0.49, h * 0.98);
- c.lineTo(w * 0.43, h * 0.91);
- c.lineTo(w * 0.36, h * 0.92);
- c.lineTo(w * 0.32, h);
- c.lineTo(w * 0.21, h * 0.98);
- c.close();
- c.stroke();
- }
- else if (type === mxArchiMate3Tech.prototype.cst.SYS_SW)
- {
- mxArchiMate3SysSw.prototype.background(c, x, y, w, h);
- }
- else if (type === mxArchiMate3Tech.prototype.cst.DEVICE)
- {
- mxArchiMate3Device.prototype.background(c, x, y, w, h);
- }
- };
- mxCellRenderer.registerShape(mxArchiMate3Tech.prototype.cst.TECH, mxArchiMate3Tech);
- //**********************************************************************************************************************************************************
- //Distribution
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Distribution(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Distribution, mxShape);
- mxArchiMate3Distribution.prototype.cst = {
- DISTRIBUTION : 'mxgraph.archimate3.distribution'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Distribution.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Distribution.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.1, h * 0.25);
- c.lineTo(w * 0.9, h * 0.25);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.9, h * 0.75);
- c.lineTo(w * 0.1, h * 0.75);
- c.lineTo(0, h * 0.5);
- c.fillAndStroke();
- c.begin();
- c.moveTo(w * 0.2, 0);
- c.lineTo(0, h * 0.5);
- c.lineTo(w * 0.2, h);
- c.moveTo(w * 0.8, 0);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.8, h);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Distribution.prototype.cst.DISTRIBUTION, mxArchiMate3Distribution);
- //**********************************************************************************************************************************************************
- //Resource
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Resource(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Resource, mxShape);
- mxArchiMate3Resource.prototype.cst = {
- RESOURCE : 'mxgraph.archimate3.resource'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Resource.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Resource.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.51, h * 0.34);
- c.lineTo(w * 0.51, h * 0.65);
- c.moveTo(w * 0.35, h * 0.34);
- c.lineTo(w * 0.35, h * 0.65);
- c.moveTo(w * 0.19, h * 0.34);
- c.lineTo(w * 0.19, h * 0.65);
- c.moveTo(w * 0.91, h * 0.4);
- c.curveTo(w * 0.93, h * 0.39, w * 0.95, h * 0.39, w * 0.97, h * 0.40);
- c.curveTo(w * 0.99, h * 0.4, w, h * 0.41, w, h * 0.43);
- c.curveTo(w, h * 0.48, w, h * 0.52, w, h * 0.57);
- c.curveTo(w, h * 0.58, w * 0.99, h * 0.59, w * 0.98, h * 0.6);
- c.curveTo(w * 0.96, h * 0.6, w * 0.93, h * 0.6, w * 0.91, h * 0.6);
- c.moveTo(0, h * 0.73);
- c.curveTo(0, h * 0.6, 0, h * 0.43, 0, h * 0.27);
- c.curveTo(0, h * 0.24, w * 0.03, h * 0.21, w * 0.08, h * 0.21);
- c.curveTo(w * 0.33, h * 0.2, w * 0.61, h * 0.2, w * 0.84, h * 0.21);
- c.curveTo(w * 0.88, h * 0.22, w * 0.89, h * 0.24, w * 0.9, h * 0.26);
- c.curveTo(w * 0.91, h * 0.41, w * 0.91, h * 0.57, w * 0.9, h * 0.72);
- c.curveTo(w * 0.9, h * 0.74, w * 0.88, h * 0.78, w * 0.83, h * 0.79);
- c.curveTo(w * 0.57, h * 0.79, w * 0.32, h * 0.79, w * 0.06, h * 0.79);
- c.curveTo(w * 0.02, h * 0.78, 0, h * 0.76, 0, h * 0.73);
- c.close();
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Resource.prototype.cst.RESOURCE, mxArchiMate3Resource);
- //**********************************************************************************************************************************************************
- //Capability
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Capability(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Capability, mxShape);
- mxArchiMate3Capability.prototype.cst = {
- CAPABILITY : 'mxgraph.archimate3.capability'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Capability.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Capability.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w, 0);
- c.lineTo(w, h);
- c.lineTo(0, h);
- c.lineTo(0, h * 0.67);
- c.lineTo(w * 0.33, h * 0.67);
- c.lineTo(w * 0.33, h * 0.33);
- c.lineTo(w * 0.67, h * 0.33);
- c.lineTo(w * 0.67, 0);
- c.close();
- c.moveTo(w * 0.67, h * 0.33);
- c.lineTo(w, h * 0.33);
- c.moveTo(w * 0.33, h * 0.67);
- c.lineTo(w, h * 0.67);
- c.moveTo(w * 0.33, h * 0.67);
- c.lineTo(w * 0.33, h);
- c.moveTo(w * 0.67, h * 0.33);
- c.lineTo(w * 0.67, h);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Capability.prototype.cst.CAPABILITY, mxArchiMate3Capability);
- //**********************************************************************************************************************************************************
- //Course of Action
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Course(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Course, mxShape);
- mxArchiMate3Course.prototype.cst = {
- COURSE : 'mxgraph.archimate3.course'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Course.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Course.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, h);
- c.arcTo(w * 0.7, h * 0.7, 0, 0, 1, w * 0.41, h * 0.56);
- c.moveTo(w * 0.14, h * 0.54);
- c.lineTo(w * 0.41, h * 0.56);
- c.lineTo(w * 0.3, h * 0.78);
- c.stroke();
-
- c.ellipse(w * 0.4, 0, w * 0.6, h * 0.6);
- c.stroke();
- c.ellipse(w * 0.5, h * 0.1, w * 0.4, h * 0.4);
- c.stroke();
-
- var fillColor = mxUtils.getValue(this.style, mxConstants.STYLE_FILLCOLOR, '#000000');
- c.setFillColor(fillColor);
- c.ellipse(w * 0.6, h * 0.2, w * 0.2, h * 0.2);
- c.fill();
- };
- mxCellRenderer.registerShape(mxArchiMate3Course.prototype.cst.COURSE, mxArchiMate3Course);
- //**********************************************************************************************************************************************************
- //Node
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Node(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Node, mxShape);
- mxArchiMate3Node.prototype.cst = {
- NODE : 'mxgraph.archimate3.node'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Node.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Node.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, h * 0.25);
- c.lineTo(w * 0.25, 0);
- c.lineTo(w, 0);
- c.lineTo(w, h * 0.75);
- c.lineTo(w * 0.75, h);
- c.lineTo(0, h);
- c.close();
- c.moveTo(0, h * 0.25);
- c.lineTo(w * 0.75, h * 0.25);
- c.lineTo(w * 0.75, h);
- c.moveTo(w, 0);
- c.lineTo(w * 0.75, h * 0.25);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Node.prototype.cst.NODE, mxArchiMate3Node);
- //**********************************************************************************************************************************************************
- //Device
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Device(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Device, mxShape);
- mxArchiMate3Device.prototype.cst = {
- DEVICE : 'mxgraph.archimate3.device'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Device.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Device.prototype.background = function(c, x, y, w, h)
- {
- c.roundrect(0, 0, w, h * 0.88, w * 0.1, h * 0.1);
- c.fillAndStroke();
-
- c.begin();
- c.moveTo(w * 0.1, h * 0.88);
- c.lineTo(0, h);
- c.lineTo(w, h);
- c.lineTo(w * 0.9, h * 0.88);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Device.prototype.cst.DEVICE, mxArchiMate3Device);
- //**********************************************************************************************************************************************************
- //System Software
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3SysSw(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3SysSw, mxShape);
- mxArchiMate3SysSw.prototype.cst = {
- SYS_SW : 'mxgraph.archimate3.sysSw'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3SysSw.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3SysSw.prototype.background = function(c, x, y, w, h)
- {
- c.ellipse(w * 0.3, 0, w * 0.7, h * 0.7);
- c.stroke();
-
- c.ellipse(0, h * 0.02, w * 0.98, h * 0.98);
- c.fillAndStroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3SysSw.prototype.cst.SYS_SW, mxArchiMate3SysSw);
- //**********************************************************************************************************************************************************
- //Artifact
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Artifact(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Artifact, mxShape);
- mxArchiMate3Artifact.prototype.cst = {
- ARTIFACT : 'mxgraph.archimate3.artifact'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Artifact.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Artifact.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(0, 0);
- c.lineTo(w * 0.7, 0);
- c.lineTo(w, h * 0.22);
- c.lineTo(w, h);
- c.lineTo(0, h);
- c.close();
- c.fillAndStroke();
-
- c.begin();
- c.moveTo(w * 0.7, 0);
- c.lineTo(w * 0.7, h * 0.22);
- c.lineTo(w, h * 0.22);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Artifact.prototype.cst.ARTIFACT, mxArchiMate3Artifact);
- //**********************************************************************************************************************************************************
- //Communication Network
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3CommNetw(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3CommNetw, mxShape);
- mxArchiMate3CommNetw.prototype.cst = {
- COMM_NETW : 'mxgraph.archimate3.commNetw'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3CommNetw.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3CommNetw.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.2, h);
- c.lineTo(0, h * 0.5);
- c.lineTo(w * 0.2, 0);
- c.moveTo(w * 0.8, h);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.8, 0);
- c.moveTo(0, h * 0.5);
- c.lineTo(w, h * 0.5);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3CommNetw.prototype.cst.COMM_NETW, mxArchiMate3CommNetw);
- //**********************************************************************************************************************************************************
- //Path
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxArchiMate3Path(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxArchiMate3Path, mxShape);
- mxArchiMate3Path.prototype.cst = {
- PATH : 'mxgraph.archimate3.path'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxArchiMate3Path.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- c.translate(x, y);
- this.background(c, 0, 0, w, h);
- c.setShadow(false);
- };
- mxArchiMate3Path.prototype.background = function(c, x, y, w, h)
- {
- c.begin();
- c.moveTo(w * 0.2, h);
- c.lineTo(0, h * 0.5);
- c.lineTo(w * 0.2, 0);
- c.moveTo(w * 0.8, h);
- c.lineTo(w, h * 0.5);
- c.lineTo(w * 0.8, 0);
- c.stroke();
-
- c.setDashed(true);
- c.begin();
- c.moveTo(0, h * 0.5);
- c.lineTo(w, h * 0.5);
- c.stroke();
- };
- mxCellRenderer.registerShape(mxArchiMate3Path.prototype.cst.PATH, mxArchiMate3Path);
|