VIZCore3DX.NET API Document

[ 데이터 생애주기 (Data Lifecycle) ]
- 대용량 3D 데이터의 메모리 효율과 안정성을 위한 설계❓ Why
대용량 3D View에서는 구조 변경이 빈번하게 발생하며,
기존 데이터를 유지할 경우 메모리 낭비와 참조 오류가 발생할 수 있습니다.
→ 이를 방지하기 위해 구조 변경 시 데이터는 자동으로 무효화됩니다.
◼ Data Invalidation Behavior
View 구조 변경이 발생하면 기존에 획득한 Node / Entity 데이터는 자동으로 무효화되며,
해당 데이터의 IsValid 값은 false가 됩니다.
◼ Design Purpose
- 불필요한 데이터 유지 방지
- 메모리 사용량 최소화
- 잘못된 참조 접근 차단
- 최신 View 구조 기준 데이터만 사용
◼ How To Use
- 데이터 사용 전 IsValid 확인
- View 구조 변경 이후 기존 데이터 재사용 금지
- 데이터 재조회
✅ 대표적인 View 구조 변경 작업
- 노드 추가
- 모델 트리 순서 변경
- 파일 저장
→ View 구조 변경으로 데이터 무효화
❌ View 구조 변경이 아닌 작업
- 노드 이름 변경
- 색상 변경
- 이동 / 회전
→ View 구조 미변경 (무효화 없음)
❗ NOTE
- 노드 추가 작업은 메모리 사용 최적화를 위해 Undo/Redo를 지원하지 않으며,
이로 인해 작업 즉시 데이터가 무효화됩니다. - 노드 삭제 작업은 Undo/Redo를 지원하기 위해
파일 저장 시점에 View 구조가 변경되며, 이 시점에 데이터가 무효화됩니다. - 즉, 작업의 성격(메모리 최적화 / Undo·Redo 지원 여부)에 따라 무효화 시점이 다를 수 있습니다.
⚠️ WARNING
- 무효화된 데이터로 속성 조회 시 기본값만 반환됩니다.
- 무효화된 데이터로 기능 호출 시 해당 기능은 수행되지 않습니다.
- 무효화 이후에는 해당 데이터를 사용한 모든 호출이 정상 동작하지 않습니다.