Cable (Pipe) 생성 및 조작
Cable (Pipe) 생성 및 조작 예제
Cable Item
파라미터 설명
| 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 형식(라인, 사각형, 원, 정점)으로 표시가 가능합니다. 
- 기본 생성 코드 
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);
}
- 깊이 버퍼 사용유무(UseCableItemDepthTest)를 지정하여, 화면에 추가한 Cable Item을 원근감 있게 표현할 수 있습니다. 
// 깊이버퍼 사용
Connector.UseCableItemDepthTest( true );
// 깊이버퍼 미사용
Connector.UseCableItemDepthTest( false );
// 현재 깊이버퍼 설정 상태 반환
bool use = Connector.IsUseCableItemDepthTest();
- 추가된 Cable Item은 개별 ID를 통해 보이기/숨기기 상태를 변경하거나, 추가 시 지정한 GROUP ID를 통해 GROUP 단위로 보이기/숨기기 상태를 변경할 수 있습니다. 
// 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();
Last modified: 04 3월 2024