CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMDatabase.h
Go to the documentation of this file.
1//
2// (C) Copyright 2020-2025 by Graebert GmbH.
3//
4// Permission to use, copy, modify, and distribute this software in
5// object code form for any purpose and without fee is hereby granted,
6// provided that the above copyright notice appears in all copies and
7// that both that copyright notice and the limited warranty and
8// restricted rights notice below appear in all supporting
9// documentation.
10//
11// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15// UNINTERRUPTED OR ERROR FREE.
16
17#pragma once
18
19#include "FxBIM.h"
20#include "FxBIMConversion.h"
21#include "FxBIMEntity.h"
22
24
25#include <DbObject.h>
26#include <DbDatabase.h>
27
28#if !defined( FX_BIM_CONVERTERS ) && !defined( FXBIM_SC )
29 #if TD_VERSION >= 201000
30
31 class OdIfcFile;
33
34 #else
35
36 namespace OdIfc
37 {
38 class OdIfcFile;
40 }
41
42 #endif
43
46
47 class OdBmDatabase;
49#endif //FX_BIM_CONVERTERS
50
51class CFxBIMDatabase;
53
54class OdDbDwgFiler;
55
56enum class DisciplineType;
57
58class CFxBIMLevel;
60
62{
63public:
64 [[deprecated]]
65 static Error Convert( const OdString& source, CFxBIMConversion& c, bool async, CFxDocument * pDoc );
67
68public:
70
71 virtual ~CFxBIMDatabase();
72
73 virtual const OdString& FileName() const;
74 virtual fileType FileType() const;
75 virtual size_t FileSize() const; //in bytes
76 virtual const OdString& FileCreator() const; //author's name
77
78 virtual CFxBIMDbIteratorRAPtr Entities(); //CFxBIMEntity
79 virtual Error AddEntity( CFxBIMEntityPtr pEntity );
80 virtual OdDbObjectId Entity( const OdString &UniqueId ) const;
81
85
88 virtual Error AddDiscipline( CFxBIMDisciplinePtr pDiscipline );
90
93 virtual Error AddZone( CFxBIMZonePtr pZone );
94
96 [[deprecated( "Use version that passes floor and building as parameters" )]]
98 CFxBIMSpacePtr GetSpace( const OdString& name, const OdString& floor, const OdString& building );
99 virtual Error AddSpace( CFxBIMSpacePtr pSpace );
100
102 [[deprecated( "Use version that passes building as a parameter" )]]
104 CFxBIMFloorPtr GetFloor( const OdString& name, const OdString& building );
105 virtual Error AddFloor( CFxBIMFloorPtr pFloor );
106
108 OdDbObjectId GetLevel( const OdString& strName );
109 OdDbObjectId GetLevel( const double dHeight );
112
115 virtual Error AddCategory( CFxBIMCategoryPtr pCategory );
116
118
119 virtual CFxBIMDbIteratorRAPtr Models(); //CFxBIMDatabaseReference
120
121#if !defined( FX_BIM_CONVERTERS ) && !defined( FXBIM_SC )
122#if TD_VERSION >= 201000
124#else
125 static OdIfc::OdIfcFilePtr GetIFC( const OdString& fileName, OdIfcHostAppServicesPtr pIfcHAS = OdIfcHostAppServicesPtr() );
126#endif
127
128#if !defined (Q_OS_MAC) && !defined (Q_OS_LINUX)
129 static OdBmDatabasePtr GetRVT( const OdString& fileName );
130#endif
131
132 // 0 - undefined schema,
133 // 1 - 2x3 schema,
134 // 2 - 4 schema,
135 // 3 - 4x2 schema
136#if TD_VERSION >= 201000
138#else
139 static OdIfc::OdIfcFilePtr CreateIFC( int schema, OdIfcHostAppServicesPtr pIfcHAS = OdIfcHostAppServicesPtr() );
140#endif
141#endif
142
144 virtual OdDbObjectId GetMaterial( const OdString& name ); //CFxBIMMaterial
145 virtual Error AddMaterial( CFxBIMMaterialPtr pMaterial );
147
148public:
149 OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
150 void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
151
152 OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
153 void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
154
155protected:
157};
std::shared_ptr< CFxBIMDbIteratorRA > CFxBIMDbIteratorRAPtr
Definition FxBIM.h:147
Error
Definition FxBIM.h:40
std::shared_ptr< CFxBIMIteratorRA > CFxBIMIteratorRAPtr
Definition FxBIM.h:143
std::shared_ptr< CFxBIMIterator > CFxBIMIteratorPtr
Definition FxBIM.h:141
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
std::shared_ptr< CFxBIMBuilding > CFxBIMBuildingPtr
std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr
fileType
OdSmartPtr< OdIfcHostAppServices > OdIfcHostAppServicesPtr
OdSmartPtr< OdBmDatabase > OdBmDatabasePtr
OdSmartPtr< CFxBIMLevel > CFxBIMLevelPtr
OdSmartPtr< OdIfcFile > OdIfcFilePtr
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
DisciplineType
std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr
std::shared_ptr< CFxBIMZone > CFxBIMZonePtr
Definition FxBIMEntity.h:47
OdSmartPtr< CFxBIMEntity > CFxBIMEntityPtr
Definition FxBIMEntity.h:35
std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr
Definition FxBIMEntity.h:50
std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr
Definition FxBIMEntity.h:53
OdSmartPtr< CFxBIMMaterial > CFxBIMMaterialPtr
Definition FxBIMEntity.h:62
OdResult
Definition OdResult.h:29
CFxBIMSpacePtr GetSpace(const OdString &name, const OdString &floor, const OdString &building)
static OdIfcFilePtr GetIFC(const OdString &fileName, OdIfcHostAppServicesPtr pIfcHAS=OdIfcHostAppServicesPtr())
static Error Convert(CFxBIMConversion &c)
virtual CFxBIMIteratorPtr Types()
virtual CFxBIMCategoryPtr GetCategory(const OdString &name)
virtual size_t FileSize() const
virtual Error RemoveMaterial(CFxBIMMaterialPtr pMaterial)
virtual Error AddDiscipline(CFxBIMDisciplinePtr pDiscipline)
virtual CFxBIMZonePtr GetZone(const OdString &name)
virtual const OdString & FileCreator() const
virtual Error AddFloor(CFxBIMFloorPtr pFloor)
virtual CFxBIMIteratorRAPtr Zones()
virtual ~CFxBIMDatabase()
OdResult dxfInFields(OdDbDxfFiler *pFiler) override
virtual OdDbObjectId GetMaterial(const OdString &name)
virtual Error AddCategory(CFxBIMCategoryPtr pCategory)
virtual CFxBIMIteratorRAPtr Spaces()
virtual Error AddMaterial(CFxBIMMaterialPtr pMaterial)
Error AddLevel(CFxBIMLevelPtr ptrLevel)
virtual CFxBIMDisciplinePtr GetDiscipline(const OdString &name)
void dwgOutFields(OdDbDwgFiler *pFiler) const override
virtual const OdString & FileName() const
virtual Error SetDisciplineForAll(DisciplineType type, const OdString &customName=OdString::kEmpty)
CFxBIMBuildingPtr GetBuilding(const OdString &name)
OdDbObjectId GetLevel(const double dHeight)
virtual CFxBIMDbIteratorRAPtr Models()
CFxBIMDbIteratorRAPtr Levels()
virtual OdDbObjectId Entity(const OdString &UniqueId) const
void dxfOutFields(OdDbDxfFiler *pFiler) const override
virtual CFxBIMIteratorRAPtr Floors()
OdResult dwgInFields(OdDbDwgFiler *pFiler) override
static OdBmDatabasePtr GetRVT(const OdString &fileName)
virtual Error AddSpace(CFxBIMSpacePtr pSpace)
ODDB_DECLARE_MEMBERS(CFxBIMDatabase)
virtual fileType FileType() const
static Error Convert(const OdString &source, CFxBIMConversion &c, bool async, CFxDocument *pDoc)
CFxBIMIteratorRAPtr Buildings()
OdDbObjectId GetLevel(const OdString &strName)
virtual CFxBIMDbIteratorRAPtr Materials()
defined( FX_BIM_CONVERTERS ) && !defined( FXBIM_SC )
virtual CFxBIMDbIteratorRAPtr Entities()
virtual CFxBIMIteratorRAPtr Disciplines()
Error RemoveLevel(CFxBIMLevelPtr ptrLevel)
CFxBIMFloorPtr GetFloor(const OdString &name, const OdString &building)
virtual Error AddZone(CFxBIMZonePtr pZone)
virtual Error AddEntity(CFxBIMEntityPtr pEntity)
Error AddBuilding(CFxBIMBuildingPtr pBuilding)
virtual CFxBIMSpacePtr GetSpace(const OdString &name)
virtual CFxBIMFloorPtr GetFloor(const OdString &name)
static OdIfcFilePtr CreateIFC(int schema, OdIfcHostAppServicesPtr pIfcHAS=OdIfcHostAppServicesPtr())
virtual CFxBIMIteratorRAPtr Categories()
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
Definition OdString.h:100
GLuint const GLchar * name
Definition gles2_ext.h:265
GLsizei GLsizei GLchar * source
Definition gles2_ext.h:282
GLuint GLsizei GLsizei GLint GLenum * type
Definition gles2_ext.h:274