CFx SDK Documentation  2023 SP0
FxBIMMaterialLibrary.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 #include "FxBIMMaterial.h"
21 
22 class CFxBIMMaterialLibraryImpl;
23 
25 typedef std::shared_ptr< CFxBIMMaterialLibrary > CFxBIMMaterialLibraryPtr;
26 
28 {
29  friend class CFxBIMMaterialLibraryImpl;
30 public:
32 
34 
35  virtual Error Load( const OdString& fileName );
36  virtual Error Unload( const OdString& fileName );
37 
38  virtual Error Save() const;
39 
40  virtual std::vector< OdString > LoadedFiles() const;
41 
42  virtual std::vector< CFxBIMMaterialPtr > MaterialsAll() const;
43  virtual std::vector< CFxBIMMaterialPtr > MaterialsByFile( const OdString& fileName ) const;
44 
46  virtual Error AddMaterial( CFxBIMMaterialPtr pMaterial );
47 
48 protected:
50 
51 protected:
52  std::shared_ptr< CFxBIMMaterialLibraryImpl > m_pImpl;
53 };
Error
Definition: FxBIM.h:50
#define FXBIM_API
Definition: FxBIM.h:20
std::shared_ptr< CFxBIMMaterialLibrary > CFxBIMMaterialLibraryPtr
virtual Error Unload(const OdString &fileName)
static CFxBIMMaterialLibraryPtr Get()
virtual std::vector< CFxBIMMaterialPtr > MaterialsAll() const
virtual Error AddMaterial(CFxBIMMaterialPtr pMaterial)
virtual Error Save() const
virtual std::vector< OdString > LoadedFiles() const
virtual ~CFxBIMMaterialLibrary()
virtual Error Load(const OdString &fileName)
virtual CFxBIMMaterialPtr GetMaterial(const OdString &name)
virtual std::vector< CFxBIMMaterialPtr > MaterialsByFile(const OdString &fileName) const
std::shared_ptr< CFxBIMMaterialLibraryImpl > m_pImpl
GLuint const GLchar * name
Definition: gles2_ext.h:265