MyIFCEngine
유승재
Version 1.0.0
2010/12/12
MyIFCEngine
소개
l 소개 : TNO사의 IFC엔진을 사용하여 IFC요소들과 그 데이터를 추출하고 체계적으로 관리-서비스 하는 퍼사드 엔진.
프로그램명
l 프로그램명 : MyIFCEngine
l 프로그램내용 : TNO사의 IFC엔진을 사용하여 IFC 요소들과 그 데이터를 추출하고 multimap으로 요소들을 관리한다. 그리고 만들어진 DLL을 타 언어에서 사용하기 쉽도록 하기 위해 인터페이스는 C표준 형태로 제공한다.
작성정보
l 작성자 : 유승재
l 작성일 : 2010/12/12
수정정보
l infiniterun/2010.12.12 : 이 소스를 처음 작성.
클래스 색인
클래스 목록
다음은 클래스, 구조체, 공용체 그리고 인터페이스들입니다. (간략한 설명만을 보여줍니다) :
CUSTOMVERTEX (TNO 사의 IFC엔진에서 버텍스를 얻기위한 고정된 형태의 자료구조 ) . 5
IFCElement (IFC 요소들이 공통적으로 가지고 있어야 할 데이터를 정의하는 구조체 ) .......... 7
IFCManager (TNO사의 IFC엔진을 이용해 데이터를 추출 하고 관리 - 서비스하는 개체 ) .. 11
파일 색인
파일 목록
다음은 문서화된 모든 파일에 대한 목록입니다. (간략한 설명만을 보여줍니다) :
Source/IFCElement.h (IFCElement 구조체를 정의 ) ............................................................................. 17
Source/IFCManager.cpp (IFCManager 클래스의 맴버 메소드들을 구현 ) ................................... 19
Source/IFCManager.h (IFCManager 클래스를 정의 ) .......................................................................... 21
Source/IFCManagerDLLInterface.cpp (IFCManagerDLLInterface.h 의 함수들을 구현 ) ....... 23
Source/IFCManagerDLLInterface.h (MyIFCEngine 의 인터페이스를 정의한다 ) ..................... 30
클래스 문서화
CUSTOMVERTEX 클래스 참조
TNO 사의 IFC엔진에서 버텍스를 얻기위한 고정된 형태의 자료구조.
Public 속성
l float x
버텍스의 x 좌표
l float y
버텍스의 y 좌표
l float z
버텍스의 z 좌표
l float nx
버텍스의 법선 x 좌표
l float ny
버텍스의 법선 y 좌표
l float nz
버텍스의 법선 z 좌표
상세한 설명
TNO 사의 IFC엔진에서 버텍스를 얻기위한 고정된 형태의 자료구조.
날짜:
2010/12/12
작성자:
유승재
IFCManager.cpp 파일의 23 번째 라인에서 정의되었습니다.
멤버 데이타 문서화
float CUSTOMVERTEX::nx
버텍스의 법선 x 좌표
IFCManager.cpp 파일의 27 번째 라인에서 정의되었습니다.
float CUSTOMVERTEX::ny
버텍스의 법선 y 좌표
IFCManager.cpp 파일의 28 번째 라인에서 정의되었습니다.
float CUSTOMVERTEX::nz
버텍스의 법선 z 좌표
IFCManager.cpp 파일의 29 번째 라인에서 정의되었습니다.
float CUSTOMVERTEX::x
버텍스의 x 좌표
IFCManager.cpp 파일의 24 번째 라인에서 정의되었습니다.
float CUSTOMVERTEX::y
버텍스의 y 좌표
IFCManager.cpp 파일의 25 번째 라인에서 정의되었습니다.
float CUSTOMVERTEX::z
버텍스의 z 좌표
IFCManager.cpp 파일의 26 번째 라인에서 정의되었습니다.
이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.:
l Source/IFCManager.cpp
IFCElement 클래스 참조
IFC 요소들이 공통적으로 가지고 있어야 할 데이터를 정의하는 구조체.
#include <IFCElement.h>
IFCElement에 대한 협력 다이어그램:
Public 속성
l string name
IFC 요소의 이름
l double width
IFC 요소의 폭.
l double height
IFC 요소의 높이.
l double thickness
IFC 요소의 두께.
l int startVertex
IFC 요소가 렌더링 될 시작 버텍스.
l int startIndex
IFC 요소가 렌더링 될 시작 인덱스.
l int primitiveCount
l double boundingBoxStartPointOx
IFC 요소가 렌더링 될 기본 도형 수(삼각형).
l double boundingBoxStartPointOy
IFC 요소의 경계상자 시작점 y좌표.
l double boundingBoxStartPointOz
IFC 요소의 경계상자 시작점 z좌표.
l double boundingBoxEndPointVx
IFC 요소의 경계상자 끝점 x좌표.
l double boundingBoxEndPointVy
IFC 요소의 경계상자 끝점 y좌표.
l double boundingBoxEndPointVz
IFC 요소의 경계상자 끝점 z좌표.
상세한 설명
IFC 요소들이 공통적으로 가지고 있어야 할 데이터를 정의하는 구조체.
날짜:
2010/12/12
작성자:
유승재
IFCElement.h 파일의 20 번째 라인에서 정의되었습니다.
멤버 데이타 문서화
double IFCElement::boundingBoxEndPointVx
IFC 요소의 경계상자 끝점 x좌표.
IFCElement.h 파일의 37 번째 라인에서 정의되었습니다.
double IFCElement::boundingBoxEndPointVy
IFC 요소의 경계상자 끝점 y좌표.
IFCElement.h 파일의 38 번째 라인에서 정의되었습니다.
double IFCElement::boundingBoxEndPointVz
IFC 요소의 경계상자 끝점 z좌표.
IFCElement.h 파일의 39 번째 라인에서 정의되었습니다.
double IFCElement::boundingBoxStartPointOx
IFC 요소가 렌더링 될 기본 도형 수(삼각형).
IFC 요소의 경계상자 시작점 x좌표.
IFCElement.h 파일의 33 번째 라인에서 정의되었습니다.
double IFCElement::boundingBoxStartPointOy
IFC 요소의 경계상자 시작점 y좌표.
IFCElement.h 파일의 34 번째 라인에서 정의되었습니다.
double IFCElement::boundingBoxStartPointOz
IFC 요소의 경계상자 시작점 z좌표.
IFCElement.h 파일의 35 번째 라인에서 정의되었습니다.
double IFCElement::height
IFC 요소의 높이.
IFCElement.h 파일의 26 번째 라인에서 정의되었습니다.
string IFCElement::name
IFC 요소의 이름
IFCElement.h 파일의 23 번째 라인에서 정의되었습니다.
int IFCElement::startIndex
IFC 요소가 렌더링 될 시작 인덱스.
IFCElement.h 파일의 30 번째 라인에서 정의되었습니다.
int IFCElement::startVertex
IFC 요소가 렌더링 될 시작 버텍스.
IFCElement.h 파일의 29 번째 라인에서 정의되었습니다.
double IFCElement::thickness
IFC 요소의 두께.
IFCElement.h 파일의 27 번째 라인에서 정의되었습니다.
double IFCElement::width
IFC 요소의 폭.
IFCElement.h 파일의 25 번째 라인에서 정의되었습니다.
이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.:
l Source/IFCElement.h
IFCManager 클래스 참조
TNO사의 IFC엔진을 이용해 데이터를 추출 하고 관리 - 서비스하는 개체.
#include <IFCManager.h>
Public 멤버 함수
l IFCManager (const string &fileName, const string &schemaName)
IFCManager개체는 하나의 IFC파일을 관리한다.
l virtual ~IFCManager (void)
개체 소멸자
l int GetVerticesCount () const
버텍스 집합의 개수를 반환한다.
l int GetIndicesCount () const
인덱스 집합의 개수를 반환한다.
l void IndisiceCopy (int indisice[]) const
인덱스 집합을 카피 한다.
l void VertisiceCopy (double vertisice[]) const
버텍스 집합을 카피 한다.
l void DerivedElemntsFromIFCModel (const string &ifcEntityClassName)
파일에서 원하는 IFC요소의 모든 인스턴스를 추출한다.
l void GetElements (const string &ifcEntityClassName, vector< const IFCElement * > &elements)
해당 IFC요소의 인스턴스를 모두 얻어온다.
Private 멤버 함수
l void OpenIFCFile (const string &fileName, const string &schemaName)
IFC파일과 스키마파일을 오픈한다.
l void Get3DMesh (void)
3D 렌더링에 필요한 버텍스 집합(mesh)과 인덱스 집합을 파일로 부터 얻어온다.
Private 속성
l int ifcModel
TNO사의 IFC엔진에서 오픈된 파일을 식별하는 고유 값.
l IFCMap ifcMap
추출한 ifc 인스턴스들을 보관하고 관리 할 컨테이너(multimap).
l int verticesCount
3D로 건물을 렌더링 하기 위한 버텍스 집합의 개수.
l int indicesCount
3D로 건물을 렌더링 하기 위한 인덱스 집합의 개수.
l int * indisice
3D로 건물을 렌더링 하기 위한 인덱스 집합.
l float * vertisice
3D로 건물을 렌더링 하기 위한 인덱스 집합.
상세한 설명
TNO사의 IFC엔진을 이용해 데이터를 추출 하고 관리 - 서비스하는 개체.
날짜:
2010/12/12
작성자:
유승재
IFCManager.h 파일의 27 번째 라인에서 정의되었습니다.
생성자 & 소멸자 문서화
IFCManager::IFCManager (const string & fileName, const string & schemaName)
IFCManager개체는 하나의 IFC파일을 관리한다.
매개변수:
fileName |
오픈 할 IFC 파일 명. |
schemaName |
오픈 할 스키마 파일 명. |
IFCManager.cpp 파일의 37 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCManager::~IFCManager (void) [virtual]
개체 소멸자
IFCManager.cpp 파일의 44 번째 라인에서 정의되었습니다.
멤버 함수 문서화
void IFCManager::DerivedElemntsFromIFCModel (const string & ifcEntityClassName)
파일에서 원하는 IFC요소의 모든 인스턴스를 추출한다.
매개변수:
ifcEntityClassName |
파일에서 추출해 낼 IFC요소 타입 이름 ( ex : ifcBeam ) |
IFCManager.cpp 파일의 88 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
void IFCManager::Get3DMesh (void) [private]
3D 렌더링에 필요한 버텍스 집합(mesh)과 인덱스 집합을 파일로 부터 얻어온다.
IFCManager.cpp 파일의 73 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
void IFCManager::GetElements (const string & ifcEntityClassName, vector< const IFCElement * > & elements)
해당 IFC요소의 인스턴스를 모두 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름. ( ex : ifcBeam ) |
elements |
ifcEntityClassName에 해당하는 IFC타입 인스턴스를 얻어올 컨테이너. |
IFCManager.cpp 파일의 167 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
int IFCManager::GetIndicesCount () const
인덱스 집합의 개수를 반환한다.
IFCManager.cpp 파일의 142 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
int IFCManager::GetVerticesCount () const
버텍스 집합의 개수를 반환한다.
IFCManager.cpp 파일의 138 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
void IFCManager::IndisiceCopy (int indisice[]) const
인덱스 집합을 카피 한다.
매개변수:
indisice |
맴버변수 indisice를 카피 할 인덱스 배열. |
IFCManager.cpp 파일의 150 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
void IFCManager::OpenIFCFile (const string & fileName, const string & schemaName) [private]
IFC파일과 스키마파일을 오픈한다.
매개변수:
fileName |
오픈 할 IFC 파일 명. |
schemaName |
오픈 할 스키마 파일 명. |
IFCManager.cpp 파일의 62 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
void IFCManager::VertisiceCopy (double vertisice[]) const
버텍스 집합을 카피 한다.
매개변수:
vertisice |
맴버변수 vertisice를 카피 할 버텍스 배열. |
IFCManager.cpp 파일의 158 번째 라인에서 정의되었습니다.
이 함수를 호출하는 함수들에 대한 그래프입니다.:
멤버 데이타 문서화
IFCMap IFCManager::ifcMap [private]
추출한 ifc 인스턴스들을 보관하고 관리 할 컨테이너(multimap).
IFCManager.h 파일의 31 번째 라인에서 정의되었습니다.
int IFCManager::ifcModel [private]
TNO사의 IFC엔진에서 오픈된 파일을 식별하는 고유 값.
IFCManager.h 파일의 29 번째 라인에서 정의되었습니다.
int IFCManager::indicesCount [private]
3D로 건물을 렌더링 하기 위한 인덱스 집합의 개수.
IFCManager.h 파일의 34 번째 라인에서 정의되었습니다.
int* IFCManager::indisice [private]
3D로 건물을 렌더링 하기 위한 인덱스 집합.
IFCManager.h 파일의 36 번째 라인에서 정의되었습니다.
int IFCManager::verticesCount [private]
3D로 건물을 렌더링 하기 위한 버텍스 집합의 개수.
IFCManager.h 파일의 33 번째 라인에서 정의되었습니다.
float* IFCManager::vertisice [private]
3D로 건물을 렌더링 하기 위한 인덱스 집합.
IFCManager.h 파일의 37 번째 라인에서 정의되었습니다.
이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.:
l Source/IFCManager.h
l Source/IFCManager.cpp
파일 문서화
Source/IFCElement.h 파일 참조
IFCElement 구조체를 정의
#include <string>
IFCElement.h에 대한 include 의존 그래프
이 그래프는 이 파일을 직/간접적으로 include 하는 파일들을 보여줍니다.:
클래스
l class IFCElement
IFC 요소들이 공통적으로 가지고 있어야 할 데이터를 정의하는 구조체.
상세한 설명
IFCElement 구조체를 정의
날짜:
2010/12/12
작성자:
유승재
IFCElement.h 파일에서 정의되었습니다.
Source/IFCManager.cpp 파일 참조
IFCManager 클래스의 맴버 메소드들을 구현.
#include "IFCManager.h"
#include "IFCEngine.h"
#include "d3d8.h"
#include "d3dx8.h"
#include <memory.h>
IFCManager.cpp에 대한 include 의존 그래프
클래스
l class CUSTOMVERTEX
TNO 사의 IFC엔진에서 버텍스를 얻기위한 고정된 형태의 자료구조. 매크로
l #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_NORMAL)
타입정의
l typedef struct CUSTOMVERTEX customvertex
상세한 설명
IFCManager 클래스의 맴버 메소드들을 구현.
날짜:
2010/12/12
작성자:
유승재
IFCManager.cpp 파일에서 정의되었습니다.
Source/IFCManager.h 파일 참조
IFCManager 클래스를 정의.
#include <map>
#include <vector>
#include <string>
#include "IFCElement.h"
IFCManager.h에 대한 include 의존 그래프
이 그래프는 이 파일을 직/간접적으로 include 하는 파일들을 보여줍니다.:
클래스
l class IFCManager
TNO사의 IFC엔진을 이용해 데이터를 추출 하고 관리 - 서비스하는 개체. 타입정의
l typedef multimap< string, IFCElement * > IFCMap
l typedef IFCMap::iterator IMIter
상세한 설명
IFCManager 클래스를 정의.
날짜:
2010/12/12
작성자:
유승재
IFCManager.h 파일에서 정의되었습니다.
Source/IFCManagerDLLInterface.cpp 파일 참조
IFCManagerDLLInterface.h 의 함수들을 구현.
#include <vector>
#include "IFCManagerDLLInterface.h"
#include "IFCManager.h"
IFCManagerDLLInterface.cpp에 대한 include 의존 그래프
함수
l IFCMANAGERDLLINTERFACE_DLL_TYPE void CreateIFCModel (const char *fileName, const char *schemaName)
스키마와 IFC파일을 연다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetIndicesCount ()
인덱스 집합의 개수를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetVerticesCount ()
버텍스 집합의 개수를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void IndisiceCopy (int indisice[])
인덱스 집합을 카피 해 온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void VertisiceCopy (double vertisice[])
버텍스 집합을 카피 해 온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void DerivedElemntsFromIFCModel (const char *ifcEntityClassName)
파일에서 원하는 IFC요소의 모든 인스턴스를 추출한다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetExistElementCount (const char *ifcEntityClassName)
해당 IFC요소의 인스턴스가 몇개인지 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE const char * GetElementNameUsingIndex (const char *ifcEntityClassName, int index)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스 갖는 이름을 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElement3DDrawInfoUsingIndex (const char *ifcEntityClassName, int index, int *startIndex, int *primitiveCount)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 3D 렌더링 정보를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementSizeInfoUsingIndex (const char *ifcEntityClassName, int index, double *width, double *height, double *thickness)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 크기 정보를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementBoundingBoxUsingIndex (const char *ifcEntityClassName, int index, double *boundingBoxStartPointOx, double *boundingBoxStartPointOy, double *boundingBoxStartPointOz, double *boundingBoxEndPointVx, double *boundingBoxEndPointVy, double *boundingBoxEndPointVz)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 경계상자를 얻어온다.
변수
l IFCManager * ifcManager = 0
IFC관리 개체
상세한 설명
IFCManagerDLLInterface.h 의 함수들을 구현.
날짜:
2010/12/12
작성자:
유승재
IFCManagerDLLInterface.cpp 파일에서 정의되었습니다.
함수 문서화
IFCMANAGERDLLINTERFACE_DLL_TYPE void CreateIFCModel (const char * fileName, const char * schemaName)
스키마와 IFC파일을 연다.
매개변수:
fileName |
: IFC 파일 명. |
schemaName |
: 스키마 파일 명. |
경고:
다른 함수들을 호출하기 전에 먼저 호출 해 주어야 한다.
IFCManagerDLLInterface.cpp 파일의 24 번째 라인에서 정의되었습니다.
IFCMANAGERDLLINTERFACE_DLL_TYPE void DerivedElemntsFromIFCModel (const char * ifcEntityClassName)
파일에서 원하는 IFC요소의 모든 인스턴스를 추출한다.
매개변수:
ifcEntityClassName |
파일에서 추출해 낼 IFC요소 타입 이름 ( ex : ifcBeam ) 해당 IFC요소 타입에 해당하는 모든 인스턴스를 추출해 낸다. |
IFCManagerDLLInterface.cpp 파일의 73 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElement3DDrawInfoUsingIndex (const char * ifcEntityClassName, int index, int * startIndex, int * primitiveCount)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 3D 렌더링 정보를 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름 ( ex : ifcBeam ) |
index |
ifcEntityClassName에 해당하는 IFC타입 인스턴스 집합에서 이 인덱스 값으로 지정된 인스턴스의 정보를 얻어온다. |
startIndex |
지정된 인스턴스가 렌더링 될 시작 인덱스. |
primitiveCount |
지정된 인스턴스가 렌더링 될 기본 도형의 개수(삼각형). |
IFCManagerDLLInterface.cpp 파일의 109 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementBoundingBoxUsingIndex (const char * ifcEntityClassName, int index, double * boundingBoxStartPointOx, double * boundingBoxStartPointOy, double * boundingBoxStartPointOz, double * boundingBoxEndPointVx, double * boundingBoxEndPointVy, double * boundingBoxEndPointVz)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 경계상자를 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름 ( ex : ifcBeam ) |
index |
ifcEntityClassName에 해당하는 IFC타입 인스턴스 집합에서 이 인덱스 값으로 지정된 인스턴스의 정보를 얻어온다. |
boundingBoxStartPointOx |
지정된 인스턴스의 경계상자 시작점의 x좌표를 얻어온다. |
boundingBoxStartPointOy |
지정된 인스턴스의 경계상자 시작점의 x좌표를 얻어온다. |
boundingBoxStartPointOz |
지정된 인스턴스의 경계상자 시작점의 y좌표를 얻어온다. |
boundingBoxEndPointVx |
지정된 인스턴스의 경계상자 끝점의 x좌표를 얻어온다. |
boundingBoxEndPointVy |
지정된 인스턴스의 경계상자 끝점의 y좌표를 얻어온다. |
boundingBoxEndPointVz |
지정된 인스턴스의 경계상자 끝점의 z좌표를 얻어온다. |
IFCManagerDLLInterface.cpp 파일의 147 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE const char* GetElementNameUsingIndex (const char * ifcEntityClassName, int index)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스 갖는 이름을 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름 ( ex : ifcBeam ) |
index |
ifcEntityClassName에 해당하는 IFC타입 인스턴스 집합에서 이 인덱스 값으로 지정된 인스턴스의 정보를 얻어온다. |
반환값:
인스턴스 집합에 index에 의해 지정된 인스턴스의 name을 반환 한다.
IFCManagerDLLInterface.cpp 파일의 95 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementSizeInfoUsingIndex (const char * ifcEntityClassName, int index, double * width, double * height, double * thickness)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 크기 정보를 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름 ( ex : ifcBeam ) |
index |
ifcEntityClassName에 해당하는 IFC타입 인스턴스 집합에서 이 인덱스 값으로 지정된 인스턴스의 정보를 얻어온다. |
width |
지정된 인스턴스의 폭(x)을 얻어온다.. |
height |
지정된 인스턴스의 높이(y)를 얻어온다. |
thickness |
지정된 인스턴스의 두께(z)를 얻어온다. |
IFCManagerDLLInterface.cpp 파일의 126 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE int GetExistElementCount (const char * ifcEntityClassName)
해당 IFC요소의 인스턴스가 몇개인지 얻어온다.
매개변수:
ifcEntityClassName |
IFC요소 타입 이름 ( ex : ifcBeam ) |
반환값:
ifcEntityClassName에 해당하는 IFC타입의 인스턴스가 총 몇개 존재하는지 개수를 얻어온다.
IFCManagerDLLInterface.cpp 파일의 82 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE int GetIndicesCount ()
인덱스 집합의 개수를 얻어온다.
반환값:
3D 렌더링에 필요한 인덱스 집합의 총 개수를 반환한다.
IFCManagerDLLInterface.cpp 파일의 37 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE int GetVerticesCount ()
버텍스 집합의 개수를 얻어온다.
반환값:
3D 렌더링에 필요한 버텍스 집합의 총 개수를 반환한다.
IFCManagerDLLInterface.cpp 파일의 45 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE void IndisiceCopy (int indisice[])
인덱스 집합을 카피 해 온다.
매개변수:
indisice |
카피 받을 인덱스 배열, 적당한 메모리가 할당 돼 있어야한다. GetIndicesCount() 를 이용해 인덱스 배열의 크기를 얻어와 메모리를 할당하면 된다. |
IFCManagerDLLInterface.cpp 파일의 54 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
IFCMANAGERDLLINTERFACE_DLL_TYPE void VertisiceCopy (double vertisice[])
버텍스 집합을 카피 해 온다.
매개변수:
vertisice |
카피 받을 버텍스 배열, 적당한 메모리가 할당 돼 있어야한다. GetVerticesCount() 를 이용해 버텍스 배열의 크기를 얻어와 메모리를 할당하면 된다. 버텍스는 CUSTOMVERTEX 에 정의된 바 대로, 6개의 데이터가 하나의 버텍스를 이룬다. |
IFCManagerDLLInterface.cpp 파일의 64 번째 라인에서 정의되었습니다.
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
변수 문서화
IFCManager* ifcManager = 0
IFC관리 개체
IFCManagerDLLInterface.cpp 파일의 17 번째 라인에서 정의되었습니다.
Source/IFCManagerDLLInterface.h 파일 참조
MyIFCEngine 의 인터페이스를 정의한다.
#include "IFCElement.h"
IFCManagerDLLInterface.h에 대한 include 의존 그래프
이 그래프는 이 파일을 직/간접적으로 include 하는 파일들을 보여줍니다.:
매크로
l #define IFCMANAGERDLLINTERFACE_DLL_TYPE __declspec(dllimport)
함수
l IFCMANAGERDLLINTERFACE_DLL_TYPE void CreateIFCModel (const char *fileName, const char *schemaName)
스키마와 IFC파일을 연다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetIndicesCount ()
인덱스 집합의 개수를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetVerticesCount ()
버텍스 집합의 개수를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void IndisiceCopy (int indisice[])
인덱스 집합을 카피 해 온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void VertisiceCopy (double vertisice[])
버텍스 집합을 카피 해 온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void DerivedElemntsFromIFCModel (const char *ifcEntityClassName)
파일에서 원하는 IFC요소의 모든 인스턴스를 추출한다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE int GetExistElementCount (const char *ifcEntityClassName)
해당 IFC요소의 인스턴스가 몇개인지 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE const char * GetElementNameUsingIndex (const char *ifcEntityClassName, int index)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스 갖는 이름을 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElement3DDrawInfoUsingIndex (const char *ifcEntityClassName, int index, int *startIndex, int *primitiveCount)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 3D 렌더링 정보를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementSizeInfoUsingIndex (const char *ifcEntityClassName, int index, double *width, double *height, double *thickness)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 크기 정보를 얻어온다.
l IFCMANAGERDLLINTERFACE_DLL_TYPE void GetElementBoundingBoxUsingIndex (const char *ifcEntityClassName, int index, double *boundingBoxStartPointOx, double *boundingBoxStartPointOy, double *boundingBoxStartPointOz, double *boundingBoxEndPointVx, double *boundingBoxEndPointVy, double *boundingBoxEndPointVz)
해당 IFC요소의 인스턴스 중 지정한 인덱스의 인스턴스가 갖는 경계상자를 얻어온다.
상세한 설명
MyIFCEngine 의 인터페이스를 정의한다.
날짜:
2010/12/12
작성자:
유승재
IFCManagerDLLInterface.h 파일에서 정의되었습니다.
함수 문서화
IFCMANAGERDLLINTERFACE_DLL_TYPE void CreateIFCModel (const char * fileName, const char * schemaName)
스키마와 IFC파일을 연다.
매개변수:
첫댓글 Good!
여기에 현재 엔진을 사용하는 예를 보여주면 좀 더 나을 듯