The following table illustrates dependencies for the IFC SDK library.
For static configurations, you need to link all listed libraries depending on what functionality you want to use from the IFC SDK.
For static configurations, use the Is Linking Needed
column in the table and its legend
to find out whether you need to link an appropriate library to your application project.
Functionality | Library Name | Is Linking Needed | CMake Variable | Product | Description | ||
---|---|---|---|---|---|---|---|
BCF Support |
BCF :
|
+ |
${BCF_LIB}
|
IFC SDK | The library that contains functionality for BIM Collaboration Files format support. | ||
Geometry Visualization | Generation of the geometry for one of the supported modelers. | ||||||
IfcSpaModeler.tx
|
-
no public |
${IFCSPAMODELER_LIB}
|
IFC SDK | Support of 3D Spatial® ACIS® modeler operations for the IFC SDK. | |||
SpaACIS:
|
+ |
${SPATIAL_DIR}
|
Spatial® ACIS® | A commercial third-party library that supports creating, rendering 3D ACIS entities, boolean operations between two entities, and other related functionality. A separate license from Spatial Corporation is required. | |||
IfcBrepModelerPE.tx
|
-
no public |
${IFCBREPMODELERPE_LIB}
|
IFC SDK | ||||
IfcBrepModeler.tx
|
-
no public |
${IFCBREPMODELER_LIB}
|
IFC SDK | Provides a B-Rep support functionality for the IFC SDK. Based on the ODA Solid Modeler. | |||
OdBrepModeler:
|
+ |
${TCOMPONENTS_BREPMODELER_LIB}
|
ODA SDK | Provides native support of the 3D solid operations: extrude, sweep, and boolean operations. | |||
TD_BrepRenderer :
|
+ |
${TD_BREPRENDERER_LIB}
|
Kernel SDK | Provides the rendering functionality for B-Reps. | |||
IfcFacetModeler.tx
|
-
no public |
${IFCFACETMODELER_LIB}
|
IFC SDK | Provides facet modeler functionality for the IFC SDK. Based on the ODA Facet Modeler. | |||
FacetModeler :
|
+ |
${FACET_MODELER_LIB}
|
FacetModeler SDK | ODA Facet Modeler is used to work with B-Rep data. | |||
IfcBrepBuilder.tx
|
-
no public |
${IFCBREPBUILDER_LIB}
|
IFC SDK | B-Rep Builder for IFC Advanced B-Reps. | |||
IfcGeom :
|
+/-
for public |
${IFCGEOM_LIB}
|
IFC SDK | Geometry and geometry-related High-Level functionality. | |||
Data Access Through the SDAI or C++ API | Minimally needed set of libraries to work with IFC data without the geometry generation. | ||||||
IFC*.txexp
|
+
for early |
${IFC*_LIB}
|
IFC SDK | Schema-dependent modules (Schema name + .txexp). | |||
IfcCore :
|
+ |
${IFCCORE_LIB}
|
IFC SDK | Base infrastructure classes for IFC and High-Level functionality. | |||
zipIO.tx
|
+ |
${ZIPIO_LIB}
|
IFC SDK | Zipped formats support (*.ifczip). | |||
hdf5io.tx
|
-
no public |
${HDF5IO_LIB}
|
IFC SDK | HDF5 binary format support. | |||
sdai.tx
|
+ |
${SDAI_LIB}
|
IFC SDK | C++ API and Standard Data Access Interface (SDAI). | |||
TD_Gi :
|
+ |
${TD_GI_LIB}
|
Kernel SDK | Provides an interface for information exchange between a database to be drawn and specific graphic modules inside the graphic system that vectorize graphics (vectorizers). | |||
TD_Ge :
|
+ |
${TD_GE_LIB}
|
Kernel SDK | Provides functionality for the implementation of the graphics system, including vectorizers, graphic devices, views, etc. | |||
TD_Root:
|
+ |
${TD_ROOT_LIB}
|
Kernel SDK | A library that contains root ODA Software functionality. | |||
TD_DbRoot :
|
+ |
${TD_DBROOT_LIB}
|
Kernel SDK | A library that contains root ODA Software functionality for database operations support. | |||
TD_SpatialIndex :
|
+ |
${TD_SPATIALINDEX_LIB}
|
Kernel SDK | The spatial indexing support (OdSi*). | |||
TD_Alloc :
|
+ |
${TD_ALLOC_LIB}
|
Kernel SDK | Custom memory allocation library for ODA products. |
For dynamic configurations, meanings of symbols in the column Is Linking Needed
are described in the following table.
Symbol | Description | ||
---|---|---|---|
+ | The library requires direct linking to your project. | ||
+ for early | The library should be linked to your project only if you are going to use it in the early binding mode. | ||
- | The library should not be linked to your project if you are not going to use the class public interfaces directly in your application. Such a library uses the late binding mechanism and is linked to your application after loading. | ||
no public | This option means that there is no public class interface in the library that can be directly used. Therefore it is not necessary to directly link the library to get access to its functionality in your applications. | ||
+/- for public | The library can be used in late binding mode and in this case you should not link it to your project, but if you are going to use class interfaces from the library directly, you need to link it to your project. |
Create Your First IFC SDK Application
Basic Concepts of IFC SDK Usage
Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.
|