CFx SDK Documentation  2023 SP0
FxBIMProperty.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 CFxBIMPropertyImpl;
22 class CFxBIMProperty;
23 typedef std::shared_ptr< CFxBIMProperty > CFxBIMPropertyPtr;
24 
25 #include <RxVariant.h>
26 
28 {
29  friend class CFxBIMPropertyImpl;
30 public:
31  virtual ~CFxBIMProperty();
32 
33  static CFxBIMPropertyPtr Create( const OdString& group, const OdString& label, const OdVariant& value );
34 
35  const OdString& Group() const;
36  const OdString& Label() const;
37  const OdVariant& Value() const;
38 
39  const OdString& Description() const;
40  void SetDescription( const OdString& description );
41 
42  static OdString FromVariant( const OdVariant& value );
43 
44 protected:
46 
47 protected:
48  std::shared_ptr< CFxBIMPropertyImpl > m_pImpl;
49 };
50 
51 
53 {
54 public:
55  virtual ~CFxBIMPropertiesContainter() = default;
56  virtual std::vector< CFxBIMPropertyPtr >& Properties() = 0;
57  virtual std::map< OdString, CFxBIMPropertyPtr >& DerivedProperties() = 0;
58 
59  virtual OdVariant Property( const OdString& group, const OdString& label ) const = 0;
60 
61 protected:
63 };
#define FXBIM_API
Definition: FxBIM.h:20
std::shared_ptr< CFxBIMProperty > CFxBIMPropertyPtr
Definition: FxBIMProperty.h:22
virtual ~CFxBIMPropertiesContainter()=default
virtual std::vector< CFxBIMPropertyPtr > & Properties()=0
CFxBIMPropertiesContainter()=default
virtual std::map< OdString, CFxBIMPropertyPtr > & DerivedProperties()=0
virtual OdVariant Property(const OdString &group, const OdString &label) const =0
const OdString & Label() const
void SetDescription(const OdString &description)
std::shared_ptr< CFxBIMPropertyImpl > m_pImpl
Definition: FxBIMProperty.h:48
const OdVariant & Value() const
virtual ~CFxBIMProperty()
const OdString & Group() const
const OdString & Description() const
static CFxBIMPropertyPtr Create(const OdString &group, const OdString &label, const OdVariant &value)
static OdString FromVariant(const OdVariant &value)
GLsizei const GLfloat * value
Definition: gles2_ext.h:302