CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMEntityReference.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#include <DbEntity.h>
22
25
26class OdDbDwgFiler;
27
29{
30public:
32
34
35 virtual const OdGeMatrix3d& Transform() const;
36 virtual void SetTransform( const OdGeMatrix3d& transform );
37
38 virtual OdDbObjectId DatabaseReference() const; //CFxBIMDatabaseReference
39 virtual OdDbObjectId Entity() const; //CFxBIMEntity
40
42
43 virtual void SetTempFiltered( bool bValue );
44 virtual bool IsTempFiltered() const;
45
46 // Without filter
47 virtual void SetTempPureVisible( OdDb::Visibility eValue );
49
50 virtual void AddSectionId( const OdDbObjectId& id );
51 virtual void RemoveSectionId( const OdDbObjectId& id );
53
54 virtual bool IsVisibleToSections() const;
55 virtual void SetVisibleToSections( const bool bVisible );
56
57 enum EFlags
58 {
59 eNone = 0x0,
60 eUse3D = 0x1,
63 };
64
65 virtual int Flags() const;
66 virtual void SetFlags( int flags );
67
68public:
69 OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
70 void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
71
72 OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
73 void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
74
75 OdUInt32 subSetAttributes( OdGiDrawableTraits* traits ) const override;
76 bool subWorldDraw( OdGiWorldDraw* wd ) const override;
77 void subViewportDraw( OdGiViewportDraw* vd ) const override;
78
79 void subGripStatus( const OdDb::GripStat status ) override;
80
82 OdDb::OsnapMode osnapMode,
83 OdGsMarker gsSelectionMark,
84 const OdGePoint3d& pickPoint,
85 const OdGePoint3d& lastPoint,
86 const OdGeMatrix3d& xWorldToEye,
87 OdGePoint3dArray& snapPoints ) const override;
88
90 OdDb::OsnapMode osnapMode,
91 OdGsMarker gsSelectionMark,
92 const OdGePoint3d& pickPoint,
93 const OdGePoint3d& lastPoint,
94 const OdGeMatrix3d& xWorldToEye,
95 OdGePoint3dArray& snapPoints,
96 const OdGeMatrix3d& insertionMat ) const override;
97
98 bool subIsContentSnappable() const override;
99
100 OdResult subGetGripPoints( OdGePoint3dArray& gripPoints ) const override;
101 OdResult subMoveGripPointsAt( const OdIntArray& indices, const OdGeVector3d& offset ) override;
104 const double curViewUnitSize,
105 const int gripSize,
106 const OdGeVector3d& curViewDir,
107 const int bitFlags ) const override;
109 const OdDbVoidPtrArray& grips,
110 const OdGeVector3d& offset,
111 int bitFlags ) override;
112 OdResult subGetStretchPoints( OdGePoint3dArray& stretchPoints ) const override;
114 const OdIntArray& indices,
115 const OdGeVector3d& offset ) override;
116
117 OdResult subExplode( OdRxObjectPtrArray& entitySet ) const override;
118
119 OdResult subErase( bool erasing ) override;
120 OdDbObjectPtr subWblockClone( OdDbIdMapping& ownerIdMap, OdDbObject*, bool bPrimary ) const override;
121 OdDbObjectPtr subDeepClone( OdDbIdMapping& ownerIdMap, OdDbObject*, bool bPrimary ) const override;
122
123 OdResult subTransformBy( const OdGeMatrix3d& xfm ) override;
124 OdResult subGetTransformedCopy( const OdGeMatrix3d& xfm, OdDbEntityPtr& pCopy ) const override;
125
126 OdResult subGetGeomExtents( OdGeExtents3d& extents ) const override;
128
129 void applyPartialUndo( OdDbDwgFiler* pFiler, OdRxClass* pClass ) override;
130
132
133 OdResult subSetVisibility( OdDb::Visibility visibility, bool doSubents = true ) override;
134
135protected:
137};
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > > OdGePoint3dArray
OdSmartPtr< OdDbEntity > OdDbEntityPtr
Definition DbEntity.h:51
OdArray< void *, OdMemoryAllocator< void * > > OdDbVoidPtrArray
Definition DbGrip.h:55
OdArray< OdDbGripDataPtr > OdDbGripDataPtrArray
Definition DbGrip.h:49
OdSmartPtr< OdDbObject > OdDbObjectPtr
Definition DbObject.h:1750
#define FXBIM_API
Definition FxBIMDefs.h:4
OdSmartPtr< CFxBIMEntityReference > CFxBIMEntityReferencePtr
OdArray< int, OdMemoryAllocator< int > > OdIntArray
Definition IntArray.h:35
ptrdiff_t OdGsMarker
unsigned int OdUInt32
OdResult
Definition OdResult.h:29
OdArray< OdRxObjectPtr > OdRxObjectPtrArray
Definition RxObject.h:1196
virtual void SetFlags(int flags)
OdResult subGetStretchPoints(OdGePoint3dArray &stretchPoints) const override
OdResult subSetVisibility(OdDb::Visibility visibility, bool doSubents=true) override
void subGripStatus(const OdDb::GripStat status) override
virtual const OdGeMatrix3d & Transform() const
OdResult dxfInFields(OdDbDxfFiler *pFiler) override
OdResult subGetTransformedCopy(const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const override
OdResult dwgInFields(OdDbDwgFiler *pFiler) override
OdResult subMoveStretchPointsAt(const OdIntArray &indices, const OdGeVector3d &offset) override
virtual void SetTransform(const OdGeMatrix3d &transform)
virtual OdDbObjectId Entity() const
void dwgOutFields(OdDbDwgFiler *pFiler) const override
OdResult subGetGripPoints(OdDbGripDataPtrArray &grips, const double curViewUnitSize, const int gripSize, const OdGeVector3d &curViewDir, const int bitFlags) const override
virtual void SetVisibleToSections(const bool bVisible)
OdResult subGetCompoundObjectTransform(OdGeMatrix3d &xM) const override
OdResult subGetOsnapPoints(OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints, const OdGeMatrix3d &insertionMat) const override
ODDB_DECLARE_MEMBERS(CFxBIMEntityReference)
void subViewportDraw(OdGiViewportDraw *vd) const override
virtual OdDb::Visibility IsTempPureVisible() const
OdUInt32 subSetAttributes(OdGiDrawableTraits *traits) const override
void dxfOutFields(OdDbDxfFiler *pFiler) const override
OdResult subGetGripPoints(OdGePoint3dArray &gripPoints) const override
OdResult subMoveGripPointsAt(const OdDbVoidPtrArray &grips, const OdGeVector3d &offset, int bitFlags) override
virtual void AddSectionId(const OdDbObjectId &id)
virtual bool IsTempFiltered() const
virtual bool IsVisibleToSections() const
bool subIsContentSnappable() const override
OdDbObjectPtr subDeepClone(OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const override
OdResult subExplode(OdRxObjectPtrArray &entitySet) const override
virtual void SetTempFiltered(bool bValue)
virtual void SetTempPureVisible(OdDb::Visibility eValue)
virtual int Flags() const
OdResult subErase(bool erasing) override
OdDbObjectPtr subWblockClone(OdDbIdMapping &ownerIdMap, OdDbObject *, bool bPrimary) const override
OdResult subTransformBy(const OdGeMatrix3d &xfm) override
OdResult subGetGeomExtents(OdGeExtents3d &extents) const override
OdResult subMoveGripPointsAt(const OdIntArray &indices, const OdGeVector3d &offset) override
bool subWorldDraw(OdGiWorldDraw *wd) const override
void applyPartialUndo(OdDbDwgFiler *pFiler, OdRxClass *pClass) override
virtual void InvalidateHashedSections()
virtual OdDbObjectId DatabaseReference() const
virtual void RemoveSectionId(const OdDbObjectId &id)
OdResult subGetOsnapPoints(OdDb::OsnapMode osnapMode, OdGsMarker gsSelectionMark, const OdGePoint3d &pickPoint, const OdGePoint3d &lastPoint, const OdGeMatrix3d &xWorldToEye, OdGePoint3dArray &snapPoints) const override
virtual ~CFxBIMEntityReference()
OdResult subGetGeomExtents(OdGeExtents3d &extents, const OdGeMatrix3d &mTr) const
OdDb::Visibility visibility() const
GLintptr offset
Definition gles2_ext.h:183
GripStat
Definition DbGrip.h:112
OsnapMode
Definition OdaDefs.h:489
Visibility
Definition DbObject.h:146