CFx SDK Documentation  2023 SP0
FxBIMDrawing.h
Go to the documentation of this file.
1 //
2 // (C) Copyright 2020-2022 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 class CFxBIMDrawingImpl;
22 
23 class CFxBIMDrawing;
24 typedef std::shared_ptr< CFxBIMDrawing > CFxBIMDrawingPtr;
25 
26 class CFxBIMSection;
28 
30 {
31  friend class CFxBIMDrawingImpl;
32 public:
33  virtual ~CFxBIMDrawing();
34 
36 
37  const OdString& FileName() const;
38  const OdString& ModelFileName() const;
39  const OdString& SectionName() const;
41  const std::vector< OdDbHandle >& SectionEntities() const;
42  std::vector< OdDbHandle >& SectionEntities();
43 
45  {
46  eOutdated = 0x1,
47  };
48 
50  void SetFlags( int flags );
51 
52  struct ViewRef
53  {
56  OdDbHandle _sectionView; //CFxBIMSectionView
57  };
58  const std::vector< ViewRef >& Views() const;
59  std::vector< ViewRef >& Views();
60 
61 protected:
63 
64 protected:
65  std::shared_ptr< CFxBIMDrawingImpl > m_pImpl;
66 };
#define FXBIM_API
Definition: FxBIM.h:20
OdSmartPtr< CFxBIMSection > CFxBIMSectionPtr
Definition: FxBIMDrawing.h:26
std::shared_ptr< CFxBIMDrawing > CFxBIMDrawingPtr
Definition: FxBIMDrawing.h:23
const std::vector< ViewRef > & Views() const
const OdString & FileName() const
const OdString & ModelFileName() const
BimDrawingFlags Flags() const
std::vector< ViewRef > & Views()
const std::vector< OdDbHandle > & SectionEntities() const
void SetFlags(int flags)
static CFxBIMDrawingPtr Create(CFxBIMSectionPtr pSection)
const OdString & SectionName() const
OdDbHandle Section()
std::shared_ptr< CFxBIMDrawingImpl > m_pImpl
Definition: FxBIMDrawing.h:65
virtual ~CFxBIMDrawing()
std::vector< OdDbHandle > & SectionEntities()