SPACE 코드 계산 결과 프로파일링 데모

[1] 개요 SPACE 코드로 계산된 결과를 노드 다이어그램 상에 시각적으로 표시하여 계산값들의 경향 파악을 용이하게 하는 기능을 구현하였으며 이를 프로파일링 기능이라 한다. 아래 영상은 프로파일링 기능에 대한 데모 영상이다. 데모 영상 링크 [2] 기능 요약 - 노드 모델을 기반으로 프로파일링 변수를 생성 - 생성된 변수를 포함하여 코드 계산을 수행 - 계산 종료 후 계산결과를 자동으로 로딩하고 초기상태로 셋팅됨 - 탐색바를 사용하여 시간에 따른 데이터를 상세하게 분석할 수 있음 - 코드 계산 없이 기존 프로파일링 파일이 있다면 불러와서 분석 작업을 수행할 수 있음. - 변수값의 추이에 따라 노드의 해당 셀의 색깔이 변경되어 전체적인 흐름을 파악할 수 있음. - 파랑색일 수 록 작은  값이며, 빨강색일 수 록 큰 값임.

인터넷 없는 환경에서 QT 설치하기

처음 QT를 설치했을 시기에는 설치 중에 계정로그인을 요구하지 않았으나 어느 순간 이후 버전은 계정 로그인을 해야지만 QT를 설치할 수 있도록 정책이 바뀌었다. 이럴 경우 인터넷 사용이 불가한 PC에는 최신 버전 설치가 어렵다. 이를 해결하기 위해 아래의 절차에 따라 설치하면 된다. [1] 윈도우 에지에서 설정으로 간다. [2] "프록시" 로 검색하여 프록시 설정창을 연다. [3] 수동 프록시 설정을 선택하고 0.0.0.0 입력, 포트번호는 127번을 입력 후 저장한다. [4] QT를 설치한다. 계정로그인 절차가 사라져서 설치를 할 수 있다. [5] 설치가 완료되면 프록시 설정을 원래대로 해준다. 이상은 인터넷이 없는 환경에서 QT 설치 방법이다.

PLOT 구현 테스트 영상

 PLOT 요소를 구현하였다. 화면에 배치된 여러 요소들과 유기적으로 결합이 잘 되는지 시험해보기 위한 영상이다. 프로젝트 내의 여러 열수력 요소와 유기적으로 반응함을 확인하고 관련 입력이 정상적으로 생성됨을 확인하였다.

프로젝트 저장 및 불러오기, 입력 보기, 그래프 기능 개선사항 점검 동영상

  다음 영상은 아래 사항들에 대한 점검 동영상입니다. (1) 프로젝트 파일의 저장하기 및 불러오기 (2) 최근 사용한 프로젝트들에 대한 빠르게 불러오기 (3) LAG 필터의 정상 계산 여부 확인 (4) 엑셀파일로 그래프 데이터 변환 기능 점검 (5) 각 노드에서의 SPACE 입력 보기 버튼의 정상 작동 여부 확인 (6) 노드를 클릭했을 경우 연결된 링크들의 입력 및 출력 보여주기 기능 확인 (7) 그래프의 리셋버튼으로 그래프 지우기 기능 확인 모든 점검 사항들이 정상적으로 작동하고 있습니다. 이제 다음 항목으로 진행해야겠습니다. 2023. 5. 31.

SPACE코드 분석 GUI개발 중간 점검 동영상

  국내에서 개발된 SPACE 코드와 관련된 토이프로젝트를 진행 중입니다. 아래 동영상은 중간 점검을 위하여 녹화한 화면입니다. 이렇게 동영상을 찍어서 보면 제 3자의 입장으로 개발 중 프로그램의 객관적인 평가를 할 수 있습니다.

Qt Graphics에서의 좌표 체계 이해하기

이미지
여기서는 Qt Graphics에서의 좌표 체계에 대해 알아보기로 한다. Scene에 item들을 원하는 곳에 위치시키기 위해서는 Qt에서 사용하는 좌표 체계를 이해하고 사용할 수 있어야만 한다. Graphics View는 모두 3종류의 좌표체계를 사용하는데 다음과 같다.    (1) item's coordinate system    (2) scene's coordinate system    (3) view's coordinate system 만약 어떤 item상에서 마우스 클릭이 발생했다면, QGraphicsSceneMouseEvent::pos() 함수로 클릭된 좌표값을 구할 수 있는데 이때의 좌표값은 item's coordinate system 의 값이다. scenePos() 및 sceneBoundingRect() 로 구한 좌표값은  scene's coordinate system을 따른다. 주의할 점은 item들은 parent-child 관계로 연결될 경우 child 들은 parent의  item's coordinate system을 따른다는 것이고 따라서 pos()함수로 계산된 좌표값은 parent의  item's coordinate system상의 값이다. 아래에서 생성된 item을 살펴 보자. 3개의 QGraphicsRectItem을 생성했으며 크기는 20x20이고 위치는 서로 다른 값을 갖는다. QGraphicsRectItem * itemA = new QGraphicsRectItem (- 100 , - 100 , 200 , 200 ); QGraphicsRectItem * itemB = new QGraphicsRectItem ( 0 , 0 , 200 , 200 ); QGraphicsRectItem * itemC = new QGraphicsRectItem ( 100 , 100 , 200 , 200 ); 위 item들의 좌표값을 그...

QGraphicsItem, QGraphicsScene 및 QGraphicsView 이해하기

이미지
1. 개념 이해 여기서는 QGraphicsItem, QGraphicsScene 및 QGraphicsView 에 대해 알아보자. Qt에서 제공하는 Graphic관련 중요 요소는 다음 3가지가 있다.   (1) QGraphicsItem : item   (2) QGraphicsScene : scene   (3) QGraphicsView : view The usual workflow is to first create a couple of items, then add them to a scene, and finally set that scene on a view. 위의 3가지 요소를 활용한 일반적인 그래픽 작업 과정은 다음과 같다.   (1) QGraphicsItem을 활용하여 필요한 item을 생성한다.   (2) 생성된 item을 QGraphicsScene에 추가한다.   (3) 마지막으로 QGraphicsScene을 QGraphicsView 에 셋팅한다. Graphic 기능을 사용하기 위해 먼저 QGraphicsItem, QGraphicsScene 및 QGraphicsView에 대해 알아보자. 아래 그림은 그래픽의 3가지 요소에 대한 관계를 이해하는데 도움이된다. 여기서 보면 Scene은 전체 그림을 담는 큰 도화지와 같고 item은 도화지 위에 그려진 여러가지 그림이다. 그리고 view는 우리가 그림을 볼때 우리의 눈이 집중해서 보고 있는 도화지의 한 부분이라고 이해할 수 있을 것이다. 따라서 item은 scene에 add하여야 하며 다 그린 scene은 view와 연결을 해주어야 실제 화면에 표시되는 것이다. 따라서, scene은 item을 위치와 item의 변형 등을 정확하게 표시해주는 역할을 수행한다. 또한 어떤 event에 대해 어떤 item들이 영향을 받는지를 알려주는 역할도 수행한다. 2. QGraphicsItem생성하고 Scene 및 View와 연결하기 Scene에 표시되는 모든 item들은 QGr...