CFx SDK Documentation  2023 SP0
FxBIMDiscipline.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 CFxBIMDisciplineImpl;
22 
23 class CFxBIMDiscipline;
24 typedef std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr;
25 
26 enum class DisciplineType
27 {
28  kCustom = -1,
29  kOther,
34  kPlumbing,
38  kCooling,
39  kHVAC,
40  kHeat,
41  kProcess,
43  kSprinkler,
45  kFire,
46  kCivil,
48 };
49 
51 {
52  friend class CFxBIMDisciplineImpl;
53 public:
54  virtual ~CFxBIMDiscipline();
55 
56  static CFxBIMDisciplinePtr Get( const DisciplineType& type ); //returnes one of predefined disciplines and nullptr for kCustom
57  static CFxBIMDisciplinePtr Create( const OdString& name ); //creates kCustom discipline
58 
59  const OdString& Name() const;
60  const DisciplineType& Type() const;
61 
63 
64 protected:
66 
67 protected:
68  std::shared_ptr< CFxBIMDisciplineImpl > m_pImpl;
69 };
#define FXBIM_API
Definition: FxBIM.h:20
DisciplineType
std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr
const OdString & Name() const
const DisciplineType & Type() const
std::shared_ptr< CFxBIMDisciplineImpl > m_pImpl
bool IsEqual(CFxBIMDisciplinePtr p)
static CFxBIMDisciplinePtr Get(const DisciplineType &type)
virtual ~CFxBIMDiscipline()
static CFxBIMDisciplinePtr Create(const OdString &name)
GLuint const GLchar * name
Definition: gles2_ext.h:265
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274