CFx SDK Documentation  2020SP3
FxBIMDatabase.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "FxBIM.h"
4 #include "FxBIMEntity.h"
5 
7 
8 #include <DbObject.h>
9 #include <DbDatabase.h>
10 
11 class CFxBIMDatabase;
13 
14 class OdDbDwgFiler;
15 
16 #if TD_VERSION >= 201000
17 
18 class OdIfcFile;
20 
21 #else
22 
23 namespace OdIfc
24 {
25  class OdIfcFile;
27 }
28 
29 #endif
30 
33 
34 class OdBmDatabase;
36 
37 enum class DisciplineType;
38 
40 {
41 public:
42  static Error Convert( const OdString& source, Conversion c, bool async );
43 
44 public:
46 
47  virtual ~CFxBIMDatabase();
48 
49  virtual const OdString& FileName() const;
50  virtual FileType FileType() const;
51  virtual size_t FileSize() const; //in bytes
52  virtual const OdString& FileCreator() const; //author's name
53 
54  virtual CFxBIMDbIteratorRAPtr Entities(); //CFxBIMEntity
55  virtual Error AddEntity( CFxBIMEntityPtr pEntity );
56 
59  virtual Error AddDiscipline( CFxBIMDisciplinePtr pDiscipline );
61 
63  virtual CFxBIMZonePtr GetZone( const OdString& name );
64  virtual Error AddZone( CFxBIMZonePtr pZone );
65 
67  virtual CFxBIMSpacePtr GetSpace( const OdString& name );
68  virtual Error AddSpace( CFxBIMSpacePtr pSpace );
69 
71  virtual CFxBIMFloorPtr GetFloor( const OdString& name );
72  virtual Error AddFloor( CFxBIMFloorPtr pFloor );
73 
76  virtual Error AddCategory( CFxBIMCategoryPtr pCategory );
77 
79 
80  virtual CFxBIMDbIteratorRAPtr Models(); //CFxBIMDatabaseReference
81 #if TD_VERSION >= 201000
82  static OdIfcFilePtr GetIFC( const OdString& fileName, OdIfcHostAppServicesPtr pIfcHAS = OdIfcHostAppServicesPtr() );
83 #else
85 #endif
86  static OdBmDatabasePtr GetRVT( const OdString& fileName );
87 
88  // 0 - undefined schema,
89  // 1 - 2x3 schema,
90  // 2 - 4 schema,
91  // 3 - 4x2 schema
92 #if TD_VERSION >= 201000
93  static OdIfcFilePtr CreateIFC( int schema, OdIfcHostAppServicesPtr pIfcHAS = OdIfcHostAppServicesPtr() );
94 #else
96 #endif
97 
99  virtual OdDbObjectId GetMaterial( const OdString& name ); //CFxBIMMaterial
100  virtual Error AddMaterial( CFxBIMMaterialPtr pMaterial );
101 
102 public:
103  virtual OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
104  virtual void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
105 
106  virtual OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
107  virtual void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
108 
109 protected:
111 };
FxBIMEntity.h
OdResult
OdResult
Definition: OdResult.h:29
OdString
Definition: OdString.h:95
CFxBIMDatabase::ODDB_DECLARE_MEMBERS
ODDB_DECLARE_MEMBERS(CFxBIMDatabase)
Error
Error
Definition: FxBIM.h:18
CFxBIMDatabase::GetRVT
static OdBmDatabasePtr GetRVT(const OdString &fileName)
CFxBIMSpacePtr
std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr
Definition: FxBIMEntity.h:22
name
GLuint const GLchar * name
Definition: gles2_ext.h:265
CFxBIMDatabase::GetIFC
static OdIfc::OdIfcFilePtr GetIFC(const OdString &fileName, OdIfcHostAppServicesPtr pIfcHAS=OdIfcHostAppServicesPtr())
CFxBIMDatabase::Spaces
virtual CFxBIMIteratorRAPtr Spaces()
DbObject.h
CFxBIMZonePtr
std::shared_ptr< CFxBIMZone > CFxBIMZonePtr
Definition: FxBIMEntity.h:19
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
CFxBIMDatabase::GetSpace
virtual CFxBIMSpacePtr GetSpace(const OdString &name)
CFxBIMDatabase::GetCategory
virtual CFxBIMCategoryPtr GetCategory(const OdString &name)
OdDbObjectId
Definition: DbObjectId.h:99
CFxBIMDatabase::AddSpace
virtual Error AddSpace(CFxBIMSpacePtr pSpace)
source
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
CFxBIMDatabase::GetFloor
virtual CFxBIMFloorPtr GetFloor(const OdString &name)
CFxBIMDatabase::dxfInFields
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler) override
CFxBIMDatabase::GetDiscipline
virtual CFxBIMDisciplinePtr GetDiscipline(const OdString &name)
CFxBIMDatabase::CFxBIMDatabase
CFxBIMDatabase()
CFxBIMDatabase::AddMaterial
virtual Error AddMaterial(CFxBIMMaterialPtr pMaterial)
CFxBIMDatabase::AddEntity
virtual Error AddEntity(CFxBIMEntityPtr pEntity)
FXBIM_API
#define FXBIM_API
Definition: FxBIM.h:4
CFxBIMDatabase::Zones
virtual CFxBIMIteratorRAPtr Zones()
CFxBIMDatabase::GetZone
virtual CFxBIMZonePtr GetZone(const OdString &name)
CFxBIMDatabase::Entities
virtual CFxBIMDbIteratorRAPtr Entities()
OdIfc::OdIfcFile
Definition: IfcFile.h:46
CFxBIMCategoryPtr
std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr
Definition: FxBIMCategory.h:7
CFxBIMDatabase
Definition: FxBIMDatabase.h:40
CFxBIMDatabase::AddZone
virtual Error AddZone(CFxBIMZonePtr pZone)
CFxBIMDatabase::AddCategory
virtual Error AddCategory(CFxBIMCategoryPtr pCategory)
CFxBIMDatabase::Materials
virtual CFxBIMDbIteratorRAPtr Materials()
DisciplineType
DisciplineType
Definition: FxBIMDiscipline.h:11
CFxBIMDatabase::FileName
virtual const OdString & FileName() const
CFxBIMDatabase::Convert
static Error Convert(const OdString &source, Conversion c, bool async)
CFxBIMDatabase::dxfOutFields
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const override
CFxBIMDatabase::Types
virtual CFxBIMIteratorPtr Types()
OdSmartPtr
Definition: SmartPtr.h:58
OdIfc
Definition: FxBIMDatabase.h:24
Conversion
Definition: FxBIM.h:62
DbDatabase.h
CFxBIMDatabase::SetDisciplineForAll
virtual Error SetDisciplineForAll(DisciplineType type, const OdString &customName=OdString::kEmpty)
OdIfcHostAppServices
Definition: IfcHostAppServices.h:39
CFxBIMIteratorPtr
std::shared_ptr< CFxBIMIterator > CFxBIMIteratorPtr
Definition: FxBIM.h:156
CFxBIMIteratorRAPtr
std::shared_ptr< CFxBIMIteratorRA > CFxBIMIteratorRAPtr
Definition: FxBIM.h:158
CFxBIMDatabase::Disciplines
virtual CFxBIMIteratorRAPtr Disciplines()
CFxBIMDatabase::~CFxBIMDatabase
virtual ~CFxBIMDatabase()
OdBmDatabasePtr
OdSmartPtr< OdBmDatabase > OdBmDatabasePtr
Definition: FxBIMDatabase.h:34
CFxBIMDatabase::dwgOutFields
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const override
CFxBIMDatabase::Models
virtual CFxBIMDbIteratorRAPtr Models()
OdDbDxfFiler
Definition: DbFiler.h:194
CFxBIMDatabase::CreateIFC
static OdIfc::OdIfcFilePtr CreateIFC(int schema, OdIfcHostAppServicesPtr pIfcHAS=OdIfcHostAppServicesPtr())
CFxBIMFloorPtr
std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr
Definition: FxBIMEntity.h:25
FileType
FileType
Definition: FxBIM.h:46
CFxBIMDatabase::FileType
virtual FileType FileType() const
FxBIMDatabaseReference.h
CFxBIMDatabase::Floors
virtual CFxBIMIteratorRAPtr Floors()
FxBIM.h
CFxBIMDisciplinePtr
std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr
Definition: FxBIMDiscipline.h:7
CFxBIMDatabase::GetMaterial
virtual OdDbObjectId GetMaterial(const OdString &name)
OdIfc::OdIfcFilePtr
OdSmartPtr< OdIfcFile > OdIfcFilePtr
Definition: FxBIMDatabase.h:25
CFxBIMDatabase::AddDiscipline
virtual Error AddDiscipline(CFxBIMDisciplinePtr pDiscipline)
CFxBIMDatabase::AddFloor
virtual Error AddFloor(CFxBIMFloorPtr pFloor)
OdString::kEmpty
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
Definition: OdString.h:98
CFxBIMDatabase::FileCreator
virtual const OdString & FileCreator() const
CFxBIMDatabasePtr
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
Definition: FxBIMDatabase.h:11
CFxBIMDatabase::FileSize
virtual size_t FileSize() const
OdIfcHostAppServicesPtr
OdSmartPtr< OdIfcHostAppServices > OdIfcHostAppServicesPtr
Definition: FxBIMDatabase.h:31
CFxBIMDatabase::dwgInFields
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler) override
OdDbObject
Definition: DbObject.h:211
OdDbDwgFiler
Definition: DbFiler.h:1031
CFxBIMDatabase::Categories
virtual CFxBIMIteratorRAPtr Categories()
CFxBIMDbIteratorRAPtr
std::shared_ptr< CFxBIMDbIteratorRA > CFxBIMDbIteratorRAPtr
Definition: FxBIM.h:162