CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMWallJunction.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 CFxBIMEndInfo;
22using CFxBIMEndInfoPtr = std::shared_ptr< CFxBIMEndInfo >;
23
25using CFxBIMIndexJoinInfoPtr = std::shared_ptr< CFxBIMIndexJoinInfo >;
26
28using CFxBIMIndexJoinPairPtr = std::shared_ptr< CFxBIMIndexJoinPair >;
29
30class CFxBIMEndInfoImpl;
31using CFxBIMEndInfoImplPtr = std::shared_ptr< CFxBIMEndInfoImpl >;
32
33class CFxBIMIndexJoinInfoImpl;
34using CFxBIMIndexJoinInfoImplPtr = std::shared_ptr< CFxBIMIndexJoinInfoImpl >;
35
36class CFxBIMIndexJoinPairImpl;
37using CFxBIMIndexJoinPairImplPtr = std::shared_ptr< CFxBIMIndexJoinPairImpl >;
38
39class CFxBIMWallEntityImpl;
40
49
56
58{
59 friend class CFxBIMEndInfoImpl;
61
62public:
63 static const int kAutoJoinEnd = std::numeric_limits< short >::max();
64
65 static CFxBIMEndInfoPtr Create( OdDbHandle oHandle, bool bIsTangent, int JoinedEnd );
66
67public:
68 virtual ~CFxBIMEndInfo() = default;
69
70 OdDbHandle GetObjectHandle() const noexcept;
71 int GetJoinedEnd() const noexcept;
72
73protected:
75
76protected:
78};
79
81{
84
85public:
86 static CFxBIMIndexJoinInfoPtr Create( const std::vector< CFxBIMEndInfoPtr >& arrJoinEnds,
87 EJoinType eJoinType,
88 ECleanData eCleanData );
89
90public:
91 virtual ~CFxBIMIndexJoinInfo() = default;
92
93 EJoinType GetJoinType() const noexcept;
94 std::vector< CFxBIMEndInfoPtr > GetJoinEndInfo() const noexcept;
95 ECleanData GetCleanData() const noexcept;
96
97 enum
98 {
99 eNone = 0x0,
100 eByModel = 0x1,
101 eByUser = 0x2,
103 };
104 int Flags() const noexcept;
105 void SetFlags( int flags ) noexcept;
106
107protected:
109
110protected:
112};
113
115{
118
119public:
120 static const int kUnindexedAutoJoin = std::numeric_limits< short >::max();
121
123
124public:
125 virtual ~CFxBIMIndexJoinPair() = default;
126
128 int GetIndex() const noexcept;
129
130protected:
132
133protected:
135};
136
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
std::shared_ptr< CFxBIMIndexJoinPairImpl > CFxBIMIndexJoinPairImplPtr
std::shared_ptr< CFxBIMEndInfo > CFxBIMEndInfoPtr
enum FXBIM_COMMON_CODE_API ECleanData
std::shared_ptr< CFxBIMIndexJoinInfo > CFxBIMIndexJoinInfoPtr
std::shared_ptr< CFxBIMIndexJoinInfoImpl > CFxBIMIndexJoinInfoImplPtr
eDoNotClean
enum FXBIM_COMMON_CODE_API EJoinType
std::shared_ptr< CFxBIMIndexJoinPair > CFxBIMIndexJoinPairPtr
std::shared_ptr< CFxBIMEndInfoImpl > CFxBIMEndInfoImplPtr
eUseViewSettings
friend class CFxBIMIndexJoinInfoImpl
static CFxBIMEndInfoPtr Create(OdDbHandle oHandle, bool bIsTangent, int JoinedEnd)
int GetJoinedEnd() const noexcept
friend class CFxBIMEndInfoImpl
virtual ~CFxBIMEndInfo()=default
CFxBIMEndInfoImplPtr m_pImpl
OdDbHandle GetObjectHandle() const noexcept
static const int kAutoJoinEnd
friend class CFxBIMIndexJoinInfoImpl
ECleanData GetCleanData() const noexcept
CFxBIMIndexJoinInfoImplPtr m_pImpl
virtual ~CFxBIMIndexJoinInfo()=default
EJoinType GetJoinType() const noexcept
void SetFlags(int flags) noexcept
friend class CFxBIMIndexJoinPairImpl
std::vector< CFxBIMEndInfoPtr > GetJoinEndInfo() const noexcept
int Flags() const noexcept
static CFxBIMIndexJoinInfoPtr Create(const std::vector< CFxBIMEndInfoPtr > &arrJoinEnds, EJoinType eJoinType, ECleanData eCleanData)
static const int kUnindexedAutoJoin
friend class CFxBIMWallEntityImpl
friend class CFxBIMIndexJoinPairImpl
CFxBIMIndexJoinPairImplPtr m_pImpl
CFxBIMIndexJoinInfoPtr GetIndexJoinInfo() const noexcept
int GetIndex() const noexcept
virtual ~CFxBIMIndexJoinPair()=default
static CFxBIMIndexJoinPairPtr Create(CFxBIMIndexJoinInfoPtr pJoinInfo, int nIdx)