CFx SDK Documentation  2020SP3
DbDynBlockReference.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, 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 Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 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 _DbDynBlock_h_Included_
25 #define _DbDynBlock_h_Included_
26 
27 
28 #include "DbEvalGraph.h"
29 #include "TD_PackPush.h"
30 
31 // Forward class declarations
32 
33 class OdDbBlockReference;
36 class OdDbDynBlockReferencePropertyImpl;
37 class OdDbDynBlockReferenceImpl;
39 class OdDbBlockParameter;
40 class OdDbDynBlockTableRecordImpl;
43 
53 {
54 public:
55 
56  enum UnitsType {
57  kNoUnits = 0, // No units defined.
58  kAngular = 1, // Angle.
59  kDistance = 2, // Distance.
60  kArea = 3 // 2D area.
61  };
62 
65 
70 
72  const OdDbDynBlockReferenceProperty& other);
73 
78 
85 
90 
94  bool readOnly() const;
95 
96 
100  bool show() const;
101 
106 
111 
129 
130 
135  void getAllowedValues(OdResBufArray& allowedValues);
136 
140  OdResBufPtr value () const;
141 
148  bool setValue (const OdResBufPtr& value);
149 
154 
162 
163 private:
164  friend class OdDbDynBlockReferencePropertyImpl;
165  OdDbDynBlockReferencePropertyImpl* m_pImpl;
166 };
167 
176 
183 {
185 public:
186 
191 
196 
198 
209  static bool isDynamicBlock (const OdDbObjectId& blockTableRecordId);
210 
218  bool isDynamicBlock () const;
219 
224 
225 
235 
239  void resetBlock();
240 
250  bool convertToStaticBlock (const OdString& newBlockName);
251 
259 
264 private:
266  OdDbBlockRepresentationContext* getRepresentationContext() const;
267  OdDbDynBlockReferenceImpl* m_pImpl;
269 };
270 
272 {
274 public:
277  bool isDynamicBlock() const;
279 
285  void getAnonymousBlockIds(OdDbObjectIdArray& anonymousIds) const;
286  void updateAnonymousBlocks() const;
287 private:
289  OdDbDynBlockTableRecordImpl* m_pImpl;
290 };
291 
292 #include "TD_PackPop.h"
293 
294 #endif
OdString
Definition: OdString.h:95
OdDbDynBlockReferenceProperty::setValue
bool setValue(const OdResBufPtr &value)
OdDbBlockReference
Definition: DbBlockReference.h:57
OdDbDynBlockReferencePropertyArray
OdArray< OdDbDynBlockReferencePropertyPtr > OdDbDynBlockReferencePropertyArray
Definition: DbDynBlockReference.h:175
OdDbBlockRepresentationContext
Definition: DbBlockRepresentation.h:48
OdDbDynBlockReference::isDynamicBlock
bool isDynamicBlock() const
DYNBLOCKS_EXPORT
#define DYNBLOCKS_EXPORT
Definition: DbEvalGraph.h:91
OdRxObject
Definition: RxObject.h:564
OdDbObjectId
Definition: DbObjectId.h:99
OdDbDynBlockReferenceProperty::getDescriptor
void getDescriptor(OdDbEvalNodeId &parameterId, OdDbBlkParamPropertyDescriptor &pDescriptor)
OdDbDynBlockReferenceProperty::propertyType
OdResBuf::ValueType propertyType() const
OdDbDynBlockReference::convertToStaticBlock
bool convertToStaticBlock()
OdDbDynBlockReferenceProperty::show
bool show() const
OdDbDynBlockReferenceProperty::readOnly
bool readOnly() const
OdDbDynBlockReferenceProperty::~OdDbDynBlockReferenceProperty
virtual ~OdDbDynBlockReferenceProperty()
OdArray< OdResBufPtr >
TD_PackPop.h
OdDbDynBlockReferenceProperty::visibleInCurrentVisibilityState
bool visibleInCurrentVisibilityState() const
OdDbDynBlockReference::blockId
OdDbObjectId blockId() const
OdDbDynBlockReferenceProperty::blockId
OdDbObjectId blockId() const
OdDbEvalNodeId
unsigned long OdDbEvalNodeId
Definition: DbEvalGraph.h:60
OdDbDynBlockReference
Definition: DbDynBlockReference.h:183
OdDbDynBlockReference::OdDbDynBlockReference
OdDbDynBlockReference(OdDbBlockReference *pRef)
OdDbDynBlockReferenceProperty::propertyName
OdString propertyName() const
OdDbDynBlockReferenceProperty::getParameter
OdDbBlockParameterPtr getParameter()
OdDbDynBlockTableRecord
Definition: DbDynBlockReference.h:272
OdSmartPtr
Definition: SmartPtr.h:58
OdDbDynBlockReferenceProperty::UnitsType
UnitsType
Definition: DbDynBlockReference.h:56
OdDbDynBlockReferencePropertyPtr
OdSmartPtr< OdDbDynBlockReferenceProperty > OdDbDynBlockReferencePropertyPtr
Definition: DbDynBlockReference.h:171
OdDbDynBlockTableRecord::blockTableRecordId
OdDbObjectId blockTableRecordId() const
OdDbDynBlockReference::~OdDbDynBlockReference
virtual ~OdDbDynBlockReference()
OdDbDynBlockReference::isDynamicBlock
static bool isDynamicBlock(const OdDbObjectId &blockTableRecordId)
OdDbBlkParamPropertyDescriptor
Definition: DbBlockParameter.h:43
OdDbDynBlockTableRecord::isDynamicBlock
bool isDynamicBlock() const
OdDbDynBlockTableRecord::OdDbDynBlockTableRecord
OdDbDynBlockTableRecord(OdDbObjectId blockId)
OdDbDynBlockReference::getBlockProperties
void getBlockProperties(OdDbDynBlockReferencePropertyArray &properties) const
OdDbDynBlockReferenceProperty::value
OdResBufPtr value() const
TD_PackPush.h
ODRX_HEAP_OPERATORS
#define ODRX_HEAP_OPERATORS()
Definition: OdHeap.h:74
OdDbDynBlockReference::convertToStaticBlock
bool convertToStaticBlock(const OdString &newBlockName)
OdResBuf::ValueType
ValueType
Definition: ResBuf.h:171
OdDbDynBlockTableRecord::updateAnonymousBlocks
void updateAnonymousBlocks() const
OdDbDynBlockReference::OdDbDynBlockReference
OdDbDynBlockReference(const OdDbObjectId &blockRefId)
OdDbDynBlockReferenceProperty
Definition: DbDynBlockReference.h:53
OdDbDynBlockReferenceProperty::description
OdString description() const
OdDbDynBlockTableRecord::~OdDbDynBlockTableRecord
~OdDbDynBlockTableRecord()
OdDbDynBlockReference::resetBlock
void resetBlock()
value
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
OdDbDynBlockReferenceProperty::OdDbDynBlockReferenceProperty
OdDbDynBlockReferenceProperty(const OdDbDynBlockReferenceProperty &other)
OdDbDynBlockReference::dynamicBlockTableRecord
OdDbObjectId dynamicBlockTableRecord() const
OdDbDynBlockReferenceProperty::unitsType
UnitsType unitsType() const
OdDbDynBlockReferenceProperty::getAllowedValues
void getAllowedValues(OdResBufArray &allowedValues)
OdDbDynBlockReferenceProperty::OdDbDynBlockReferenceProperty
OdDbDynBlockReferenceProperty()
OdDbBlockParameterPtr
OdSmartPtr< OdDbBlockParameter > OdDbBlockParameterPtr
Definition: DbDynBlockReference.h:41
OdDbDynBlockReference::anonymousBlockTableRecord
OdDbObjectId anonymousBlockTableRecord() const
DbEvalGraph.h
OdIfc::kDistance
@ kDistance
Definition: IfcAttributesEnum.h:295
OdDbDynBlockReferenceProperty::operator=
OdDbDynBlockReferenceProperty & operator=(const OdDbDynBlockReferenceProperty &other)
OdDbDynBlockTableRecord::getAnonymousBlockIds
void getAnonymousBlockIds(OdDbObjectIdArray &anonymousIds) const
OdDbBlockParameter
Definition: DbBlockParameter.h:66