Cable (Pipe) 생성 및 조작
Cable (Pipe) 생성 및 조작 예제
Cable Item
파라미터 설명
| 항목 | 라인(Line) | 사각형(Rectangle) | 원(Circle) | 정점(Vertex) |
|---|---|---|---|---|
| Shape | 라인 | 사각형 | 원 | 정점 |
| Shape Id | 0 | 1 | 2 | 3 |
| Radius | 선 두께 | 반지름 | 반지름 | 굵기 |
| Vertex Size | 의미 없음 (0.0f) | 의미 없음 (0.0f) | 의미 없음 (0.0f) | 크기 |
| Line Count | 라인 개수 | 라인 개수 | 라인 개수 | 정점 개수 |
| Line 별 Vertex 개수 | 라인별 Vertex 개수 | 라인별 Vertex 개수 | 라인별 Vertex 개수 | 의미 없음 |
- Cable Item은 4가지 Shape 형식(라인, 사각형, 원, 정점)으로 표시할 수 있습니다.
Cable Item 기본 생성 예제
private void btnCableItem_Click(object sender, EventArgs e)
{
// 모델이 있는 경우에만 수행
if (Connector.IsOpenDocument() == false) return;
// 렌더링 비활성화
Connector.EnableRender(false);
int PIPE1, PIPE2;
// PIPE1의 라인별 Vertex 개수
List<int> vertexCount1 = new List<int>();
vertexCount1.Add(2);
vertexCount1.Add(3);
// PIPE1의 전체 Vertex Point
List<float> vertexPoints1 = new List<float>();
// PIPE1, LINE1, POINT1
vertexPoints1.Add(19000.0f);
vertexPoints1.Add(1420.0f);
vertexPoints1.Add(9000.0f);
// PIPE1, LINE1, POINT2
vertexPoints1.Add(24000.0f);
vertexPoints1.Add(1420.0f);
vertexPoints1.Add(9000.0f);
// PIPE1, LINE2, POINT1
vertexPoints1.Add(19000.0f);
vertexPoints1.Add(3420.0f);
vertexPoints1.Add(9000.0f);
// PIPE1, LINE2, POINT2
vertexPoints1.Add(24000.0f);
vertexPoints1.Add(3420.0f);
vertexPoints1.Add(9000.0f);
// PIPE1, LINE2, POINT3
vertexPoints1.Add(24000.0f);
vertexPoints1.Add(3420.0f);
vertexPoints1.Add(10000.0f);
PIPE1 = Connector.AddCableItem(
0, /* GROUP ID */
Color.Red, /* LINE COLOR */
CableShapeTypes.Line, /* SHAPE TYPE */
3.0f, /* RADIUS */
0.0f, /* VERTEX SIZE */
true, /* SHOW or HIDE */
2, /* LINE COUNT */
vertexCount1, /* VERTEX COUNT */
vertexPoints1 /* VERTEX POINT */
);
// PIPE2의 라인별 Vertex 개수
List<int> vertexCount2 = new List<int>();
vertexCount2.Add(2);
vertexCount2.Add(2);
// PIPE2의 전체 Vertex Point
List<float> vertexPoints2 = new List<float>();
// PIPE2, LINE1, POINT1
vertexPoints2.Add(19000.0f);
vertexPoints2.Add(5420.0f);
vertexPoints2.Add(9000.0f);
// PIPE2, LINE1, POINT2
vertexPoints2.Add(24000.0f);
vertexPoints2.Add(5420.0f);
vertexPoints2.Add(9000.0f);
// PIPE2, LINE2, POINT1
vertexPoints2.Add(19000.0f);
vertexPoints2.Add(7420.0f);
vertexPoints2.Add(9000.0f);
// PIPE2, LINE2, POINT2
vertexPoints2.Add(24000.0f);
vertexPoints2.Add(7420.0f);
vertexPoints2.Add(9000.0f);
PIPE2 = Connector.AddCableItem(
0, /* GROUP ID */
Color.Black, /* LINE COLOR */
CableShapeTypes.Line, /* SHAPE TYPE */
7.0f, /* RADIUS */
0.0f, /* VERTEX SIZE */
true, /* SHOW or HIDE */
2, /* LINE COUNT */
vertexCount2, /* VERTEX COUNT */
vertexPoints2 /* VERTEX POINT */
);
// 깊이버퍼 사용
Connector.UseCableItemDepthTest(true);
Connector.EnableRender(true);
}
깊이 버퍼(Depth Test) 설정
- Cable Item에 원근감 표현을 적용할 수 있습니다.
// 깊이버퍼 사용
Connector.UseCableItemDepthTest(true);
// 깊이버퍼 미사용
Connector.UseCableItemDepthTest(false);
// 현재 깊이버퍼 설정 상태 조회
bool use = Connector.IsUseCableItemDepthTest();
Cable Item 표시 / 숨김 제어
- 개별 ID 또는 GROUP ID 단위로 표시 상태를 제어할 수 있습니다.
// PIPE(1) 항목 보이기
Connector.ShowCableItem(1, true);
// PIPE(1) 항목 숨기기
Connector.ShowCableItem(1, false);
// GROUP(2) 단위 보이기
Connector.ShowCableItemByGroupID(2, true);
// GROUP(2) 단위 숨기기
Connector.ShowCableItemByGroupID(2, false);
// 전체 항목 보이기
Connector.ShowAllCableItem(true);
// 전체 항목 숨기기
Connector.ShowAllCableItem(false);
Cable Item 삭제
- 개별 ID 또는 GROUP 단위로 삭제할 수 있습니다.
// PIPE(1) 항목 삭제
Connector.DeleteCableItem(1);
// GROUP(2) 삭제
Connector.DeleteCableItemByGroupID(2);
// 전체 항목 삭제
Connector.DeleteAllCableItem();