V.1.1.26.515
Major Features
V.1.1.26.515
수정 및 개선
- [VIZCore3DXControl] (!! HotFix)
- Application.Idle 이벤트 Dispose 시 구독 해제 누락 수정
- Dispose() 시 Memory Violation Exception 발생하는 오류 수정
- Application.Idle 이벤트 Dispose 시 구독 해제 누락 수정
V.1.1.26.514
추가
-
[ExplodeManager] (신규)
- 그룹 분해(Explode) 애니메이션 기능 추가
Explode(groups, ExplodeSetting)/Collapse()/Restore()AnimateExplode(duration, setting): 애니메이션 분해AnimateExplodeSequential(durationPerSegment, holdSeconds, setting): 순차 애니메이션FocusExplode(focusNodes, duration, setting): 특정 노드에 포커스한 분해ExplodeSetting: 분해 거리 비율·레벨별 감쇠 설정 클래스
- 그룹 분해(Explode) 애니메이션 기능 추가
-
[GroupManager] / [GroupItem] (신규)
GroupItem클래스 추가BoundingBox,Depth,Name,Parent,Groups,Nodes,IsSelected,IsValid
- 그룹 생성/삭제:
CreateGroup,CreateChildGroup,DeleteGroup,ClearGroup - 노드 관리:
AddNode,AddNodes,RemoveNode,ContainsNode - 자동 계층 생성:
CreateHierarchicalGroups(maxDepth),CreateFlatGroups() - 그룹 선택 모드:
EnableGroupSelection(bool) - 조회:
Groups(최상위),AllGroups(전체),FindGroup(name)
-
[MeasureManager]
AddDistanceAxialDirectionXYZ오버로드 메서드 2개 추가AddDistanceAxialDirectionXYZ(textPosition, position1, position2): 텍스트 위치 직접 지정AddDistanceAxialDirectionXYZ(position1, position2, yOffset): 자동 계산 (기본 yOffset=1000)
-
[NoteManager]
CreateCustomStyle(): 현재 설정 기반의 기본값으로 채워진 NoteCustomStyle 생성
-
[PreSelectManager] (신규)
- Pre-Select 기능을 독립 Manager로 분리, 이벤트 기반 API 제공
IsPreSelected(node): 현재 Pre-Select 상태 조회GetPreSelectedBoundingBox()/GetPreSelectedGroup(): Pre-Select 된 대상 정보 메서드SelectPreSelected()/DeselectPreSelected(): 선택 전환 메서드OnPreSelected/OnPreDeselected/OnPreSelectedGroupChanged이벤트
- Pre-Select 기능을 독립 Manager로 분리, 이벤트 기반 API 제공
-
[ShapeManager]
- 형상 강조/선택 색상 속성 추가
ShapeHighlightedStrokeColor: 마우스 오버 시 강조 색상ShapeSelectedStrokeColor: 선택 시 색상ShapeSelectionRadius: 선택 인식 반경(픽셀, 기본값 2)
- 형상 강조/선택 색상 속성 추가
-
[TriangleMesh]
- 빈 삼각메시 객체 생성 가능되게 변경
- 메시 형상 렌더링 시 뒷면도 렌더링 되도록 수정
Merge(TriangleMesh other): 두 메시 병합Transform(Matrix3D): 변환 행렬 적용
-
[VIZCore3DXControl]
VIZCore3DXControl(Image image)생성자 추가 : 배경 이미지를 Image 객체로 직접 전달
수정 및 개선
-
[CompareManager] (Breaking Change)
- 비교 기능 API 개선
- 기존에 제공되던 Compare 기능을 동기, 비동기에 따라 Compare와 CompareAsync로 분류
- async 비교 API 추가:
CompareAsync(type, node1, node2)/CompareAsync(..., IProgress<int>) CompareResult데이터 클래스 추가 (HasDifferences, Node1/2ExclusiveChildren)- 결과 처리 메서드 추가:
ShowResult,SelectDifferences,FitToDifferences,IsolateDifferences,ExportResult
- 비교 기능 API 개선
-
[DecalManager]
- 뒤집힌 면에서의 데칼 생성 방향 개선
-
[FindManager]
- 와일드카드(
*) 연속 사용 시 검색 속도 저하 문제 수정
- 와일드카드(
-
[ModelManager]
Close()후 배경 이미지가 표시되지 않는 버그 수정Open()시 자동 화면 맞춤(AutoFit) 설정이 무시되던 버그 수정Save()WaitForm 무한루프 버그 수정
-
[Object3DManager]
GetSelectedNodeInSelectedOrder/GetSelectedIndexInSelectedOrder— 영역 선택으로 지정된 노드들은 선택 순서 목록에 포함되지 않도록 변경
-
[ViewControl]
- 영역 선택 성능 개선
삭제
- [PreSelectStyle]
PreSelectStyle클래스 제거- Pre-Select 기능이 [PreSelectManager] (신규) 로 변경됨에 따라 삭제
V.1.1.26.428
추가
-
[CompareManager]
CompareNode오버로드 추가 : 비교 후 지정 축 방향으로 node2를 이동하여 시각적 분리CompareNode(NodeCompareType, Node node1, Node node2, Axis axis, float offset)
CompareMovedNode기능 추가 : 두 노드를 원점 정렬하여 비교 후 원래 위치로 복원CompareMovedNode(NodeCompareType, Node node1, Node node2)
-
[DecalManager]
AddDecalImage에 투명도(float alpha) 파라미터 추가- 이미지 데칼에 투명도 적용 가능
- 툴바에 선택 삭제 / 전체 삭제 누락 기능 추가
-
[FindManager]
BulkQuickSearch기능 추가- 대용량 노드 + 복수 키워드 검색 시 처리 효율이 대폭 향상된 검색 기능
-
[MessageManager] (신규)
- View 화면에 커스텀 알림 메시지를 표시하는 기능 추가
MessageManager,MessageItemCreate,Delete,Show,ShowAll,HideAll,Clear- 위치·색상·크기·그림자 등 세부 스타일 지정 가능
- View 화면에 커스텀 알림 메시지를 표시하는 기능 추가
-
[ModelManager]
- STL 내보내기 기능 추가
ExportStl(string path, bool ascii = true): ASCII 또는 Binary STL 파일로 내보내기
- STL 내보내기 기능 추가
-
[ModelTreeManager]
- 모델 트리 컨트롤 외부 패널 부착 기능 추가
AttachModelTreeControl(Panel panel, DockStyle dockStyle)
- 모델 트리 컨트롤 외부 패널 부착 기능 추가
-
[NoteManager]
AddNote2D,AddNote3D,AddNoteSurface에NoteCustomStyle오버로드 추가- 노트 생성과 동시에 박스·텍스트·선·심볼·화살표 스타일 지정 가능
-
[Object3DManager]
- 노드 마우스 이벤트 추가
OnNodeMouseDown,OnNodeMouseUp,OnNodeClick,OnNodeDoubleClick
- 노드 마우스 이벤트 추가
-
[Object3DPrimitiveManager]
- 메시 기반 기본도형 추가 기능 (
AddPrimitiveMesh)TriangleMesh: 삼각형 메시 데이터 구조 (정점·인덱스·경계박스 /Split(Plane3D)분할)Plane3D: 3차원 평면 정의 클래스 (점·법선 벡터 또는 방정식 계수로 생성)Node.HasMesh: 노드의 메시 형상 존재 여부 속성 추가
- 메시 기반 기본도형 추가 기능 (
-
[SectionManager]
- 단면 핸들 표시/숨기기 기능 추가 (
ShowHandle(bool)) SetBoxPlaneSizeOffset(float) 오버로드 추가
- 단면 핸들 표시/숨기기 기능 추가 (
-
[SelectionBoxManager]
- SelectionBox 이름(Title) 속성 추가
-
[ShapeManager]
LineSegmentsShape기능 추가 : 복수 선분을 단일 요소로 표현MeshShape기능 추가 : 삼각형 메시 형상
-
[UDAControl]
- 셀 값 복사 단축키 추가 (Ctrl+C, 우클릭 복사)
- 전체 선택 단축키 추가 (Ctrl+A)
-
[UDAManager]
- UDA 존재 여부 기준 노드 조회 기능 추가
GetFilledNodes(): UDA 속성 값이 채워진 노드 반환GetEmptyNodes(): UDA 속성 값이 비어 있는 노드 반환
- 속성 포함 여부 확인 기능 추가 (
HasKey)HasKey(Node node, string key, string category): 특정 카테고리·키 존재 여부 반환
- 복수 속성 일괄 추가 오버로드 추가
Add(Node node, string category, Dictionary<string, string> property)Add(List<Node> nodes, string category, Dictionary<string, string> property)
FromNodesToDictionary(Node node): 단일 노드 오버로드 추가
- UDA 존재 여부 기준 노드 조회 기능 추가
-
[ViewManager]
- 1인칭 비행 카메라 모드(Flight Mode) 추가
NavigationModes.FLIGHT모드 지원SetFlightStepDistance/GetFlightStepDistance: 이동 거리 제어
- 카메라 정밀 제어 기능 추가
GetCameraEyePosition: 현재 카메라 Eye 위치 반환GetCameraAxis: 카메라 축(우측·상단·전방) 벡터 반환SetPerspectiveCamera(pos, dir, up): 카메라 위치 및 방향 직접 설정
FlyToObject3d/FlyToBoundingBox에TimeSpan파라미터 추가- 카메라 이동 애니메이션 시간을 호출부에서 직접 지정 가능
- 환경 조명 및 광원 세부 제어 속성 추가
EnvironmentLight: 환경 조명 켜기/끄기LightDirection: 광원 방향 벡터 설정 (오른손 좌표계)AmbientColor: 주변광 색상 설정LightColor: 방향성 광원 색상 설정Shininess: 표면 광택도 설정SpecularIntensity: 정반사 강도 설정
- 선택 오브젝트 외곽선 렌더링 색상 지정 기능 추가 (
SelectionOutlineColor속성) - 화면 캡처 시 이미지 최대 파일 크기 설정 기능 추가 (
CaptureImage(int maxFileSizeKB)) - Pre-Select(마우스 오버 강조) 기능 추가
PreSelect속성 /PreSelectStyle클래스- 활성화 여부, 색상, 딜레이, 최대 개체 수, 모델 트리 자동 스크롤 설정 지원
MoveCenterToObject3d(List<Node> nodes, TimeSpan timeSpan): 지정한 노드들로 카메라 중심 이동
- 1인칭 비행 카메라 모드(Flight Mode) 추가
-
[VIZCore3DXControl]
- 3D 뷰 영역 및 모델 트리 컨트롤에
MouseLeave이벤트 연동 추가
- 3D 뷰 영역 및 모델 트리 컨트롤에
수정 및 개선
-
[BoundBox3D]
ToString()사용 시 float 정밀도가 손실되던 문제 수정
-
[ColorManager]
SetVisibleObjectsAlpha: 변환된 float 값 대신 정수가 그대로 전달되던 버그 수정ChangeAlphaDialog투명도 슬라이더 % 표시 개선 (불투명도 기준으로 반전 표시되던 문제)
-
[FindManager]
- 공간 검색(SearchSpace) 결과 목록 UI에 VirtualMode 적용으로 대량 데이터 조회 시 성능 개선
- 검색 결과가 없을 때 발생하던 NullReferenceException 수정
- 속성 검색 시 공백값 별도 처리 개선 (전체 매칭 모드 연동)
-
[NoteCustomStyle]
- 설정 창의 노트 기본 스타일을 읽어 커스텀 스타일 초기값에 반영하는 로직 개선
-
[Object3DManager]
NodeEventKind.DELETED_NDOE오탈자 수정 →NodeEventKind.DELETED_NODE
-
[UDAManager]
- UDADialog 툴바 기능을 UDAControl로 이동 — 독립 컨트롤 사용 시에도 전체 기능 접근 가능
- Body 유형 보이기 옵션에 따른 UDA 속성 조회 로직 개선
- 하위 Body에 속성이 있는 경우 List에서 볼 수 있게 개선
-
[ViewControl]
- 미리보기 패널에서 우클릭 시 발생하던 UI 버그 수정
-
[ViewManager]
FlyToObject3d(List<Data.Node> nodes)내부 처리 로직 최적화로 다수 노드 대상 이동 속도 개선RenderScale최대값 변경 : 2.0f → 4.0f
-
[WaitDialog]
- 무한루프 버그 수정
Full List
Full List (펼쳐서 보기)
Full List of Issues Covering all Changes in this Release
| Module | Summary | Category |
|---|---|---|
| BoundBox3D | ToString() float 정밀도 보존 수정 | Bug Fix |
| ColorManager | SetVisibleObjectsAlpha : alpha 정수값이 직접 전달되던 버그 수정 ChangeAlphaDialog 투명도 슬라이더 % 표시 개선 | Bug Fix Improvement |
| CompareManager | CompareNode(axis, offset) : 비교 후 지정 축 방향으로 node2 이동하여 시각적 분리 CompareMovedNode : 원점 정렬 비교 후 원래 위치로 복원 | New Feature |
| CompareManager / CompareResult (Breaking Change) | 비교 기능 API 개선 — 기존 Compare 기능을 동기(Compare)·비동기(CompareAsync)로 분류 ( !! Breaking Change ) async 비교 API 추가 ( CompareAsync, IProgress)CompareResult 데이터 클래스 추가ShowResult / SelectDifferences / FitToDifferences / IsolateDifferences / ExportResult | Improvement |
| DecalManager | AddDecalImage alpha 파라미터 추가ToolbarDecalDeleteSelected / ToolbarDecalDeleteAll 툴바 누락 기능 추가뒤집힌 면에서의 데칼 생성 방향 개선 | New Feature Improvement |
| ExplodeManager / ExplodeSetting | 분해 애니메이션 기능 신규 추가Explode / Collapse / RestoreAnimateExplode / AnimateExplodeSequential / FocusExplode | New Feature |
| FindManager | BulkQuickSearch : 복수 키워드 일괄 검색 SearchSpace VirtualMode 적용으로 성능 개선 검색 결과 없을 때 NullReferenceException 수정 속성 검색 시 공백값 별도 처리 개선 와일드카드( *) 연속 사용 시 검색 속도 저하 수정 | New Feature Improvement Bug Fix |
| GroupManager / GroupItem | GroupItem 클래스 추가CreateGroup / CreateChildGroup / DeleteGroup / ClearGroupAddNode / AddNodes / RemoveNode / ContainsNodeCreateHierarchicalGroups / CreateFlatGroups / EnableGroupSelection | New Feature |
| MessageManager / MessageItem | View 커스텀 메시지 기능 신규 추가Create, Delete, Show, ShowAll, HideAll, Clear위치·색상·크기·그림자 등 세부 스타일 지정 가능 | New Feature |
| MeasureManager | AddDistanceAxialDirectionXYZ 오버로드 메서드 2개 추가 (텍스트 위치 직접 지정 / yOffset 자동 계산) | New Feature |
| ModelManager | ExportStl : STL 내보내기 추가 (ASCII / Binary)Close() 후 배경 이미지 미표시 버그 수정Open() 시 AutoFit 설정 무시 버그 수정Save() WaitForm 무한루프 버그 수정 | New Feature Bug Fix |
| ModelTreeManager | AttachModelTreeControl : 외부 패널 부착 기능 추가 | New Feature |
| NoteCustomStyle | 설정창 기본 스타일 반영 로직 개선 | Improvement |
| NoteManager | AddNote2D / AddNote3D / AddNoteSurface NoteCustomStyle 오버로드 추가CreateCustomStyle : 현재 설정 기반 NoteCustomStyle 생성 | New Feature |
| Object3DManager | OnNodeMouseDown / OnNodeMouseUp / OnNodeClick / OnNodeDoubleClick 이벤트 추가NodeEventKind.DELETED_NDOE → NodeEventKind.DELETED_NODE 오탈자 수정GetSelectedNodeInSelectedOrder / GetSelectedIndexInSelectedOrder — 영역 선택 노드를 선택 순서 목록에서 제외하도록 변경 | New Feature Bug Fix Changed |
| PreSelectManager | Pre-Select 독립 Manager 분리IsPreSelected / GetPreSelectedBoundingBox / GetPreSelectedGroupSelectPreSelected / DeselectPreSelectedOnPreSelected / OnPreDeselected / OnPreSelectedGroupChanged 이벤트 | New Feature |
| [PreSelectStyle] | PreSelectStyle 클래스 제거 — Pre-Select 기능이 PreSelectManager로 변경됨에 따라 삭제 | Removed |
| Object3DPrimitiveManager / TriangleMesh / Plane3D | AddPrimitiveMesh : 삼각형 메시 기반 기본도형 추가 TriangleMesh 데이터 클래스 추가 (Vertices, Indices, BoundingBox, Split) Plane3D 클래스 추가 (점·법선 벡터 또는 방정식 계수로 생성) Node.HasMesh : 노드의 메시 형상 존재 여부 속성 추가 빈 삼각메시 객체 생성 가능 메시 형상 뒷면 렌더링 수정 Merge(TriangleMesh) / Transform(Matrix3D) 메서드 추가 | New Feature Bug Fix |
| SectionManager | ShowHandle(bool) : 단면 핸들 표시/숨기기 추가 SetBoxPlaneSize offset 오버로드 추가 | New Feature |
| SelectionBoxManager | SelectionBox Title 속성 추가 | New Feature |
| ShapeManager / ShapeItem | LineSegmentsShape : 복수 선분 단일 요소 표현 MeshShape : 삼각형 메시 형상 ShapeHighlightedStrokeColor / ShapeSelectedStrokeColor / ShapeSelectionRadius 속성 추가 | New Feature |
| UDAControl | Ctrl+C 복사 / Ctrl+A 전체 선택 단축키 추가 | New Feature |
| UDAManager | GetFilledNodes / GetEmptyNodes : UDA 존재 여부 기준 노드 조회 HasKey : 노드의 속성 포함 여부 확인 Add(Node, Dictionary) / Add(List<Node>, Dictionary) : 복수 속성 일괄 추가 FromNodesToDictionary(Node) : 단일 노드 오버로드 추가 UDADialog 툴바 기능 → UDAControl 이동 Body 유형 보이기 옵션에 따른 UDA 속성 로직 개선 | New Feature Improvement |
| ViewControl | 미리보기 우클릭 버그 수정 영역 선택 성능 개선 | Bug Fix Improvement |
| ViewManager | Flight Mode 추가 (NavigationModes.FLIGHT) SetFlightStepDistance / GetFlightStepDistance GetCameraEyePosition : 카메라 Eye 위치 반환 GetCameraAxis : 카메라 축 벡터 반환 SetPerspectiveCamera : 카메라 위치·방향 설정 FlyToObject3d / FlyToBoundingBox TimeSpan 파라미터 추가 EnvironmentLight / LightDirection / AmbientColor / LightColor / Shininess / SpecularIntensity : 환경 조명 및 광원 세부 제어 속성 추가 SelectionOutlineColor 속성 추가 CaptureImage(int maxFileSizeKB) 오버로드 추가 Pre-Select 기능 추가 (V.1.1.26.514 릴리즈에서 PreSelectManager로 변경됨.) MoveCenterToObject3d : 지정한 노드들로 카메라 중심 이동 FlyToObject3d(List<Node>) 속도 개선 RenderScale 최대값 변경 : 2.0f → 4.0f | New Feature Improvement |
| VIZCore3DXControl | 뷰 및 모델 트리 MouseLeave 이벤트 추가VIZCore3DXControl(Image image) 생성자 추가 Application.Idle 이벤트 Dispose 시 구독 해제 누락 수정 | New Feature Bug Fix |
| WaitDialog | 무한루프 버그 수정 | Bug Fix |