Geovanefisio commited on
Commit
81f9e7e
·
verified ·
1 Parent(s): 937be0f

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +215 -19
  2. prompts.txt +3 -1
index.html CHANGED
@@ -181,7 +181,7 @@
181
  <label for="file-input" class="file-input-label">
182
  <i class="fas fa-upload mr-2"></i> Importar Foto
183
  </label>
184
- <input type="file" id="file-input" class="file-input" accept="image/*">
185
  </div>
186
 
187
  <!-- Imagem será carregada aqui -->
@@ -235,6 +235,30 @@
235
  </div>
236
  </div>
237
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  <!-- Tabela de ângulos para vista anterior -->
239
  <div id="anterior-angle-table" class="p-4 border-t border-gray-200 hidden">
240
  <h3 class="text-sm font-medium text-gray-700 mb-2">Análise Angular (Vista Anterior)</h3>
@@ -332,6 +356,78 @@
332
  </table>
333
  </div>
334
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
335
  <div class="p-4 border-t border-gray-200 flex justify-between">
336
  <button id="resetBtn" class="px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition">
337
  <i class="fas fa-undo mr-2"></i> Limpar Marcadores
@@ -424,7 +520,7 @@
424
  <input type="radio" name="spine" id="spine-kyphosis" class="hidden custom-radio">
425
  <label for="spine-kyphosis" class="px-3 py-1 border border-gray-300 rounded-full text-sm cursor-pointer hover:bg-blue-50">Cifose</label>
426
 
427
- <input type="radio" name="spine" id="spine-lordosis" class="hidden custom-radio">
428
  <label for="spine-lordosis" class="px-3 py-1 border border-gray-300 rounded-full text-sm cursor-pointer hover:bg-blue-50">Lordose</label>
429
 
430
  <input type="radio" name="spine" id="spine-scoliosis" class="hidden custom-radio">
@@ -480,8 +576,12 @@
480
  const viewTabs = document.querySelectorAll('.view-tab');
481
  const anteriorMarkerSelector = document.getElementById('anterior-marker-selector');
482
  const posteriorMarkerSelector = document.getElementById('posterior-marker-selector');
 
 
483
  const anteriorAngleTable = document.getElementById('anterior-angle-table');
484
  const posteriorAngleTable = document.getElementById('posterior-angle-table');
 
 
485
  const markerOptions = document.querySelectorAll('.marker-option');
486
 
487
  let markers = [];
@@ -509,21 +609,27 @@
509
  currentView = this.dataset.view;
510
 
511
  // Mostrar/ocultar seletor de marcadores específicos para cada vista
 
 
 
 
 
 
 
 
 
512
  if (currentView === 'anterior') {
513
  anteriorMarkerSelector.classList.remove('hidden');
514
  anteriorAngleTable.classList.remove('hidden');
515
- posteriorMarkerSelector.classList.add('hidden');
516
- posteriorAngleTable.classList.add('hidden');
517
  } else if (currentView === 'posterior') {
518
- anteriorMarkerSelector.classList.add('hidden');
519
- anteriorAngleTable.classList.add('hidden');
520
  posteriorMarkerSelector.classList.remove('hidden');
521
  posteriorAngleTable.classList.remove('hidden');
522
- } else {
523
- anteriorMarkerSelector.classList.add('hidden');
524
- anteriorAngleTable.classList.add('hidden');
525
- posteriorMarkerSelector.classList.add('hidden');
526
- posteriorAngleTable.classList.add('hidden');
 
527
  }
528
 
529
  // Atualizar imagem exibida
@@ -558,6 +664,10 @@
558
  updateAnteriorAngleTable();
559
  } else if (currentView === 'posterior') {
560
  updatePosteriorAngleTable();
 
 
 
 
561
  }
562
  } else {
563
  postureImage.classList.add('hidden');
@@ -591,11 +701,17 @@
591
  } else if (currentView === 'posterior') {
592
  posteriorMarkerSelector.classList.remove('hidden');
593
  posteriorAngleTable.classList.remove('hidden');
 
 
 
 
 
 
594
  }
595
  };
596
 
597
  reader.onerror = function() {
598
- alert('Ocorreu um erro ao read o arquivo. Por favor, tente novamente.');
599
  };
600
 
601
  reader.readAsDataURL(file);
@@ -613,13 +729,13 @@
613
  const y = e.clientY - rect.top;
614
 
615
  // Verificar se um tipo de marcador foi selecionado (para vistas que requerem)
616
- if ((currentView === 'anterior' || currentView === 'posterior') && !selectedMarkerType) {
617
  alert('Por favor, selecione o tipo de marcador que deseja adicionar.');
618
  return;
619
  }
620
 
621
  // Verificar se já existe um marcador com o mesmo nome nesta visualização
622
- if (currentView === 'anterior' || currentView === 'posterior') {
623
  const existingMarker = markers.find(m =>
624
  m.view === currentView && m.type === selectedMarkerType
625
  );
@@ -652,8 +768,8 @@
652
  marker.className = `marker ${color} animate-pulse`;
653
  markerContainer.appendChild(marker);
654
 
655
- // Criar label para o marcador (apenas para vistas anterior e posterior)
656
- if ((currentView === 'anterior' || currentView === 'posterior') && selectedMarkerType) {
657
  const label = document.createElement('div');
658
  label.className = 'marker-label';
659
  label.textContent = selectedMarkerType;
@@ -674,7 +790,7 @@
674
  x: x,
675
  y: y,
676
  view: currentView,
677
- type: (currentView === 'anterior' || currentView === 'posterior') ? selectedMarkerType : null
678
  });
679
 
680
  // Configurar arrastar do marcador
@@ -690,6 +806,10 @@
690
  updateAnteriorAngleTable();
691
  } else if (currentView === 'posterior') {
692
  updatePosteriorAngleTable();
 
 
 
 
693
  }
694
  }
695
 
@@ -748,6 +868,10 @@
748
  updateAnteriorAngleTable();
749
  } else if (currentView === 'posterior') {
750
  updatePosteriorAngleTable();
 
 
 
 
751
  }
752
  }
753
  }, { once: true });
@@ -778,8 +902,8 @@
778
  markerElement.className = `marker ${color}`;
779
  markerContainer.appendChild(markerElement);
780
 
781
- // Adicionar label se for vista anterior/posterior e tiver tipo definido
782
- if ((currentView === 'anterior' || currentView === 'posterior') && marker.type) {
783
  const label = document.createElement('div');
784
  label.className = 'marker-label';
785
  label.textContent = marker.type;
@@ -900,6 +1024,68 @@
900
  }
901
  }
902
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
903
  // Função para calcular ângulo entre dois marcadores
904
  function calculateAngle(marker1, marker2) {
905
  // Calcular diferença vertical e horizontal
@@ -938,6 +1124,16 @@
938
  document.getElementById('post-angle-joelho').textContent = '0º';
939
  document.getElementById('post-angle-maleolo-dir').textContent = '0º';
940
  document.getElementById('post-angle-maleolo-esq').textContent = '0º';
 
 
 
 
 
 
 
 
 
 
941
  }
942
  });
943
 
 
181
  <label for="file-input" class="file-input-label">
182
  <i class="fas fa-upload mr-2"></i> Importar Foto
183
  </label>
184
+ <input type="file" id="file-input", class="file-input" accept="image/*">
185
  </div>
186
 
187
  <!-- Imagem será carregada aqui -->
 
235
  </div>
236
  </div>
237
 
238
+ <!-- Seletor de marcadores para vista lateral direita -->
239
+ <div id="lateral-direita-marker-selector" class="p-4 border-t border-gray-200 hidden">
240
+ <h3 class="text-sm font-medium text-gray-700 mb-2">Selecione o marcador para adicionar:</h3>
241
+ <div class="grid grid-cols-2 md:grid-cols-3 gap-2">
242
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Trago Direito">Trago Direito</button>
243
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Acrômio Direito">Acrômio Direito</button>
244
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Trocânter Maior Direito">Trocânter Maior Direito</button>
245
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Linha Articular do Joelho Direito">Linha Articular Joelho D</button>
246
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Maléolo Lateral Direito">Maléolo Lateral Direito</button>
247
+ </div>
248
+ </div>
249
+
250
+ <!-- Seletor de marcadores para vista lateral esquerda -->
251
+ <div id="lateral-esquerda-marker-selector" class="p-4 border-t border-gray-200 hidden">
252
+ <h3 class="text-sm font-medium text-gray-700 mb-2">Selecione o marcador para adicionar:</h3>
253
+ <div class="grid grid-cols-2 md:grid-cols-3 gap-2">
254
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Trago Esquerdo">Trago Esquerdo</button>
255
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Acrômio Esquerdo">Acrômio Esquerdo</button>
256
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Trocânter Maior Esquerdo">Trocânter Maior Esquerdo</button>
257
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Linha Articular do Joelho Esquerdo">Linha Articular Joelho E</button>
258
+ <button class="marker-option px-3 py-1 bg-gray-100 text-gray-800 rounded text-sm", data-marker="Maléolo Lateral Esquerdo">Maléolo Lateral Esquerdo</button>
259
+ </div>
260
+ </div>
261
+
262
  <!-- Tabela de ângulos para vista anterior -->
263
  <div id="anterior-angle-table" class="p-4 border-t border-gray-200 hidden">
264
  <h3 class="text-sm font-medium text-gray-700 mb-2">Análise Angular (Vista Anterior)</h3>
 
356
  </table>
357
  </div>
358
 
359
+ <!-- Tabela de ângulos para vista lateral direita -->
360
+ <div id="lateral-direita-angle-table" class="p-4 border-t border-gray-200 hidden">
361
+ <h3 class="text-sm font-medium text-gray-700 mb-2">Análise Angular (Vista Lateral Direita)</h3>
362
+ <table class="angle-table">
363
+ <thead>
364
+ <tr>
365
+ <th>Estruturas</th>
366
+ <th>Diferença Angular</th>
367
+ <th>Normal</th>
368
+ </tr>
369
+ </thead>
370
+ <tbody>
371
+ <tr>
372
+ <td>Trago Direito - Acrômio Direito</td>
373
+ <td id="lat-dir-angle-tragos-acromio">0º</td>
374
+ <td>0º</td>
375
+ </tr>
376
+ <tr>
377
+ <td>Acrômio Direito - Trocânter Maior Direito</td>
378
+ <td id="lat-dir-angle-acromio-trocanter">0º</td>
379
+ <td>0º</td>
380
+ </tr>
381
+ <tr>
382
+ <td>Trocânter Maior Direito - Linha Articular Joelho D</td>
383
+ <td id="lat-dir-angle-trocanter-joelho">0º</td>
384
+ <td>0º</td>
385
+ </tr>
386
+ <tr>
387
+ <td>Linha Articular Joelho D - Maléolo Lateral Direito</td>
388
+ <td id="lat-dir-angle-joelho-maleolo">0º</td>
389
+ <td>0º</td>
390
+ </tr>
391
+ </tbody>
392
+ </table>
393
+ </div>
394
+
395
+ <!-- Tabela de ângulos para vista lateral esquerda -->
396
+ <div id="lateral-esquerda-angle-table" class="p-4 border-t border-gray-200 hidden">
397
+ <h3 class="text-sm font-medium text-gray-700 mb-2">Análise Angular (Vista Lateral Esquerda)</h3>
398
+ <table class="angle-table">
399
+ <thead>
400
+ <tr>
401
+ <th>Estruturas</th>
402
+ <th>Diferença Angular</th>
403
+ <th>Normal</th>
404
+ </tr>
405
+ </thead>
406
+ <tbody>
407
+ <tr>
408
+ <td>Trago Esquerdo - Acrômio Esquerdo</td>
409
+ <td id="lat-esq-angle-tragos-acromio">0º</td>
410
+ <td>0º</td>
411
+ </tr>
412
+ <tr>
413
+ <td>Acrômio Esquerdo - Trocânter Maior Esquerdo</td>
414
+ <td id="lat-esq-angle-acromio-trocanter">0º</td>
415
+ <td>0º</td>
416
+ </tr>
417
+ <tr>
418
+ <td>Trocânter Maior Esquerdo - Linha Articular Joelho E</td>
419
+ <td id="lat-esq-angle-trocanter-joelho">0º</td>
420
+ <td>0º</td>
421
+ </tr>
422
+ <tr>
423
+ <td>Linha Articular Joelho E - Maléolo Lateral Esquerdo</td>
424
+ <td id="lat-esq-angle-joelho-maleolo">0º</td>
425
+ <td>0º</td>
426
+ </tr>
427
+ </tbody>
428
+ </table>
429
+ </div>
430
+
431
  <div class="p-4 border-t border-gray-200 flex justify-between">
432
  <button id="resetBtn" class="px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition">
433
  <i class="fas fa-undo mr-2"></i> Limpar Marcadores
 
520
  <input type="radio" name="spine" id="spine-kyphosis" class="hidden custom-radio">
521
  <label for="spine-kyphosis" class="px-3 py-1 border border-gray-300 rounded-full text-sm cursor-pointer hover:bg-blue-50">Cifose</label>
522
 
523
+ <input type="radio" name="spine" id="spine-llordosis" class="hidden custom-radio">
524
  <label for="spine-lordosis" class="px-3 py-1 border border-gray-300 rounded-full text-sm cursor-pointer hover:bg-blue-50">Lordose</label>
525
 
526
  <input type="radio" name="spine" id="spine-scoliosis" class="hidden custom-radio">
 
576
  const viewTabs = document.querySelectorAll('.view-tab');
577
  const anteriorMarkerSelector = document.getElementById('anterior-marker-selector');
578
  const posteriorMarkerSelector = document.getElementById('posterior-marker-selector');
579
+ const lateralDireitaMarkerSelector = document.getElementById('lateral-direita-marker-selector');
580
+ const lateralEsquerdaMarkerSelector = document.getElementById('lateral-esquerda-marker-selector');
581
  const anteriorAngleTable = document.getElementById('anterior-angle-table');
582
  const posteriorAngleTable = document.getElementById('posterior-angle-table');
583
+ const lateralDireitaAngleTable = document.getElementById('lateral-direita-angle-table');
584
+ const lateralEsquerdaAngleTable = document.getElementById('lateral-esquerda-angle-table');
585
  const markerOptions = document.querySelectorAll('.marker-option');
586
 
587
  let markers = [];
 
609
  currentView = this.dataset.view;
610
 
611
  // Mostrar/ocultar seletor de marcadores específicos para cada vista
612
+ anteriorMarkerSelector.classList.add('hidden');
613
+ anteriorAngleTable.classList.add('hidden');
614
+ posteriorMarkerSelector.classList.add('hidden');
615
+ posteriorAngleTable.classList.add('hidden');
616
+ lateralDireitaMarkerSelector.classList.add('hidden');
617
+ lateralDireitaAngleTable.classList.add('hidden');
618
+ lateralEsquerdaMarkerSelector.classList.add('hidden');
619
+ lateralEsquerdaAngleTable.classList.add('hidden');
620
+
621
  if (currentView === 'anterior') {
622
  anteriorMarkerSelector.classList.remove('hidden');
623
  anteriorAngleTable.classList.remove('hidden');
 
 
624
  } else if (currentView === 'posterior') {
 
 
625
  posteriorMarkerSelector.classList.remove('hidden');
626
  posteriorAngleTable.classList.remove('hidden');
627
+ } else if (currentView === 'lateral-direita') {
628
+ lateralDireitaMarkerSelector.classList.remove('hidden');
629
+ lateralDireitaAngleTable.classList.remove('hidden');
630
+ } else if (currentView === 'lateral-esquerda') {
631
+ lateralEsquerdaMarkerSelector.classList.remove('hidden');
632
+ lateralEsquerdaAngleTable.classList.remove('hidden');
633
  }
634
 
635
  // Atualizar imagem exibida
 
664
  updateAnteriorAngleTable();
665
  } else if (currentView === 'posterior') {
666
  updatePosteriorAngleTable();
667
+ } else if (currentView === 'lateral-direita') {
668
+ updateLateralDireitaAngleTable();
669
+ } else if (currentView === 'lateral-esquerda') {
670
+ updateLateralEsquerdaAngleTable();
671
  }
672
  } else {
673
  postureImage.classList.add('hidden');
 
701
  } else if (currentView === 'posterior') {
702
  posteriorMarkerSelector.classList.remove('hidden');
703
  posteriorAngleTable.classList.remove('hidden');
704
+ } else if (currentView === 'lateral-direita') {
705
+ lateralDireitaMarkerSelector.classList.remove('hidden');
706
+ lateralDireitaAngleTable.classList.remove('hidden');
707
+ } else if (currentView === 'lateral-esquerda') {
708
+ lateralEsquerdaMarkerSelector.classList.remove('hidden');
709
+ lateralEsquerdaAngleTable.classList.remove('hidden');
710
  }
711
  };
712
 
713
  reader.onerror = function() {
714
+ alert('Ocorreu um erro ao ler o arquivo. Por favor, tente novamente.');
715
  };
716
 
717
  reader.readAsDataURL(file);
 
729
  const y = e.clientY - rect.top;
730
 
731
  // Verificar se um tipo de marcador foi selecionado (para vistas que requerem)
732
+ if ((currentView === 'anterior' || currentView === 'posterior' || currentView === 'lateral-direita' || currentView === 'lateral-esquerda') && !selectedMarkerType) {
733
  alert('Por favor, selecione o tipo de marcador que deseja adicionar.');
734
  return;
735
  }
736
 
737
  // Verificar se já existe um marcador com o mesmo nome nesta visualização
738
+ if (currentView === 'anterior' || currentView === 'posterior' || currentView === 'lateral-direita' || currentView === 'lateral-esquerda') {
739
  const existingMarker = markers.find(m =>
740
  m.view === currentView && m.type === selectedMarkerType
741
  );
 
768
  marker.className = `marker ${color} animate-pulse`;
769
  markerContainer.appendChild(marker);
770
 
771
+ // Criar label para o marcador (apenas para vistas com tipos definidos)
772
+ if ((currentView === 'anterior' || currentView === 'posterior' || currentView === 'lateral-direita' || currentView === 'lateral-esquerda') && selectedMarkerType) {
773
  const label = document.createElement('div');
774
  label.className = 'marker-label';
775
  label.textContent = selectedMarkerType;
 
790
  x: x,
791
  y: y,
792
  view: currentView,
793
+ type: (currentView === 'anterior' || currentView === 'posterior' || currentView === 'lateral-direita' || currentView === 'lateral-esquerda') ? selectedMarkerType : null
794
  });
795
 
796
  // Configurar arrastar do marcador
 
806
  updateAnteriorAngleTable();
807
  } else if (currentView === 'posterior') {
808
  updatePosteriorAngleTable();
809
+ } else if (currentView === 'lateral-direita') {
810
+ updateLateralDireitaAngleTable();
811
+ } else if (currentView === 'lateral-esquerda') {
812
+ updateLateralEsquerdaAngleTable();
813
  }
814
  }
815
 
 
868
  updateAnteriorAngleTable();
869
  } else if (currentView === 'posterior') {
870
  updatePosteriorAngleTable();
871
+ } else if (currentView === 'lateral-direita') {
872
+ updateLateralDireitaAngleTable();
873
+ } else if (currentView === 'lateral-esquerda') {
874
+ updateLateralEsquerdaAngleTable();
875
  }
876
  }
877
  }, { once: true });
 
902
  markerElement.className = `marker ${color}`;
903
  markerContainer.appendChild(markerElement);
904
 
905
+ // Adicionar label se for vista com tipos definidos
906
+ if ((currentView === 'anterior' || currentView === 'posterior' || currentView === 'lateral-direita' || currentView === 'lateral-esquerda') && marker.type) {
907
  const label = document.createElement('div');
908
  label.className = 'marker-label';
909
  label.textContent = marker.type;
 
1024
  }
1025
  }
1026
 
1027
+ // Atualizar tabela de ângulos para vista lateral direita
1028
+ function updateLateralDireitaAngleTable() {
1029
+ // Obter marcadores específicos
1030
+ const tragoDir = markers.find(m => m.view === 'lateral-direita' && m.type === 'Trago Direito');
1031
+ const acromioDir = markers.find(m => m.view === 'lateral-direita' && m.type === 'Acrômio Direito');
1032
+ const trocanterDir = markers.find(m => m.view === 'lateral-direita' && m.type === 'Trocânter Maior Direito');
1033
+ const joelhoDir = markers.find(m => m.view === 'lateral-direita' && m.type === 'Linha Articular do Joelho Direito');
1034
+ const maleoloLatDir = markers.find(m => m.view === 'lateral-direita' && m.type === 'Maléolo Lateral Direito');
1035
+
1036
+ // Calcular ângulos se os marcadores existirem
1037
+ if (tragoDir && acromioDir) {
1038
+ const angle = calculateAngle(tragoDir, acromioDir);
1039
+ document.getElementById('lat-dir-angle-tragos-acromio').textContent = `${angle}º`;
1040
+ }
1041
+
1042
+ if (acromioDir && trocanterDir) {
1043
+ const angle = calculateAngle(acromioDir, trocanterDir);
1044
+ document.getElementById('lat-dir-angle-acromio-trocanter').textContent = `${angle}º`;
1045
+ }
1046
+
1047
+ if (trocanterDir && joelhoDir) {
1048
+ const angle = calculateAngle(trocanterDir, joelhoDir);
1049
+ document.getElementById('lat-dir-angle-trocanter-joelho').textContent = `${angle}º`;
1050
+ }
1051
+
1052
+ if (joelhoDir && maleoloLatDir) {
1053
+ const angle = calculateAngle(joelhoDir, maleoloLatDir);
1054
+ document.getElementById('lat-dir-angle-joelho-maleolo').textContent = `${angle}º`;
1055
+ }
1056
+ }
1057
+
1058
+ // Atualizar tabela de ângulos para vista lateral esquerda
1059
+ function updateLateralEsquerdaAngleTable() {
1060
+ // Obter marcadores específicos
1061
+ const tragoEsq = markers.find(m => m.view === 'lateral-esquerda' && m.type === 'Trago Esquerdo');
1062
+ const acromioEsq = markers.find(m => m.view === 'lateral-esquerda' && m.type === 'Acrômio Esquerdo');
1063
+ const trocanterEsq = markers.find(m => m.view === 'lateral-esquerda' && m.type === 'Trocânter Maior Esquerdo');
1064
+ const joelhoEsq = markers.find(m => m.view === 'lateral-esquerda' && m.type === 'Linha Articular do Joelho Esquerdo');
1065
+ const maleoloLatEsq = markers.find(m => m.view === 'lateral-esquerda' && m.type === 'Maléolo Lateral Esquerdo');
1066
+
1067
+ // Calcular ângulos se os marcadores existirem
1068
+ if (tragoEsq && acromioEsq) {
1069
+ const angle = calculateAngle(tragoEsq, acromioEsq);
1070
+ document.getElementById('lat-esq-angle-tragos-acromio').textContent = `${angle}º`;
1071
+ }
1072
+
1073
+ if (acromioEsq && trocanterEsq) {
1074
+ const angle = calculateAngle(acromioEsq, trocanterEsq);
1075
+ document.getElementById('lat-esq-angle-acromio-trocanter').textContent = `${angle}º`;
1076
+ }
1077
+
1078
+ if (trocanterEsq && joelhoEsq) {
1079
+ const angle = calculateAngle(trocanterEsq, joelhoEsq);
1080
+ document.getElementById('lat-esq-angle-trocanter-joelho').textContent = `${angle}º`;
1081
+ }
1082
+
1083
+ if (joelhoEsq && maleoloLatEsq) {
1084
+ const angle = calculateAngle(joelhoEsq, maleoloLatEsq);
1085
+ document.getElementById('lat-esq-angle-joelho-maleolo').textContent = `${angle}º`;
1086
+ }
1087
+ }
1088
+
1089
  // Função para calcular ângulo entre dois marcadores
1090
  function calculateAngle(marker1, marker2) {
1091
  // Calcular diferença vertical e horizontal
 
1124
  document.getElementById('post-angle-joelho').textContent = '0º';
1125
  document.getElementById('post-angle-maleolo-dir').textContent = '0º';
1126
  document.getElementById('post-angle-maleolo-esq').textContent = '0º';
1127
+ } else if (currentView === 'lateral-direita') {
1128
+ document.getElementById('lat-dir-angle-tragos-acromio').textContent = '0º';
1129
+ document.getElementById('lat-dir-angle-acromio-trocanter').textContent = '0º';
1130
+ document.getElementById('lat-dir-angle-trocanter-joelho').textContent = '0º';
1131
+ document.getElementById('lat-dir-angle-joelho-maleolo').textContent = '0º';
1132
+ } else if (currentView === 'lateral-esquerda') {
1133
+ document.getElementById('lat-esq-angle-tragos-acromio').textContent = '0º';
1134
+ document.getElementById('lat-esq-angle-acromio-trocanter').textContent = '0º';
1135
+ document.getElementById('lat-esq-angle-trocanter-joelho').textContent = '0º';
1136
+ document.getElementById('lat-esq-angle-joelho-maleolo').textContent = '0º';
1137
  }
1138
  });
1139
 
prompts.txt CHANGED
@@ -1,2 +1,4 @@
1
  Na Vista Anterior, Vista Posterior, Vista Lateral Direita e Vista Lateral Esquerda, o usuário não pode usar mais de um marcador do mesmo nome. O nome do marcador não deve aparecer na foto que foi importada, apenas quando o usuário encosta com a seta do mouse.
2
- Na Vista Posterior, coloque um total de 17 marcadores, com os seguintes nomes: C7, T5, L1, Acrômio Direito, Acrômio Esquerdo, EIPS Direita, EIPS Esquerda, Trocânter Maior Direito, Trocânter Maior Esquerdo,Linha Articular do Joelho D, Linha Articular do Joelho E, Calcâneo D, Calcâneo E, Maléolo Lateral Direito, Maléolo Medial Direito, Maléolo Lateral Esquerdo e Maléolo Medial Esquerdo. Repita a mesma tabela da Vista Anterior. Porém mude o nome das estruturas. Os ângulos que devem ser gerados devem ser entre Acrômio Direito e Acrômio Esquerdo, entre C7 e T5, entre T5 e L1, Entre EIPS Direita e EIPS Esquerda, entre Trocanter Maior Direito e Trocanter Maior Esquerdo, entre Linha Articular do Joelho D e Linha Articular do Joelho E, entre Maléolo Lateral Direito e Maléolo Medial Direito e entre Maléolo Lateral Esquerdo e Maléolo Medial Esquerdo. A coluna Normal da tabela, deve ter os mesmos valores de referência.
 
 
 
1
  Na Vista Anterior, Vista Posterior, Vista Lateral Direita e Vista Lateral Esquerda, o usuário não pode usar mais de um marcador do mesmo nome. O nome do marcador não deve aparecer na foto que foi importada, apenas quando o usuário encosta com a seta do mouse.
2
+ Na Vista Posterior, coloque um total de 17 marcadores, com os seguintes nomes: C7, T5, L1, Acrômio Direito, Acrômio Esquerdo, EIPS Direita, EIPS Esquerda, Trocânter Maior Direito, Trocânter Maior Esquerdo,Linha Articular do Joelho D, Linha Articular do Joelho E, Calcâneo D, Calcâneo E, Maléolo Lateral Direito, Maléolo Medial Direito, Maléolo Lateral Esquerdo e Maléolo Medial Esquerdo. Repita a mesma tabela da Vista Anterior. Porém mude o nome das estruturas. Os ângulos que devem ser gerados devem ser entre Acrômio Direito e Acrômio Esquerdo, entre C7 e T5, entre T5 e L1, Entre EIPS Direita e EIPS Esquerda, entre Trocanter Maior Direito e Trocanter Maior Esquerdo, entre Linha Articular do Joelho D e Linha Articular do Joelho E, entre Maléolo Lateral Direito e Maléolo Medial Direito e entre Maléolo Lateral Esquerdo e Maléolo Medial Esquerdo. A coluna Normal da tabela, deve ter os mesmos valores de referência.
3
+ na Vista Lateral Direita, estarão disponíveis 5 marcadores, com os seguintes nomes: Trago Direito, Acrômio Direito, Trocânter Maior Direito, Linha articular do Joelho Direito e Maléolo Lateral Direito. Repita a mesma tabela da Vista Posterior, apenas mudando o nome das estruturas. Na tabela, informe o ângulo formado entre Trago Direito e Acrômio Direito, entre Acrômio Direito e Trocânter Maior Direito e entre Trocânter Maior Direito e Linha Articular do Joelho Direito e entre a Linha Articular do Joelho Direito e Maléolo Lateral Direito. Mantenha os mesmos parâmetros na coluna Normal da tabela.
4
+ na Vista Lateral Esquerda, estarão disponíveis 5 marcadores, com os seguintes nomes: Trago Esquerdo, Acrômio Esquerdo, Trocânter Maior Esquerdo, Linha articular do Joelho Esquerdo e Maléolo Lateral Esquerdo. Repita a mesma tabela da Vista Lateral Direita, apenas mudando o nome das estruturas. Na tabela, informe o ângulo formado entre Trago Esquerdo e Acrômio Esquerdo, entre Acrômio Esquerdo e Trocânter Maior Esquerdo e entre Trocânter Maior Esquerdo e Linha Articular do Joelho Esquerdo e entre a Linha Articular do Joelho Esquerdo e Maléolo Lateral Esquerdo. Mantenha os mesmos parâmetros na coluna Normal da tabela.