CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMDatabaseReference.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
21#include <DbObject.h>
22#include <DoubleArray.h>
23
26
27class CFxBIMDatabase;
29
31class OdDbDwgFiler;
32
34{
35public:
37
39
40 static CFxBIMDatabaseReferencePtr Create( const OdString& dwgPath, const OdString& originalPath, const OdString& projectPath, const OdString& fileId, Error& err );
41
42 virtual const OdString& BimFileName() const;
43 virtual const OdString& BimViewName() const;
45
46 virtual Error CreateEntityRefs( OdDbObjectId idOwner, const OdGeMatrix3d& trf );
49
50 virtual Error Load( bool bNotify = true );
51 virtual Error Unload();
52
53 virtual bool IsUnloaded();
54
55 virtual Error SaveAs( const OdString& newMainFilePath );
56
57 virtual OdDouble Scale() const;
58
59 virtual const OdGeMatrix3d& Transform() const;
60 virtual void SetTransform( const OdGeMatrix3d& transform );
61
62 virtual size_t EntityRefCount() const;
63 virtual OdDbObjectId EntityRef( size_t index ) const; //CFxBIMEntityReference
64
65 virtual bool IsLocked() const;
66 virtual Error Lock();
67 virtual Error Unlock();
68
69 virtual bool IsOn() const;
70 virtual Error On();
71 virtual Error Off();
72
73 virtual Error Insert();
74
75 virtual Error Remove();
76
77 [[deprecated( "User ReloadFrom with one parameter" )]]
79
81
82 enum Flags
83 {
84 eNone = 0,
85 eLoad = 0x1,
87 eUnused0 = 0x4,
88 eUnused1 = 0x8,
89 };
90
91 virtual int Flags() const;
92 virtual void SetFlags( int flags );
93
94public:
95 OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
96 void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
97
98 OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
99 void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
100
101 void subClose() override;
102
103 void applyPartialUndo( OdDbDwgFiler* pFiler, OdRxClass* pClass ) override;
104
105 void subHandOverTo( OdDbObject* pNewObject ) override;
106
107 const OdString& GetFileId() const;
108 void SetFileId( const OdString& fileId );
109
110protected:
112};
double OdDouble
Definition DoubleArray.h:31
Error
Definition FxBIM.h:40
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
OdSmartPtr< CFxBIMDatabaseReference > CFxBIMDatabaseReferencePtr
#define FXBIM_API
Definition FxBIMDefs.h:4
OdResult
Definition OdResult.h:29
void dxfOutFields(OdDbDxfFiler *pFiler) const override
virtual Error Unload()
virtual CFxBIMDatabasePtr BimDatabase(OdDb::OpenMode openMode)
void dwgOutFields(OdDbDwgFiler *pFiler) const override
virtual Error SaveAs(const OdString &newMainFilePath)
virtual void SetFlags(int flags)
virtual Error Off()
virtual int Flags() const
virtual Error CreateEntityRefs(OdDbObjectId idOwner, const OdGeMatrix3d &trf)
OdResult dxfInFields(OdDbDxfFiler *pFiler) override
virtual bool IsLocked() const
virtual Error Insert()
virtual Error Load(bool bNotify=true)
virtual const OdGeMatrix3d & Transform() const
virtual Error On()
virtual bool IsOn() const
virtual const OdString & BimFileName() const
virtual OdDbObjectId EntityRef(size_t index) const
static CFxBIMDatabaseReferencePtr Create(const OdString &dwgPath, const OdString &originalPath, const OdString &projectPath, const OdString &fileId, Error &err)
virtual OdDouble Scale() const
virtual bool IsUnloaded()
virtual Error RemoveReferredObjectsFromGsModel()
virtual Error Lock()
void SetFileId(const OdString &fileId)
virtual void SetTransform(const OdGeMatrix3d &transform)
virtual const OdString & BimViewName() const
virtual Error Remove()
virtual size_t EntityRefCount() const
void subHandOverTo(OdDbObject *pNewObject) override
Error ReloadFrom(CFxBIMDatabaseReferencePtr pNew, OdDbObjectId idOwner, const OdGeMatrix3d &trf)
void subClose() override
void applyPartialUndo(OdDbDwgFiler *pFiler, OdRxClass *pClass) override
Error ReloadFrom(CFxBIMDatabaseReferencePtr pNew)
const OdString & GetFileId() const
OdResult dwgInFields(OdDbDwgFiler *pFiler) override
ODDB_DECLARE_MEMBERS(CFxBIMDatabaseReference)
virtual Error DestroyEntityRefs()
virtual ~CFxBIMDatabaseReference()
virtual Error Unlock()
GLuint index
Definition gles2_ext.h:265