Changes between Version 2 and Version 3 of UseCaseImplementations


Ignore:
Timestamp:
12/12/24 04:26:03 (5 weeks ago)
Author:
225144
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseImplementations

    v2 v3  
    1212----
    1313
    14  ''Корисникот клика на просторијата до која сака да се насочи и се појавува менито за детални информации на просторијата''
     14 ''Корисникот клика на просторијата до која сака да се насочи и се појавува менито за детални информации на просторијата. Со клик на копчето **"Navigate"** започнува процесот за навигација.''
    1515
    1616[[Image(nav_1.png)]]
     
    1818----
    1919
    20 [[Image(nav_2.png)]]
     20
     21[[Image(nav_3.png)]]
     22
     23* ''За навигација се потребни параметрите **"from"** и **"to"**''. Начинот 2. се разликува од 1. во тоа што за параметар **"from"**, **секогаш го зема главниот влез на мапата** кој се поставува при цртање на истата. Всушност ова се случува секогаш кога параметарот **"from"** е изоставен.
     24
     25* Со користење на **httpService"** се праќа барање до Spring апкликацијата за навигација, каде што се наоѓа графот.
     26
     27{{{
     28httpService.setAuthenticated()
     29}}}
     30''поставува Authorization заглавје во барањето и укажува дека треба да се автентицира овој повик, со користење на JWT.''
     31
     32----
     33
     34'' За да се изврши методот за навигација кој одговара на повикот од React апликацијата, прво треба да се вратиме малку назад, до самото вчитување на страната. во Spring апликацијата, при секое вчитување на поглед на мапа, се иницијализира **"тежински граф"** за дадената мапа, кој ги содржи како јазли, патеките помеѓу просториите'' .
    2135
    2236
     37[[Image(nav_5*.png)]]
    2338
    24 асдасд
     39Функцијата
     40{{{
     41graphService.construct(floors)
     42}}}
     43
     44e задолжена за креирање на графот кои ги поврзува сите соби на сите спратови на мапата. За секој спрат се прави следното:
     45* **Парсирање на податоците (json) на фигурите кои се поставени на тој спрат, односно креирање јазли**
     46* **Вчитување и поврзување на јазлите во графот.**
     47
     48
     49[[Image(nav_6.png)]]
     50
     51За да се креираат јазли прво се десеријализираат податоците за сите фигури од JSON формат во **Shape** објект.
     52
     53**JSON репрезентација на фигура:**
     54
     55{{{
     56
     57{"x":689,"y":465,
     58"radiusX":5,"radiusY":7,
     59"tailHeight":12,"fill":"#f60000",
     60"stroke":"#1b1b1b","strokeWidth":1,
     61"draggable":true,"name":"mapObj",
     62"shadowForStrokeEnabled":false,
     63"obj_name":"Pin4 [1F]",
     64\"connected_pins\":[\"Stairs6 [1F]\",\"Pin6 [1F]\",\"Pin5 [1F]\"],\"description":"","floor_num":1},"className":"InfoPin"}
     65
     66}}}
     67
     68Структурата на **Shape** e соодветна со структурата на JSON репрезентацијата на фигурата.
     69
     70[[Image(nav_7.png)]]
     71
     72Целата идеја на оваа функција е да креира јазли т.е **MapNode** и за секој јазол, да зачува со кој други јазли е тој поврзан, со цел лесно составување на графот подоцна. Поврзаните јазли се наоѓаат во **"connected_pins"** од JSON'от.
     73
     74