CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMProperty.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
21class CFxBIMPropertyImpl;
22class CFxBIMProperty;
23typedef std::shared_ptr< CFxBIMProperty > CFxBIMPropertyPtr;
24
25#include <RxVariant.h>
26#include <DbObjectId.h>
27
28#include <vector>
29
30enum class PropertyType : OdInt8
31{
33
35 eArea = 2,
37
38 eCount = 6,
40 eTime = 8,
41};
42
44{
45 friend class CFxBIMPropertyImpl;
46public:
47 virtual ~CFxBIMProperty();
48
50 const OdString& group,
51 const OdString& label,
52 const OdVariant& value,
54
56 const OdString& group,
57 const OdString& label,
58 const OdVariant& value,
59 const bool bReadOnly,
61
62public:
63 static OdString ToString( const OdVariant& value );
64
65 OdString Group() const;
66 OdString Label() const;
67
69 void SetValue( const OdVariant& value );
70
72
74 void SetDescription( const OdString& description );
75
76 bool IsReadOnly() const;
77
78protected:
80
81protected:
82 std::shared_ptr< CFxBIMPropertyImpl > m_pImpl;
83};
84
86{
87public:
88 virtual ~CFxBIMPropertiesContainter() = default;
89 virtual OdDbObjectId OwnerId() const = 0;
90 virtual std::vector< CFxBIMPropertyPtr >& Properties() = 0;
91 virtual std::map< OdString, CFxBIMPropertyPtr >& DerivedProperties() = 0;
92
93 virtual OdVariant Property( const OdString& group, const OdString& label ) const = 0;
94 virtual CFxBIMPropertyPtr GetProperty( const OdString& group, const OdString& label ) const = 0;
95
96protected:
98};
#define FXBIM_API
Definition FxBIMDefs.h:4
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
PropertyType
std::shared_ptr< CFxBIMProperty > CFxBIMPropertyPtr
signed char OdInt8
virtual OdDbObjectId OwnerId() const =0
virtual CFxBIMPropertyPtr GetProperty(const OdString &group, const OdString &label) const =0
virtual std::map< OdString, CFxBIMPropertyPtr > & DerivedProperties()=0
virtual std::vector< CFxBIMPropertyPtr > & Properties()=0
virtual ~CFxBIMPropertiesContainter()=default
CFxBIMPropertiesContainter()=default
virtual OdVariant Property(const OdString &group, const OdString &label) const =0
OdString Description() const
bool IsReadOnly() const
static CFxBIMPropertyPtr Create(OdDbDatabase *pDb, const OdString &group, const OdString &label, const OdVariant &value, const PropertyType type=PropertyType::eDimensionless)
const PropertyType & PropertyTypeValue() const
OdString Label() const
void SetDescription(const OdString &description)
OdVariant Value() const
OdString Group() const
static OdString ToString(const OdVariant &value)
std::shared_ptr< CFxBIMPropertyImpl > m_pImpl
static CFxBIMPropertyPtr Create(OdDbDatabase *pDb, const OdString &group, const OdString &label, const OdVariant &value, const bool bReadOnly, const PropertyType type=PropertyType::eDimensionless)
friend class CFxBIMPropertyImpl
virtual ~CFxBIMProperty()
void SetValue(const OdVariant &value)
GLuint GLsizei GLsizei GLint GLenum * type
Definition gles2_ext.h:274
GLsizei const GLfloat * value
Definition gles2_ext.h:302