ACAPI_Element_GetMemo
요소들에게 부착된 모든 추가 정보를 가져옵니다.
GSErrCode ACAPI_Element_GetMemo ( const API_Guid& guid, API_ElementMemo* memo, UInt32 mask = APIMemoMask_All );
파라미터
- guid
- [in] 요소의 Guid입니다.
- memo
- [out] 채워질 메모에 대한 포인터입니다.
- mask
- [in] 당신이 관심을 갖고 있는 메모의 파트를 지정합니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
- 전달된
memo
파라미터가NULL
입니다. APIERR_BADID
- 요소 타입이 유효하지 않습니다. 또는
요소 타입이 서버 애플리케이션에서 지원하지 않습니다 APIERR_BADID
- 요소 guid가 유효하지 않습니다.
APIERR_DELETED
- 요소가 데이터베이스에 존재하지 않습니다.
APIERR_MEMFULL
- 동작을 완료하기 위한 메모리가 부족합니다
다른 공통 API 오류들의 경우 API 오류 문서를 보십시오.
설명
이 함수는 요소들에게 부착되어 있는 추가 정보를 리턴합니다.
이것은 모든 도면(2D) 요소들에게 적용되지 않습니다; 당신은 요소 헤더의 hasMemo
필드를 확인할 수 있습니다.
다음 표는 요소들이 부착된 추가 데이터를 가질 수 있는져 여부를 보여줍니다; 또한 API_ElementMemo에 리턴되는 정보가 무엇인지 설명합니다.
값 |
파라미터 |
함수 ( |
---|---|---|
|
(API_Gable **) gables |
|
|
(API_Gable **) gables |
|
|
(API_Gable **) gables |
|
|
(API_Gable **) gables |
|
|
(API_AddParType **) params |
라이브러리 파트4의 인스턴스의 파라미터들을 리턴합니다. |
|
(API_Coord **) coords |
|
|
(API_Coord **) coords |
|
|
(API_Coord **) coords |
메시(mesh)의 폴리곤2, 레벨 라인들을 리턴합니다. |
|
API_ShellShapeData shellShapes[2] |
|
|
(Modeler::Body*) morphBody |
모프(morph)의 바디와 재질 오버라이드 맵 테이블을 리턴합니다. |
|
(API_DimElem **) dimElems |
치수(dimension)의 좌표들, neig 정보, 텍스트, witness line 정보를 리턴합니다. |
|
(char **) textContent (API_AddParType **) params |
텍스트-타입 라벨에 대한 텍스트와 그것의 스타일, 또는 심볼 라벨에 대한 원본 라이브러리 파트의 파라미터들을 리턴합니다. |
|
(API_Coord **) coords |
베지에(Bezier) 곡선 파라미터들을 리턴합니다. |
|
(char **) textContent |
텍스트의 내용, 라인 시작 ( |
|
(API_Coord **) coords |
해치(hatch)의 폴리곤을 리턴합니다. |
|
(API_Gable **) gables |
룸(room)2의 폴리곤을 리턴합니다. |
|
(API_LinkType **) linkList |
카메라의 데이터를 리턴합니다. |
|
(API_Coord **) coords |
절단면의 좌표들을 리턴합니다. |
|
(API_Coord **) coords |
만약 폴리곤을 가지고 있다면 ChangeMarker2의 폴리곤을 리턴합니다. |
|
(API_Coord **) coords |
디테일 또는 워크시트2의 폴리곤을 리턴합니다. |
|
(API_Coord **) coords |
폴리라인2의 폴리곤을 리턴합니다. |
|
(char **) pictHdl |
그림을 리턴합니다. |
|
(API_Coord **) coords |
도면 요소의 폴리곤과 도면 데이터를 리턴합니다. |
|
(API_Coord **) coords |
폴리곤과 모든 CW 관련 데이터를 리턴합니다. |
|
(API_GridMesh*) cWSegGridMesh (double*) cWSegPrimaryPattern (double*) cWSegSecondaryPattern (GS::Bool8*) cWSegPanelPattern (API_CWContourType*) cWSegContour |
CW 세그먼트 관련 데이터를 리턴합니다. |
1 아무 수의 gable이 존재할 수 있습니다.
2 API_Polygon의 설명을 보십시오.
3 API_EdgeTrim 메모 핸들의 길이는(poly.nCoords+1)*sizeof(API_EdgeTrim)
입니다; 처음 및 마지막 레코드는 사용하지 않고 0으로 채웁니다.
4 요소의 파라미터들은 본래 라이브러리 파트의 파라미터들이며, 이 값들은 실제 인스턴스로부터 가져옵니다.
5 복잡한 프로파일의 드로잉 primitive들은 직렬화된 HGX::VectorImage로 저장합니다.
6sideMaterials
메모 배열의 길이는(poly.nCoords+1)*sizeof(API_MaterialOverrideType)
입니다; 처음 및 마지막 레코드는 사용하지 않고 0으로 채웁니다.
7pivotPolyEdges
메모 배열의 길이는(pivotPolygon.nCoords+1)*sizeof(API_PivotPolyEdgeData)
입니다; 처음 및 마지막 레코드는 사용하지 않고 0으로 채웁니다.
8 2개의API_ShellShapeData
레코드의 고정 크기 배열입니다. API_ShellShapeData의 멤버들은 API_Polygon의 멤버들과 비슷하게 처리됩니다.
9shellContours
메모 배열의 API_ShellContourData 레코드의 수는 API_ShellType 파라미터들로부터 계산될 수 있습니다:numHoles+(hasContour?1:0)
성능을 개선하기 위해 당신은
mask
파라미터로 필요한 데이터를 선택할 수 있습니다.
이 기능은 첨부된 데이터에 대한 필터링된 접근을 제공합니다; 이렇게 하면 함수는 부착된 모든 데이터를 변환하는 대신 관심 있는 데이터만 리턴합니다.
Mask 의미 APIMemoMask_Polygon
폴리곤 요소들에 대한 폴리곤을 리턴합니다. 더 많은 정보는 API_Polygon을 보십시오. APIMemoMask_Gables
gable 정보를 리턴합니다. APIMemoMask_AddPars
라이브러리 파트 기반 요소(객체, 램프, 문, 창, zone stamp, 라벨)의 추가 파라미터들을 리턴합니다. APIMemoMask_EdgeTrims
지붕 및 슬래브에 대한 edge trim 정보를 리턴합니다. ( APIMemoMask_RoofSide
에서 이름이 변경됨)APIMemoMask_MeshPolyZ
메시(mesh)에 대한 메시 포인트들의 Z 좌표를 리턴합니다. APIMemoMask_MeshLevel
메시(mesh)에 대한 메시 레벨 정보를 리턴합니다. APIMemoMask_BeamHole
보에 대한 구멍 정보를 리턴합니다. APIMemoMask_TextContent
텍스트 요소(텍스트, 라벨)에 대한 내용을 ANSI 문자열로 리턴합니다. (이것이 기본값입니다) APIMemoMask_Paragraph
텍스트 요소(텍스트, 라벨)에 대한 단락 정보를 리턴합니다. paragraphs
핸들은 바이트 오프셋들을 포함합니다.APIMemoMask_TextContent
mask와 함께 사용하십시오. (이것이 기본값입니다)APIMemoMask_TextContentUni
텍스트 요소(텍스트, 라벨)에 대한 내용을 UniCode 문자열로 리턴합니다. 당신은 textContent 핸들을 unsigned short **
로 캐스트해야 합니다.APIMemoMask_ParagraphUni
텍스트 요소(텍스트, 라벨)에 대한 단락 정보를 리턴합니다. paragraphs
핸들은 문자 오프셋들을 포함합니다.APIMemoMask_TextContentUni
mask와 함께 사용하십시오.APIMemoMask_DrawingData
드로잉 요소(API_DrawingType)의 드로잉 데이터를 내부 포맷으로 리턴합니다. APIDb_StopDrawingDataID도 보십시오. APIMemoMask_CustomOrigProfile
벽, 보, 또는 기둥 요소에 적용된 원래의 커스텀 프로파일 데이터를 리턴합니다. APIMemoMask_StretchedProfile
벽, 보, 또는 기둥 요소에 의해 실제로 사용된 스트레치된 프로파일을 리턴합니다. APIMemoMask_SectionSegments
단면, 입면, 또는 실내 입면 요소의 단면 세그먼트를 리턴합니다. APIMemoMask_SectionLineCoords
단면, 입면, 또는 실내 입면 요소의 단면 뷰 라인을 리턴합니다. APIMemoMask_WallWindows
주어진 벽 요소에 배치된 창들의 guid 리스트를 리턴합니다. APIMemoMask_WallDoors
주어진 벽 요소에 배치된 문들의 guid 리스트를 리턴합니다. APIMemoMask_CWSegGridMesh
커튼 월 요소의 GridMesh를 리턴합니다. APIMemoMask_CWSegPrimaryPattern
커튼 월 요소의 1차 패턴을 리턴합니다. APIMemoMask_CWSegSecPattern
커튼 월 요소의 2차 패턴을 리턴합니다. APIMemoMask_CWSegPanelPattern
커튼 월 요소의 패널 패턴을 리턴합니다. APIMemoMask_CWSegContour
커튼 월 요소의 세그먼트 외곽들을 리턴합니다. APIMemoMask_CWallSegments
커튼 월 요소의 세그먼트들을 리턴합니다. APIMemoMask_CWallFrames
커튼 월 요소의 프레임들을 리턴합니다. APIMemoMask_CWallPanels
커튼 월 요소의 패널들을 리턴합니다. APIMemoMask_CWallJunctions
커튼 월 요소의 정션들을 리턴합니다. APIMemoMask_CWallAccessories
커튼 월 요소의 액세서리들을 리턴합니다. APIMemoMask_FromFloorPlan
추가 flag입니다; 평면도 데이터베이스로부터 요소 정보를 취합니다. 이 flag는 APIMemoMask_All
에서 제외됩니다!APIMemoMask_RoofEdgeTypes
지붕 요소의 외곽 폴리곤의 edge 타입들을 리턴합니다. APIMemoMask_SideMaterials
슬래브 또는 지붕 요소의 측면 재질 인덱스들을 리턴합니다. APIMemoMask_PivotPolygon
Multi-plane 지붕 요소의 피봇 폴리곤과 edge들을 리턴합니다. (API_PolyRoofData를 보십시오) APIMemoMask_All
요소에 대한 모든 적용 가능한 필드들을 리턴합니다.
당신이 마친 뒤에 핸들을 폐기하기 위해 ACAPI_DisposeElemMemoHdls를 호출하는 것을 잊지 마십시오.
예제
void DoAnything (const API_Guid&) { API_Element element; API_ElementMemo memo; GSErrCode err; BNZeroMemory (&element, sizeof (API_Element)); element.header.guid = guid; err = ACAPI_Element_Get (&element); if (err == NoError && element.header.hasMemo) { err = ACAPI_Element_GetMemo (element.header.guid, &memo, APIMemoMask_Gables); if (err == NoError) { /* ... 하고 싶은 작업 ... */ } ACAPI_DisposeElemMemoHdls (&memo); } }
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_ElemTypeID, API_Polygon, API_ElementMemo
ACAPI_DisposeElemMemoHdls
요소 관리자, API 함수