CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
DbBlockReference.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#ifndef _OD_BLOCK_REFERENCE_
25#define _OD_BLOCK_REFERENCE_
26
27#include "TD_PackPush.h"
28
29#include "DbEntity.h"
30#include "DbDatabase.h"
31#include "Ge/GeMatrix3d.h"
32#include "DbObjectIterator.h"
33#include "DwgDeclareMembers.h"
34#include "DbBlockTableRecord.h"
35#include "DbAttribute.h"
36
37class OdGeScale3d;
38class OdDbSequenceEnd;
39class OdDbBlockReferenceImpl;
40
46
47//DOM-IGNORE-BEGIN
48// Implementation detail
50{
51 OdDbObjectIteratorPtr m_pIterator;
52public:
61 Iterator begin() const { return Iterator(m_pIterator); }
63};
64//DOM-IGNORE-END
65
66
74{
75public:
76 //DOM-IGNORE-BEGIN
78 //DOM-IGNORE-END
79
85
91
98 virtual void setBlockTableRecord(
100
104 virtual OdGePoint3d position() const;
105
111 virtual void setPosition(
112 const OdGePoint3d& position);
113
118
131 virtual void setScaleFactors(
132 const OdGeScale3d& scale);
133
145 double rotation() const;
146
161 virtual void setRotation(
162 double angle);
163
168
174 virtual void setNormal(
175 const OdGeVector3d& normal);
176
181 virtual bool isPlanar() const { return true; }
182
200 OdGePlane& plane,
201 OdDb::Planarity& planarity) const;
202
213
225 const OdGeMatrix3d& xfm);
226
243 OdDbAttribute* pAttr);
244
257 OdDbObjectId ObjId,
258 OdDb::OpenMode mode,
259 bool openErasedOne = false);
260
274 OdDb::OpenMode mode);
275
280
285
290
308 OdDbBlockTableRecord *BlockRecord,
309 OdDbObjectIdArray *ids = 0);
310
325 OdGiDrawableTraits* pTraits) const;
326
333 virtual bool subWorldDraw(
334 OdGiWorldDraw* pWd) const;
335
342 virtual void subViewportDraw(OdGiViewportDraw* pVd) const;
343
362 OdDbDwgFiler* pFiler);
363
377 virtual void dwgOutFields(
378 OdDbDwgFiler* pFiler) const;
379
398 OdDbDxfFiler* pFiler);
399
417 virtual void dxfOutFields(
418 OdDbDxfFiler* pFiler) const;
419
438
453 virtual void dxfOutFields_R12(
454 OdDbDxfFiler* pFiler) const;
455
467 OdDbDxfFiler* pFiler);
468
478 virtual void dxfOut(
479 OdDbDxfFiler* pFiler) const;
480
495 void subClose();
496
501 void* pClsid) const;
502
512 const OdGeMatrix3d& xfm) ODRX_OVERRIDE;
513
521 const OdGeMatrix3d& xfm,
522 OdDbEntityPtr& pCopy) const ODRX_OVERRIDE;
523
524 /* Replace OdRxObjectPtrArray */
534 OdRxObjectPtrArray& entitySet) const ODRX_OVERRIDE;
535
556 OdDbObject* pNewObject);
557
564 OdGeExtents3d& extents) const;
565
584
588 virtual bool treatAsOdDbBlockRefForExplode() const;
589
599 const OdGeMatrix3d& parentXform = OdGeMatrix3d::kIdentity) const;
600
610
622 virtual void copyFrom(const OdRxObject* pSrc) ODRX_OVERRIDE;
623
633
648 OdGsMarker gsMark,
649 const OdGePoint3d& pickPoint,
650 const OdGeMatrix3d& viewXform,
651 OdDbFullSubentPathArray& subentPaths,
652 const OdDbObjectIdArray* pEntAndInsertStack) const ODRX_OVERRIDE;
653
664 OdGsMarkerArray& gsMarkers) const ODRX_OVERRIDE;
665};
666
667
673
675 const OdGeMatrix3d& mTrans,
676 OdGePoint3d& pOrigin,
677 OdGeScale3d& sScale,
678 double & dRotation,
679 OdGeVector3d& vNormal );
681 OdGeVector3d& normal,
682 OdGePoint3d& position,
684 double& rotationAngle,
685 const OdGeMatrix3d& transformMat,
686 const OdDbBlockTableRecordPtr pBlockTableRecord);
687
688#include "TD_PackPop.h"
689
690#endif
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
OdSmartPtr< OdDbAttribute > OdDbAttributePtr
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
TOOLKIT_EXPORT void decompTransform(const OdGeMatrix3d &mTrans, OdGePoint3d &pOrigin, OdGeScale3d &sScale, double &dRotation, OdGeVector3d &vNormal)
OdSmartPtr< OdDbBlockReference > OdDbBlockReferencePtr
OdSmartPtr< OdDbBlockTableRecord > OdDbBlockTableRecordPtr
OdSmartPtr< OdDbEntity > OdDbEntityPtr
Definition DbEntity.h:51
#define TOOLKIT_EXPORT
Definition DbExport.h:40
OdSmartPtr< OdDbObjectIterator > OdDbObjectIteratorPtr
OdArray< OdDbFullSubentPath > OdDbFullSubentPathArray
Definition DbSubentId.h:169
scale
OdArray< OdGsMarker, OdMemoryAllocator< OdGsMarker > > OdGsMarkerArray
OdArray< OdDbObjectId, OdClrMemAllocator< OdDbObjectId > > OdDbObjectIdArray
Definition IdArrays.h:53
ptrdiff_t OdGsMarker
unsigned int OdUInt32
#define ODRX_SEALED_VIRTUAL
#define ODRX_OVERRIDE
OdResult
Definition OdResult.h:29
OdArray< OdRxObjectPtr > OdRxObjectPtrArray
Definition RxObject.h:1196
OdDbAttributeCollectionView(const OdDbObjectIteratorPtr &i)
OdGeScale3d scaleFactors() const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
OdResult subGetGeomExtents(OdGeExtents3d &extents) const
OdUInt32 subSetAttributes(OdGiDrawableTraits *pTraits) const
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
OdDbObjectIteratorPtr attributeIterator() const
OdDbAttributeCollectionView attributes() const
virtual OdResult setBlockTransform(const OdGeMatrix3d &xfm)
virtual void dxfOut(OdDbDxfFiler *pFiler) const
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual void setScaleFactors(const OdGeScale3d &scale)
virtual OdResult subGetClassID(void *pClsid) const
OdResult geomExtentsBestFit(OdGeExtents3d &extents, const OdGeMatrix3d &parentXform=OdGeMatrix3d::kIdentity) const
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual OdResult getPlane(OdGePlane &plane, OdDb::Planarity &planarity) const
ODRX_SEALED_VIRTUAL OdResult subGetSubentPathsAtGsMarker(OdDb::SubentType type, OdGsMarker gsMark, const OdGePoint3d &pickPoint, const OdGeMatrix3d &viewXform, OdDbFullSubentPathArray &subentPaths, const OdDbObjectIdArray *pEntAndInsertStack) const ODRX_OVERRIDE
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
OdDbObjectId appendAttribute(OdDbAttribute *pAttr)
virtual OdResult subGetTransformedCopy(const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const ODRX_OVERRIDE
OdDbObjectId blockTableRecord() const
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm) ODRX_OVERRIDE
virtual void subViewportDraw(OdGiViewportDraw *pVd) const
OdDbAttributePtr openAttribute(OdDbObjectId ObjId, OdDb::OpenMode mode, bool openErasedOne=false)
virtual OdResult explodeToOwnerSpace() const
virtual OdGePoint3d position() const
OdDbSequenceEndPtr openSequenceEnd(OdDb::OpenMode mode)
OdGeVector3d normal() const
virtual void copyFrom(const OdRxObject *pSrc) ODRX_OVERRIDE
virtual OdResult explodeToBlock(OdDbBlockTableRecord *BlockRecord, OdDbObjectIdArray *ids=0)
virtual bool treatAsOdDbBlockRefForExplode() const
virtual void setNormal(const OdGeVector3d &normal)
ODRX_SEALED_VIRTUAL OdResult subGetGsMarkersAtSubentPath(const OdDbFullSubentPath &subPath, OdGsMarkerArray &gsMarkers) const ODRX_OVERRIDE
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
void subHandOverTo(OdDbObject *pNewObject)
double rotation() const
virtual void setPosition(const OdGePoint3d &position)
virtual void setBlockTableRecord(OdDbObjectId objectId)
OdGeMatrix3d blockTransform() const
ODRX_SEALED_VIRTUAL OdResult subGetCompoundObjectTransform(OdGeMatrix3d &xM) const ODRX_OVERRIDE
virtual bool isPlanar() const
OdResult explodeGeometry(OdRxObjectPtrArray &entitySet) const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
DWGMAP_DECLARE_MEMBERS(OdDbBlockReference)
virtual void setRotation(double angle)
virtual OdResult subExplode(OdRxObjectPtrArray &entitySet) const ODRX_OVERRIDE
OdDbIdCollectionView attributeIds() const
OdDbObjectId objectId() const
OdDbStepIteratorWrap(const OdSmartPtr< OdDbObjectIterator > &i)
OdSmartPtr< OdDbObjectIterator > m_pIterator
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
Definition GeMatrix3d.h:97
GLuint GLsizei GLsizei GLint GLenum * type
Definition gles2_ext.h:274
Planarity
Definition DbEntity.h:74
Iterator(const OdDbObjectIteratorPtr &i)