CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
FxBIMEntity.h
Go to the documentation of this file.
1//
2// (C) Copyright 2020-2023 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 "FxBIMEntityGeometry.h"
21#include "FxBIMProperty.h"
22
23#include <RxVariant.h>
24#include <DbObject.h>
25
26#include <map>
27
28#if defined( XENON )
30#else
32#endif // defined( XENON )
33
34class CFxBIMEntity;
36
37class CFxBIMDatabase;
39
41typedef std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr;
42
43class CFxBIMZone;
44typedef std::shared_ptr< CFxBIMZone > CFxBIMZonePtr;
45
46class CFxBIMSpace;
47typedef std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr;
48
49class CFxBIMFloor;
50typedef std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr;
51
52class CFxBIMCategory;
53typedef std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr;
54
55class CFxBIMType;
56typedef std::shared_ptr< CFxBIMType > CFxBIMTypePtr;
57
58class CFxBIMMaterial;
60
61class OdDbDwgFiler;
62
64{
65public:
67
68 virtual ~CFxBIMEntity();
69
70 virtual bool IsEqual( CFxBIMEntityPtr p ) const;
71
74 virtual const std::vector< CFxBIMZonePtr >& Zones() const;
75 virtual void Zones( const std::vector< CFxBIMZonePtr >& zones );
76 virtual CFxBIMSpacePtr Space() const;
77 virtual void SetSpace( CFxBIMSpacePtr p );
78 virtual CFxBIMFloorPtr Floor() const;
79 virtual void SetFloor( CFxBIMFloorPtr p );
80 virtual CFxBIMCategoryPtr Category() const;
81 virtual void SetCategory( CFxBIMCategoryPtr p );
82 virtual CFxBIMTypePtr Type() const;
83 virtual void SetType( CFxBIMTypePtr p );
85
86 virtual const OdGeMatrix3d& OriginalTransform() const;
87
90
91 virtual OdString UniqueId() const;
92
93 virtual const CFxBIMEntityGeometryPtr Geometry() const;
95
97 {
105 ePlumbingFixtures
106 };
107
109
110 virtual OdDbHandle OriginalHandle() const;
111
112public:
113 virtual OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
114 virtual void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
115
116 virtual OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
117 virtual void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
118
119protected:
121};
#define FXBIM_COMMON_CODE_API
Definition: FxBIM.h:21
std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr
Definition: FxBIMEntity.h:53
std::shared_ptr< CFxBIMZone > CFxBIMZonePtr
Definition: FxBIMEntity.h:44
OdSmartPtr< CFxBIMEntity > CFxBIMEntityPtr
Definition: FxBIMEntity.h:35
std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr
Definition: FxBIMEntity.h:47
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
Definition: FxBIMEntity.h:38
std::shared_ptr< CFxBIMType > CFxBIMTypePtr
Definition: FxBIMEntity.h:56
std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr
Definition: FxBIMEntity.h:50
OdSmartPtr< CFxBIMMaterial > CFxBIMMaterialPtr
Definition: FxBIMEntity.h:59
std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr
Definition: FxBIMEntity.h:41
std::shared_ptr< CFxBIMEntityGeometry > CFxBIMEntityGeometryPtr
OdResult
Definition: OdResult.h:29
virtual void Zones(const std::vector< CFxBIMZonePtr > &zones)
virtual CFxBIMPropertiesContainter * Properties() const
ODDB_DECLARE_MEMBERS(CFxBIMEntity)
virtual void SetFloor(CFxBIMFloorPtr p)
virtual const CFxBIMEntityGeometryPtr Geometry() const
virtual OdDbHandle OriginalHandle() const
virtual CFxBIMCategoryPtr Category() const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler) override
virtual CFxBIMEntityGeometryPtr Geometry()
OdVariant MaterialName(CFxBIMEntityPtr) const
virtual const OdGeMatrix3d & OriginalTransform() const
virtual ElementType GetElementType() const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const override
virtual CFxBIMFloorPtr Floor() const
virtual OdString UniqueId() const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler) override
virtual const std::vector< CFxBIMZonePtr > & Zones() const
virtual void SetSpace(CFxBIMSpacePtr p)
virtual bool IsEqual(CFxBIMEntityPtr p) const
virtual void SetType(CFxBIMTypePtr p)
virtual CFxBIMTypePtr Type() const
virtual CFxBIMPropertiesContainter * Properties()
virtual ~CFxBIMEntity()
virtual CFxBIMSpacePtr Space() const
virtual void SetDiscipline(CFxBIMDisciplinePtr p)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const override
virtual CFxBIMDisciplinePtr Discipline() const
virtual void SetCategory(CFxBIMCategoryPtr p)