CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMBuilding.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
21#if !defined( FX_BIM_CONVERTERS )
22#include "Ge/GePoint3d.h"
23#endif
24
25class CFxBIMBuildingImpl;
26
27#if !defined( FX_BIM_CONVERTERS )
28class CFxBIMDatabase;
30#endif
31
32#include <optional>
33
34class CFxBIMBuilding;
35typedef std::shared_ptr< CFxBIMBuilding > CFxBIMBuildingPtr;
36
38{
39 friend class CFxBIMBuildingImpl;
40public:
41 virtual ~CFxBIMBuilding();
42
43 static CFxBIMBuildingPtr Create( OdDbObjectId idBimDatabase, const OdString& name );
44
45 const OdString& Name() const;
46
47 [[deprecated( "Use PlacementOpt" )]] const OdGeMatrix3d& Placement() const;
48 std::optional< OdGeBoundBlock3d > PlacementOpt( OdDbDatabasePtr pDb ) const;
49 void SetPlacement( const OdGeMatrix3d& placement );
50 void SetPlacement( const OdGeMatrix3d& placement, OdDbDatabasePtr pDb );
51 void SetDefaultPlacement( const OdGeMatrix3d& placement );
52 bool HasDefaultPlacement() const;
54 // returns true if placement was reset
57
59
60#if !defined( FX_BIM_CONVERTERS )
62#endif
63
64protected:
66
67protected:
68 std::shared_ptr< CFxBIMBuildingImpl > m_pImpl;
69};
OdSmartPtr< OdDbDatabase > OdDbDatabasePtr
Definition DbDatabase.h:203
OdSmartPtr< CFxBIMDatabase > CFxBIMDatabasePtr
std::shared_ptr< CFxBIMBuilding > CFxBIMBuildingPtr
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
std::optional< OdGeBoundBlock3d > PlacementOpt(OdDbDatabasePtr pDb) const
void SetDefaultPlacement(const OdGeMatrix3d &placement)
virtual ~CFxBIMBuilding()
std::shared_ptr< CFxBIMBuildingImpl > m_pImpl
bool HasDefaultPlacement() const
bool ResetPlacementToDefault(OdDbDatabasePtr pDb)
bool IsEqual(CFxBIMBuildingPtr p)
const OdString & Name() const
void SetPlacement(const OdGeMatrix3d &placement)
void SetPlacement(const OdGeMatrix3d &placement, OdDbDatabasePtr pDb)
bool DefaultPlacementDiffersFromCurrent() const
static CFxBIMBuildingPtr Create(OdDbObjectId idBimDatabase, const OdString &name)
CFxBIMDatabasePtr BimDatabase()
const OdGeMatrix3d & Placement() const
friend class CFxBIMBuildingImpl
void DeletePlacement(OdDbDatabasePtr pDb)
GLuint const GLchar * name
Definition gles2_ext.h:265