CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
DbBlockReference.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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
35class OdGeScale3d;
36class OdDbAttribute;
37class OdDbSequenceEnd;
38class OdDbBlockReferenceImpl;
39
45
51
59{
60public:
61 //DOM-IGNORE-BEGIN
63 //DOM-IGNORE-END
64
70
76
83 virtual void setBlockTableRecord(
84 OdDbObjectId objectId);
85
89 virtual OdGePoint3d position() const;
90
96 virtual void setPosition(
97 const OdGePoint3d& position);
98
103
116 virtual void setScaleFactors(
117 const OdGeScale3d& scale);
118
130 double rotation() const;
131
146 virtual void setRotation(
147 double angle);
148
153
159 virtual void setNormal(
160 const OdGeVector3d& normal);
161
166 virtual bool isPlanar() const { return true; }
167
185 OdGePlane& plane,
186 OdDb::Planarity& planarity) const;
187
198
210 const OdGeMatrix3d& xfm);
211
228 OdDbAttribute* pAttr);
229
242 OdDbObjectId ObjId,
243 OdDb::OpenMode mode,
244 bool openErasedOne = false);
245
259 OdDb::OpenMode mode);
260
265
283 OdDbBlockTableRecord *BlockRecord,
284 OdDbObjectIdArray *ids = 0);
285
300 OdGiDrawableTraits* pTraits) const;
301
308 virtual bool subWorldDraw(
309 OdGiWorldDraw* pWd) const;
310
317 virtual void subViewportDraw(OdGiViewportDraw* pVd) const;
318
337 OdDbDwgFiler* pFiler);
338
352 virtual void dwgOutFields(
353 OdDbDwgFiler* pFiler) const;
354
373 OdDbDxfFiler* pFiler);
374
392 virtual void dxfOutFields(
393 OdDbDxfFiler* pFiler) const;
394
413
428 virtual void dxfOutFields_R12(
429 OdDbDxfFiler* pFiler) const;
430
442 OdDbDxfFiler* pFiler);
443
453 virtual void dxfOut(
454 OdDbDxfFiler* pFiler) const;
455
470 void subClose();
471
476 void* pClsid) const;
477
487 const OdGeMatrix3d& xfm) ODRX_OVERRIDE;
488
496 const OdGeMatrix3d& xfm,
497 OdDbEntityPtr& pCopy) const ODRX_OVERRIDE;
498
499 /* Replace OdRxObjectPtrArray */
509 OdRxObjectPtrArray& entitySet) const ODRX_OVERRIDE;
510
531 OdDbObject* pNewObject);
532
539 OdGeExtents3d& extents) const;
540
559
563 virtual bool treatAsOdDbBlockRefForExplode() const;
564
574 const OdGeMatrix3d& parentXform = OdGeMatrix3d::kIdentity) const;
575
585
597 virtual void copyFrom(const OdRxObject* pSrc) ODRX_OVERRIDE;
598
608
623 OdGsMarker gsMark,
624 const OdGePoint3d& pickPoint,
625 const OdGeMatrix3d& viewXform,
626 OdDbFullSubentPathArray& subentPaths,
627 const OdDbObjectIdArray* pEntAndInsertStack) const ODRX_OVERRIDE;
628
639 OdGsMarkerArray& gsMarkers) const ODRX_OVERRIDE;
640};
641
647
649 const OdGeMatrix3d& mTrans,
650 OdGePoint3d& pOrigin,
651 OdGeScale3d& sScale,
652 double & dRotation,
653 OdGeVector3d& vNormal );
655 OdGeVector3d& normal,
656 OdGePoint3d& position,
658 double& rotationAngle,
659 const OdGeMatrix3d& transformMat,
660 const OdDbBlockTableRecordPtr pBlockTableRecord);
661
662#include "TD_PackPop.h"
663
664#endif
OdSmartPtr< OdDbSequenceEnd > OdDbSequenceEndPtr
OdSmartPtr< OdDbAttribute > OdDbAttributePtr
TOOLKIT_EXPORT void decompTransform(const OdGeMatrix3d &mTrans, OdGePoint3d &pOrigin, OdGeScale3d &sScale, double &dRotation, OdGeVector3d &vNormal)
OdSmartPtr< OdDbBlockReference > OdDbBlockReferencePtr
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
scale
Definition: DimVarDefs.h:1684
ptrdiff_t OdGsMarker
unsigned int OdUInt32
#define ODRX_SEALED_VIRTUAL
#define ODRX_OVERRIDE
OdResult
Definition: OdResult.h:29
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
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
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
OpenMode
Definition: DbObjectId.h:54