CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMMaterialLibrary.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#include "FxBIMMaterial.h"
21
22class CFxBIMMaterialLibraryImpl;
23
25typedef std::shared_ptr< CFxBIMMaterialLibrary > CFxBIMMaterialLibraryPtr;
26
28{
30public:
32
34 static void Create();
35 static void Create( const CFxString& defaultFileName );
36 static void Destroy();
37 static Error SaveAs( const CFxString& fileName, const std::vector<CFxBIMMaterialPtr>& materials );
38
39 virtual Error Load( const OdString& fileName );
40 virtual Error Unload( const OdString& fileName );
41
42 virtual Error Save() const;
43
44 virtual std::vector< OdString > LoadedFiles() const;
45
46 virtual std::vector< CFxBIMMaterialPtr > MaterialsAll() const;
47 virtual std::vector< CFxBIMMaterialPtr > MaterialsByFile( const OdString& fileName ) const;
48
50 virtual Error AddMaterial( CFxBIMMaterialPtr pMaterial );
51 virtual Error AddMaterial( CFxBIMMaterialPtr pMaterial, const int iInsertPosition );
52 virtual Error RemoveMaterial( const OdString& name );
53
54protected:
56
57protected:
58 std::shared_ptr< CFxBIMMaterialLibraryImpl > m_pImpl;
59};
Error
Definition FxBIM.h:40
#define FXBIM_API
Definition FxBIMDefs.h:4
OdSmartPtr< CFxBIMMaterial > CFxBIMMaterialPtr
Definition FxBIMEntity.h:62
std::shared_ptr< CFxBIMMaterialLibrary > CFxBIMMaterialLibraryPtr
static Error SaveAs(const CFxString &fileName, const std::vector< CFxBIMMaterialPtr > &materials)
virtual Error Unload(const OdString &fileName)
static void Create(const CFxString &defaultFileName)
static CFxBIMMaterialLibraryPtr Get()
virtual std::vector< CFxBIMMaterialPtr > MaterialsAll() const
virtual Error AddMaterial(CFxBIMMaterialPtr pMaterial)
friend class CFxBIMMaterialLibraryImpl
virtual Error Save() const
static void Create()
virtual Error AddMaterial(CFxBIMMaterialPtr pMaterial, const int iInsertPosition)
virtual std::vector< OdString > LoadedFiles() const
virtual ~CFxBIMMaterialLibrary()
virtual Error Load(const OdString &fileName)
virtual CFxBIMMaterialPtr GetMaterial(const OdString &name)
virtual Error RemoveMaterial(const OdString &name)
virtual std::vector< CFxBIMMaterialPtr > MaterialsByFile(const OdString &fileName) const
static void Destroy()
std::shared_ptr< CFxBIMMaterialLibraryImpl > m_pImpl
GLuint const GLchar * name
Definition gles2_ext.h:265