CFx SDK Documentation  2022 SP0
FxBIMStorage.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2020-2021 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 
21 #include <DbObject.h>
22 
23 class CFxBIMStorage;
25 
28 
30 {
31 public:
32  static CFxBIMStoragePtr GetStorage( OdDbDatabase* pDatabase, OdDb::OpenMode eMode = OdDb::kForRead, bool bCreateIfNotExist = false );
33 
34 public:
36 
37  virtual ~CFxBIMStorage();
38 
41 
42  virtual CFxBIMDbIteratorRAPtr DatabaseRefs(); //CFxBIMDatabaseReference
43 
44  virtual Error AddSection( OdDbObjectId idSection );
45  virtual Error RemoveSection( OdDbObjectId idSection );
46  virtual OdDbObjectId FindSection( const OdString& name ) const;
47 
48  virtual CFxBIMDbIteratorRAPtr Sections(); //CFxBIMSection
49 
51  virtual CFxBIMIteratorPtr Zones( OdDb::OpenMode openMode );
55  virtual CFxBIMIteratorPtr Types( OdDb::OpenMode openMode );
56 
59 
60  virtual Error AddReactor( CFxBIMObjectPtr p ); //CFxBIMDatabaseReferenceReactor, CFxBIMSectionReactor, CFxBIMMaterialReactor, etc.
62 
64 
65 public:
66  virtual OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
67  virtual void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
68 
69  virtual OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
70  virtual void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
71 
72 protected:
74 };
std::shared_ptr< CFxBIMDbIterator > CFxBIMDbIteratorPtr
Definition: FxBIM.h:185
std::shared_ptr< CFxBIMDbIteratorRA > CFxBIMDbIteratorRAPtr
Definition: FxBIM.h:187
Error
Definition: FxBIM.h:44
#define FXBIM_API
Definition: FxBIM.h:20
std::shared_ptr< CFxBIMObject > CFxBIMObjectPtr
Definition: FxBIM.h:152
std::shared_ptr< CFxBIMIterator > CFxBIMIteratorPtr
Definition: FxBIM.h:181
OdSmartPtr< CFxBIMStorage > CFxBIMStoragePtr
Definition: FxBIMStorage.h:23
OdSmartPtr< CFxBIMDatabaseReference > CFxBIMDatabaseReferencePtr
Definition: FxBIMStorage.h:26
OdResult
Definition: OdResult.h:29
virtual CFxBIMDbIteratorRAPtr Sections()
virtual CFxBIMIteratorPtr Disciplines(OdDb::OpenMode openMode)
virtual Error RemoveDatabaseRef(CFxBIMDatabaseReferencePtr pBimDbRef)
virtual CFxBIMIteratorPtr Categories(OdDb::OpenMode openMode)
virtual ~CFxBIMStorage()
virtual Error RemoveSection(OdDbObjectId idSection)
virtual CFxBIMDbIteratorRAPtr DatabaseRefs()
virtual Error AddReactor(CFxBIMObjectPtr p)
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler) override
virtual Error RemoveReactor(CFxBIMObjectPtr p)
virtual Error AddSection(OdDbObjectId idSection)
virtual CFxBIMDbIteratorPtr EntityRefs(OdDb::OpenMode openMode)
virtual OdDbObjectId FindSection(const OdString &name) const
virtual CFxBIMDbIteratorPtr Entities(OdDb::OpenMode openMode)
static CFxBIMStoragePtr GetStorage(OdDbDatabase *pDatabase, OdDb::OpenMode eMode=OdDb::kForRead, bool bCreateIfNotExist=false)
virtual Error AddDatabaseRef(CFxBIMDatabaseReferencePtr pBimDbRef)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler) override
virtual CFxBIMIteratorPtr Spaces(OdDb::OpenMode openMode)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const override
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const override
ODDB_DECLARE_MEMBERS(CFxBIMStorage)
virtual CFxBIMIteratorPtr Floors(OdDb::OpenMode openMode)
virtual CFxBIMIteratorPtr Zones(OdDb::OpenMode openMode)
virtual CFxBIMDbIteratorPtr Materials(OdDb::OpenMode openMode)
virtual CFxBIMIteratorPtr Types(OdDb::OpenMode openMode)
GLuint const GLchar * name
Definition: gles2_ext.h:265
OpenMode
Definition: DbObjectId.h:54
@ kForRead
Definition: DbObjectId.h:56