Arrow head types available for reactions of the project, served from /new_api/projects/{projectId}/arrow_types/. The response describes how every arrow type should be drawn.

1. List arrow types

Reactions refer to an arrow type by name (for example BLANK_CROSSBAR); this returns, for each name, the geometry of the arrow head as a list of shapes whose points are given in coordinates relative to the arrow head size. A client rendering the map itself needs this to draw the reaction ends.

1.1. HTTP request

GET /minerva/new_api/projects/empty/arrow_types/ HTTP/1.1

1.2. Path Parameters

Table 1. /minerva/new_api/projects/{projectId}/arrow_types/
Parameter Description

projectId

project identifier

1.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/arrow_types/' -X GET

1.4. HTTP response

HTTP/1.1 200 OK

1.5. Response Fields

Path Type Description

[]

Array

list of arrow types supported by the project

[].arrowType

String

name of the arrow type

[].shapes

Array

shapes the arrow head is built from; every shape has a type field describing its remaining fields

1.6. Sample Response

[ {
  "arrowType" : "BLANK_CROSSBAR",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  }, {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : -5.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : -5.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "FULL_CROSSBAR",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  }, {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : -5.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : -5.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "DIAMOND",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 75.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 25.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 25.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 75.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "BLANK",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "CROSSBAR",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : -5.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 5.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "CIRCLE",
  "shapes" : [ {
    "type" : "ELLIPSE",
    "center" : {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    },
    "radius" : {
      "type" : "REL_ABS_RADIUS",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 50.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    },
    "fill" : false
  } ]
}, {
  "arrowType" : "OPEN",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "FULL",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : 38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 7.612046748871326,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : -38.26834323650899
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
}, {
  "arrowType" : "NONE",
  "shapes" : [ {
    "type" : "POLYGON",
    "points" : [ {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 0.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    }, {
      "type" : "REL_ABS_POINT",
      "absoluteX" : 0.0,
      "absoluteY" : 0.0,
      "relativeX" : 100.0,
      "relativeY" : 50.0,
      "relativeHeightForX" : null,
      "relativeWidthForY" : null
    } ],
    "fill" : true
  } ]
} ]