ArrangeEdgeProjections
Overloads
| Name | Description |
|---|---|
| ArrangeEdgeProjections(List<EdgeProjectionResult> results, float gap, float aspectRatio) | 여러 2D 투영 결과를 겹치지 않게 나란히 배치 (각 결과를 Translate). 왼쪽에서 오른쪽으로 놓고, 행 폭을 넘으면 다음 행(아래)으로 넘김. 행 폭은 전체 배치가 aspectRatio 에 가깝도록 결정. 입력 순서를 유지하며, 각 행의 항목은 위쪽 기준으로 정렬됨. |
| ArrangeEdgeProjections(List<List<EdgeProjectionResult>> groups, float gap, float aspectRatio) | 여러 2D 투영 결과 그룹을 겹치지 않게 나란히 배치. 그룹 안의 결과(예 : 한 파트의 정면 / 평면 / 우측면도)는 상대 위치를 유지한 채 함께 이동. |
ArrangeEdgeProjections(List<EdgeProjectionResult> results, float gap, float aspectRatio)
public RectangleF ArrangeEdgeProjections(List<EdgeProjectionResult> results, float gap, float aspectRatio)
여러 2D 투영 결과를 겹치지 않게 나란히 배치 (각 결과를 Translate).
왼쪽에서 오른쪽으로 놓고, 행 폭을 넘으면 다음 행(아래)으로 넘김. 행 폭은 전체 배치가 aspectRatio 에 가깝도록 결정.
입력 순서를 유지하며, 각 행의 항목은 위쪽 기준으로 정렬됨.
Parameters
| Name | Type | Description |
|---|---|---|
| results | List<EdgeProjectionResult> | 투영 결과 목록 (파트별 투영 결과 등) |
| gap | float | 항목 간격 (도면 좌표 단위). 0 이면 평균 항목 크기의 15% |
| aspectRatio | float | 전체 배치 목표 비율 (가로 / 세로, 그리기 영역 비율 등). 0 이면 √2 |
Returns
| Type | Description |
|---|---|
| RectangleF | 배치 후 전체 영역 (도면 좌표) |
Examples
private void Example(List<int> selected, System.Windows.Forms.Control canvas)
{
VIZCore3D.NET.Data.EdgeProjectionOption option = new VIZCore3D.NET.Data.EdgeProjectionOption();
List<VIZCore3D.NET.Data.EdgeProjectionResult> results = new List<VIZCore3D.NET.Data.EdgeProjectionResult>();
// 파트별 투영
foreach (int part in vizcore3d.Object3D.GetPartIndices(selected))
{
results.Add(vizcore3d.Projection.GetEdgeProjection(
new List<int>() { part }, VIZCore3D.NET.Data.ProjectionViewKind.AUTO_PLATE, option));
}
// 그리기 영역 비율에 맞춰 나란히 배치
vizcore3d.Projection.ArrangeEdgeProjections(results, 0.0f, (float)canvas.Width / canvas.Height);
}
ArrangeEdgeProjections(List<List<EdgeProjectionResult>> groups, float gap, float aspectRatio)
public RectangleF ArrangeEdgeProjections(List<List<EdgeProjectionResult>> groups, float gap, float aspectRatio)
여러 2D 투영 결과 그룹을 겹치지 않게 나란히 배치. 그룹 안의 결과(예 : 한 파트의 정면 / 평면 / 우측면도)는 상대 위치를 유지한 채 함께 이동.
Parameters
| Name | Type | Description |
|---|---|---|
| groups | List<List<EdgeProjectionResult>> | 투영 결과 그룹 목록 |
| gap | float | 그룹 간격 (도면 좌표 단위). 0 이면 평균 그룹 크기의 15% |
| aspectRatio | float | 전체 배치 목표 비율 (가로 / 세로). 0 이면 √2 |
Returns
| Type | Description |
|---|---|
| RectangleF | 배치 후 전체 영역 (도면 좌표) |