CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMEntity.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 "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
40class CFxBIMBuilding;
41typedef std::shared_ptr< CFxBIMBuilding > CFxBIMBuildingPtr;
42
44typedef std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr;
45
46class CFxBIMZone;
47typedef std::shared_ptr< CFxBIMZone > CFxBIMZonePtr;
48
49class CFxBIMSpace;
50typedef std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr;
51
52class CFxBIMFloor;
53typedef std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr;
54
55class CFxBIMCategory;
56typedef std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr;
57
58class CFxBIMType;
59typedef std::shared_ptr< CFxBIMType > CFxBIMTypePtr;
60
61class CFxBIMMaterial;
63
64class OdDbDwgFiler;
65
67{
68public:
70
71 virtual ~CFxBIMEntity();
72
73 virtual bool IsEqual( CFxBIMEntityPtr p ) const;
74
79 virtual const std::vector< CFxBIMZonePtr >& Zones() const;
80 virtual void Zones( const std::vector< CFxBIMZonePtr >& zones );
81 virtual CFxBIMSpacePtr Space() const;
82 virtual void SetSpace( CFxBIMSpacePtr p );
83 virtual CFxBIMFloorPtr Floor() const;
84 virtual void SetFloor( CFxBIMFloorPtr p );
85 virtual CFxBIMCategoryPtr Category() const;
86 virtual void SetCategory( CFxBIMCategoryPtr p );
87 virtual CFxBIMTypePtr Type() const;
88 virtual void SetType( CFxBIMTypePtr p );
90 bool FlippedX() const;
91 bool FlippedY() const;
92
93 virtual const OdGeMatrix3d& OriginalTransform() const;
94
97
98 virtual OdString UniqueId() const;
99
100 virtual const CFxBIMEntityGeometryPtr Geometry() const;
102
114
116
117 virtual OdDbHandle OriginalHandle() const;
118
119 virtual OdDbObjectId Parent() const;
120 virtual const std::vector< OdDbObjectId >& Children() const;
121
122public:
123 OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
124 void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
125
126 OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
127 void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
128
129public:
133
134protected:
136};
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
std::shared_ptr< CFxBIMBuilding > CFxBIMBuildingPtr
std::shared_ptr< CFxBIMCategory > CFxBIMCategoryPtr
std::shared_ptr< CFxBIMType > CFxBIMTypePtr
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
std::shared_ptr< CFxBIMDiscipline > CFxBIMDisciplinePtr
OdDbObject OdPropObject
Definition FxBIMEntity.h:31
std::shared_ptr< CFxBIMZone > CFxBIMZonePtr
Definition FxBIMEntity.h:47
OdSmartPtr< CFxBIMEntity > CFxBIMEntityPtr
Definition FxBIMEntity.h:35
std::shared_ptr< CFxBIMSpace > CFxBIMSpacePtr
Definition FxBIMEntity.h:50
std::shared_ptr< CFxBIMFloor > CFxBIMFloorPtr
Definition FxBIMEntity.h:53
OdSmartPtr< CFxBIMMaterial > CFxBIMMaterialPtr
Definition FxBIMEntity.h:62
std::shared_ptr< CFxBIMEntityGeometry > CFxBIMEntityGeometryPtr
OdResult
Definition OdResult.h:29
virtual void Zones(const std::vector< CFxBIMZonePtr > &zones)
CFxBIMBuildingPtr Building() const
virtual CFxBIMPropertiesContainter * Properties() const
ODDB_DECLARE_MEMBERS(CFxBIMEntity)
virtual void SetFloor(CFxBIMFloorPtr p)
virtual const CFxBIMEntityGeometryPtr Geometry() const
virtual const std::vector< OdDbObjectId > & Children() const
static const OdString s_strRVTCommon
virtual OdDbHandle OriginalHandle() const
virtual CFxBIMCategoryPtr Category() const
virtual CFxBIMEntityGeometryPtr Geometry()
OdVariant MaterialName(CFxBIMEntityPtr) const
virtual const OdGeMatrix3d & OriginalTransform() const
virtual OdDbObjectId Parent() const
virtual ElementType GetElementType() const
void dwgOutFields(OdDbDwgFiler *pFiler) const override
bool FlippedX() const
virtual CFxBIMFloorPtr Floor() const
virtual OdString UniqueId() const
bool FlippedY() const
virtual const std::vector< CFxBIMZonePtr > & Zones() const
virtual void SetSpace(CFxBIMSpacePtr p)
void dxfOutFields(OdDbDxfFiler *pFiler) const override
static const OdString s_strTRBCommon
virtual bool IsEqual(CFxBIMEntityPtr p) const
virtual void SetType(CFxBIMTypePtr p)
virtual CFxBIMTypePtr Type() const
virtual CFxBIMPropertiesContainter * Properties()
virtual ~CFxBIMEntity()
OdResult dwgInFields(OdDbDwgFiler *pFiler) override
OdResult dxfInFields(OdDbDxfFiler *pFiler) override
virtual CFxBIMSpacePtr Space() const
static const OdString s_strIFCCommon
virtual void SetDiscipline(CFxBIMDisciplinePtr p)
virtual CFxBIMDisciplinePtr Discipline() const
void SetBuilding(CFxBIMBuildingPtr p)
virtual void SetCategory(CFxBIMCategoryPtr p)