DgnECInstance.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
9 
10 #pragma managed(push, off)
11 
12 #include "DgnPlatform.h"
13 #include <DgnPlatform/LevelCache.h>
14 #include <ECObjects/ECObjectsAPI.h>
16 #include <DgnPlatform/DgnCore.h>
19 
21 
22 #if 1 // defined (NOT_VS2012_COMPATIBLE_FOR_DOTNET_INTEROP)
24 #else
25 struct FindInstancesScopePtr : public RefCountedPtr <DgnPlatform::FindInstancesScope>
26  {
29  };
30 #endif
31 
32 typedef ECN::IInstanceCollectionAdapter<DgnECInstanceP const> IDgnECInstanceCollectionAdapter;
34 typedef ECN::IInstanceCollectionIteratorAdapter<DgnECInstanceP const> IDgnECInstanceCollectionIteratorAdapter;
35 typedef ECN::IInstanceCollectionAdapter<IDgnECRelationshipInstanceP const> IDgnECRelationshipCollectionAdapter;
37 typedef ECN::IInstanceCollectionIteratorAdapter<IDgnECRelationshipInstanceP const> IDgnECRelationshipCollectionIteratorAdapter;
38 
40 
43 
44 
47  {
66  };
67 
71 typedef bvector<DgnElementECInstancePtr> DgnElementECInstanceVector;
72 typedef bvector<DgnECInstancePtr> DgnECInstanceVector;
73 typedef bvector<IDgnECRelationshipInstancePtr> IDgnECRelationshipInstanceVector;
74 typedef bvector<WString> T_PropertyNameVector;
75 
78 enum class DgnECHostType : uint32_t
79  {
80  Unknown = 0,
81  Element = 1 << 0,
82  Model = 1 << 2,
83  File = 1 << 3,
84  DesignLink = 1 << 4,
85  View = 1 << 5,
86  Attachment = 1 << 6,
87  Level = 1 << 7,
88 
89  All = 0xffffffff,
90  };
91 
93 
94 /*---------------------------------------------------------------------------------**/
100  {
101 private:
102  struct ViewData
103  {
104  ViewGroupP m_group;
105  UInt32 m_index;
106  };
107 
108  struct ElementData
109  {
110  ElementHandleCP m_eh;
111  EditElementHandleP m_eeh;
112  };
113 
114  struct ModelData
115  {
116  DgnFileP m_indexFile;
117  union
118  {
119  DgnModelP m_model;
120  ModelId m_modelId;
121  };
122  };
123 
124  struct LevelData
125  {
126  DgnModelRefP m_cacheModelRef;
127  LevelId m_id;
128  };
129 
130  DgnECHostType m_hostType;
131  union
132  {
133  ElementData m_element;
134  ModelData m_model;
136  DgnLinkTreeNodeP m_linkNode;
137  ViewData m_view;
139  LevelData m_level;
140  };
141 
142  void SetElement (ElementHandleCR eh, EditElementHandleP eeh) { m_hostType = DgnECHostType::Element; m_element.m_eh = &eh; m_element.m_eeh = eeh; }
143  void SetView (ViewGroupR vg, UInt32 index) { m_hostType = DgnECHostType::View; m_view.m_group = &vg; m_view.m_index = index; }
144  void SetModel (DgnModelR model) { m_hostType = DgnECHostType::Model; m_model.m_indexFile = nullptr; m_model.m_model = &model; }
145  void SetModelItem (DgnFileR dgnfile, ModelId modelId) { m_hostType = DgnECHostType::Model; m_model.m_indexFile = &dgnfile; m_model.m_modelId = modelId; }
146 public:
148  DgnECInstanceHost (ElementHandleCR eh) { SetElement (eh, nullptr); }
149  DgnECInstanceHost (EditElementHandleR eeh) { SetElement (eeh, &eeh); }
150  DgnECInstanceHost (DgnModelR model) { SetModel (model); }
151  DgnECInstanceHost (DgnFileR dgnFile, ModelId modelId) { SetModelItem (dgnFile, modelId); }
152  DgnECInstanceHost (DgnFileR dgnfile) : m_hostType (DgnECHostType::File), m_dgnfile (&dgnfile) { }
153  DgnECInstanceHost (DgnAttachmentR attachment) : m_hostType (DgnECHostType::Attachment), m_attachment (&attachment) { }
154  DgnECInstanceHost (DgnModelRefR modelRef, LevelId levelId) : m_hostType (DgnECHostType::Level) { m_level.m_cacheModelRef = &modelRef; m_level.m_id = levelId; }
155  DgnECInstanceHost (ViewGroupR viewGroup, UInt32 viewIndex) { SetView (viewGroup, viewIndex); }
156  DgnECInstanceHost (DgnLinkTreeNodeR linkNode) : m_hostType (DgnECHostType::DesignLink), m_linkNode (&linkNode) { }
157 
158  ElementHandleCP GetElementHandle() const { return IsElement() ? m_element.m_eh : nullptr; }
159  EditElementHandleP GetEditElementHandle() const { return IsElement() ? m_element.m_eeh : nullptr; }
160  DgnModelP GetModel() const { return IsModel() && nullptr == m_model.m_indexFile ? m_model.m_model : nullptr; }
161  ModelIndexItem const* GetModelItem() const { return IsModel() && nullptr != m_model.m_indexFile ? m_model.m_indexFile->GetModelIndex().GetItemByID (m_model.m_modelId, false) : nullptr; }
162  DgnFileP GetDgnFile() const { return IsDgnFile() ? m_dgnfile : nullptr; }
163  DgnAttachmentP GetAttachment() const { return IsAttachment() ? m_attachment : nullptr; }
164  LevelHandle GetLevel() const { return IsLevel() ? m_level.m_cacheModelRef->GetLevelCacheR().GetLevel (m_level.m_id) : LevelHandle(); }
165  ViewGroupP GetView (UInt32& viewIndex) const { viewIndex = IsView() ? m_view.m_index : viewIndex; return IsView() ? m_view.m_group : nullptr; }
166  DgnLinkTreeNodeP GetLinkNode() const { return IsDesignLink() ? m_linkNode : nullptr; }
167 
168  bool IsElement() const { return DgnECHostType::Element == m_hostType; }
169  bool IsModel() const { return DgnECHostType::Model == m_hostType; }
170  bool IsDgnFile() const { return DgnECHostType::File == m_hostType; }
171  bool IsAttachment() const { return DgnECHostType::Attachment == m_hostType; }
172  bool IsView() const { return DgnECHostType::View == m_hostType; }
173  bool IsLevel() const { return DgnECHostType::Level == m_hostType; }
174  bool IsDesignLink() const { return DgnECHostType::DesignLink == GetType(); }
175  DgnECHostType GetType() const { return m_hostType; }
176  };
177 
181 struct SelectedProperties : RefCounted<IRefCounted>
182  {
183 private:
184  virtual void MakeClassAbstract() = 0;
185 public:
186 public:
189  DGNPLATFORM_EXPORT void AddPropertyNameToSelect (WCharCP accessString);
190 
193  DGNPLATFORM_EXPORT static RefCountedPtr<SelectedProperties> Create (bool selectAllProperties=false);
194 
197  };
198 
200 
204  {
205 private:
206  bool m_pathBasedId;
207  bool m_qualifiedPepBasedId;
208  bool m_exposeHidden;
209  bool m_exposeHistorical;
210 public:
211  DGNPLATFORM_EXPORT explicit DgnECInstanceCreateOptions (bool pathBasedId = false, bool qualifiedPepBasedId = false);
212 
214  bool HasPathBasedId() const { return m_pathBasedId; }
216  bool HasQualifiedPepBasedId() const { return m_qualifiedPepBasedId; }
218  bool ExposesHidden() const { return m_exposeHidden; }
220  bool ExposesHistorical() const { return m_exposeHistorical; }
221 
223  void SetPathBasedId (bool pathBased) { m_pathBasedId = pathBased; }
225  void SetQualifiedPepBasedId (bool qualified) { m_qualifiedPepBasedId = qualified; }
227  void SetExposesHidden (bool exposes) { m_exposeHidden = exposes; }
229  void SetExposesHistorical (bool exposes) { m_exposeHistorical = exposes; }
230  };
231 
235  {
236 private:
237  SelectedPropertiesPtr m_selectedProperties;
238 public:
241  : DgnECInstanceCreateOptions (options), m_selectedProperties (selectedProperties) { }
244  : DgnECInstanceCreateOptions (options), m_selectedProperties (nullptr) { }
245 
247  SelectedPropertiesP GetSelectedProperties() { return m_selectedProperties.get(); }
249  SelectedPropertiesCP GetSelectedProperties () const { return m_selectedProperties.get(); }
251  void SetSelectedProperties (SelectedPropertiesP selectedProperties) { m_selectedProperties = selectedProperties; }
252  };
253 
256  struct DgnECInstanceEnabler : ECN::ECEnabler
257  {
258 public:
283  DGNPLATFORM_EXPORT ECN::StandaloneECInstanceR GetSharedWipInstance() const;
284 
318  DGNPLATFORM_EXPORT ECN::StandaloneECInstancePtr GetPrivateWipInstance() const;
319 
321  DGNPLATFORM_EXPORT bool SupportsCreateInstanceOnHost (DgnECHostType hostType) const;
322 
324  DGNPLATFORM_EXPORT bool SupportsCreateInstanceOnElement () const;
325 
327  DGNPLATFORM_EXPORT bool SupportsCreateInstanceAsElement () const;
328 
333  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnFile (DgnECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnFileR dgnfile) const;
334 
339  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnModel (DgnECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnModelR model) const;
340 
345  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnLinkNode (DgnECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnLinkTreeNodeR linknode) const;
346 
354  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnHost (DgnECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnECInstanceHostCR host, UInt32 intendedLocalId, DgnECInstanceCreateContextCR createContext = DgnECInstanceCreateContext(), bool instanceOwnsHost = false) const;
355 
362  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnHost(DgnECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnECInstanceHostCR host, DgnECInstanceCreateContextCR createContext = DgnECInstanceCreateContext(), bool instanceOwnsHost = false) const;
363 
364 public:
366  DGNPLATFORM_EXPORT ECN::StandaloneECEnablerR GetStandaloneECInstanceEnabler() const;
367 
376  DGNPLATFORM_EXPORT DgnECInstanceStatus ScheduleInstanceOnElement (DgnElementECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, EditElementHandleR eh, bool instanceOwnsElement=false) const;
377 
387  DGNPLATFORM_EXPORT DgnECInstanceStatus ScheduleReplaceInstanceOnElement (DgnElementECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnModelRefR modelRef, EditElementHandleR eh, UInt32 localId) const;
388 
401  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnElement(DgnElementECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, ElementHandleCR eh, bool instanceOwnsElement = false) const;
402 
416  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceOnElement(DgnElementECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, ElementHandleCR eh, UInt32 intendedLocalId, bool instanceOwnsElement = false) const;
417 
430  DGNPLATFORM_EXPORT DgnECInstanceStatus CreateInstanceAsElement (DgnElementECInstancePtr* dgnecInstance, ECN::IECInstanceCR wipInstance, DgnModelRefR modelRef, bool instanceOwnsElement=false) const;
431 
434  DGNPLATFORM_EXPORT bool IsEnablerValidForDgnFile (DgnFileR dgnFile) const;
435  };
436 
437 
440  {
441 private:
442  virtual void MakeClassAbstract() = 0;
443 public:
444 public:
446  DGNPLATFORM_EXPORT DgnECHostType GetHostType () const;
447 
449  DGNPLATFORM_EXPORT DgnECInstanceHost GetInstanceHost() const;
451  DGNPLATFORM_EXPORT DgnModelRefP GetDgnModelRefP () const;
452 
454  DGNPLATFORM_EXPORT DgnFileP GetDgnFileP () const;
455 
457  DGNPLATFORM_EXPORT StatusInt WriteChanges ();
458 
461  DGNPLATFORM_EXPORT StatusInt ScheduleWriteChanges (EditElementHandleR eeh);
462 
465 
467  DGNPLATFORM_EXPORT DgnECInstanceStatus DeleteAndIgnoreOwnership();
468 
472 
474  DGNPLATFORM_EXPORT DgnECInstanceEnablerCR GetDgnECInstanceEnabler () const;
475 
482  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetValueAsString (WStringR strVal, WCharCP accessString, bool useArrayIndex, UInt32 arrayIndex) const;
483 
490  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetValueAsString (WStringR strVal, UInt32 propertyIndex, bool useArrayIndex, UInt32 arrayIndex) const;
491 
498  DGNPLATFORM_EXPORT ECN::ECObjectsStatus SetValueAsString (WCharCP accessString, WCharCP strVal, bool useArrayIndex, UInt32 arrayIndex);
499 
506  DGNPLATFORM_EXPORT ECN::ECObjectsStatus SetValueAsString (UInt32 propertyIndex, WCharCP strVal, bool useArrayIndex, UInt32 arrayIndex);
507 
509  DGNPLATFORM_EXPORT DgnElementECInstanceCP GetAsElementInstance() const;
510  DGNPLATFORM_EXPORT DgnElementECInstanceP GetAsElementInstance();
511 
514  DGNPLATFORM_EXPORT void SetReadOnly (bool isReadOnly);
515 
516  };
517 
525 {
526 public:
528  DGNPLATFORM_EXPORT ElementHandleCR GetElementHandle() const;
529 
531  DGNPLATFORM_EXPORT DgnModelRefR GetModelRef () const;
532 
534  DGNPLATFORM_EXPORT ElementRefP GetElementRef () const;
535 
537  DGNPLATFORM_EXPORT UInt32 GetLocalId () const;
538 };
539 
542 struct DgnECRelationshipEnabler : public ECN::IECRelationshipEnabler
543 {
544 public:
552  DGNPLATFORM_EXPORT BentleyStatus CreateRelationship (IDgnECRelationshipInstancePtr *createdRelationship, ECN::StandaloneECRelationshipInstanceR wipRelationship,
553  DgnElementECInstanceCR instanceA, DgnElementECInstanceCR instanceB, DgnModelRefP hostModelRef=NULL, ElementRefP hostElementRef=NULL) const;
554 
561  DGNPLATFORM_EXPORT BentleyStatus CreateRelationship (IDgnECRelationshipInstancePtr *createdRelationship,
562  DgnElementECInstanceCR instanceA, DgnElementECInstanceCR instanceB, DgnModelRefP hostModelRef=NULL, ElementRefP hostElementRef=NULL) const;
563 
565  DGNPLATFORM_EXPORT ECN::StandaloneECRelationshipInstanceR GetSharedStandaloneWipInstance() const;
566 
568  DGNPLATFORM_EXPORT bool SupportsRelationshipProperties () const;
569 };
570 
575  {
576 public:
581  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetSourceOrderId (Int64& sourceOrderId) const;
584  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetTargetOrderId (Int64& targetOrderId) const;
586  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetSourceAssociatedString (WCharCP& propertyString) const;
588  DGNPLATFORM_EXPORT ECN::ECObjectsStatus GetTargetAssociatedString (WCharCP& propertyString) const;
591  };
592 
593 
594 /*---------------------------------------------------------------------------------**/
600 
602  {
603 private:
604  IDgnECInstanceCollectionAdapterPtr m_collectionPtr;
605 
606 public:
609  {
610  //
611  }
612 
613 
614  struct const_iterator : std::iterator<std::forward_iterator_tag, DgnECInstanceP>
615  {
616  private:
617  typedef IDgnECInstanceCollectionAdapter::const_iterator iterator_impl;
618 
619  iterator_impl m_impl;
620  public:
621  typedef iterator_impl::reference reference;
622 
624  DGNPLATFORM_EXPORT const_iterator (iterator_impl impl);
625 
630  bool operator==(const_iterator const& rhs) const { return this->m_impl == rhs.m_impl; }
632  bool operator!=(const_iterator const& rhs) const { return this->m_impl != rhs.m_impl; }
634  const_iterator& operator++() { ++m_impl; return *this; }
635  };
636 
638  DGNPLATFORM_EXPORT const_iterator begin () const;
640  DGNPLATFORM_EXPORT const_iterator end () const;
642  DGNPLATFORM_EXPORT bool empty() const;
644  DGNPLATFORM_EXPORT bool IsNull () const;
645  };//DgnECInstanceIterable
646 
649 
650 #pragma managed(pop)
651 
ElementHandleCP GetElementHandle() const
Definition: DgnECInstance.h:158
bool IsView() const
Definition: DgnECInstance.h:172
DgnLinkTreeNodeP GetLinkNode() const
Definition: DgnECInstance.h:166
#define ENUM_IS_FLAGS(ENUMTYPE)
Definition: Bentley.r.h:164
bool empty() const
Definition: stdcxx/bstdmap.h:210
bvector< IDgnECRelationshipInstancePtr > IDgnECRelationshipInstanceVector
Definition: DgnECInstance.h:73
ECObjectsStatus
General purpose result codes.
Definition: ECObjects.h:128
EditElementHandleP GetEditElementHandle() const
Definition: DgnECInstance.h:159
DgnECInstanceCreateContext(DgnECInstanceCreateOptionsCR options)
Constructs from the specified options and selects all properties.
Definition: DgnECInstance.h:243
DgnECInstanceHost(DgnAttachmentR attachment)
Definition: DgnECInstance.h:153
void SetSelectedProperties(SelectedPropertiesP selectedProperties)
Returns the set of properties which will be selected in the DgnECInstance.
Definition: DgnECInstance.h:251
struct DgnPlatform::DgnECInstanceCreateOptions const & DgnECInstanceCreateOptionsCR
Definition: DgnPlatform.h:539
ModelData m_model
Definition: DgnECInstance.h:134
void SetQualifiedPepBasedId(bool qualified)
Sets whether an element-hosted instance's ID will include a qualified PersistentElementPath identifie...
Definition: DgnECInstance.h:225
Definition: Bentley.h:212
Hosted on a DgnLinkTree or DgnLinkTreeNode.
DgnECInstanceCreateContext(SelectedPropertiesP selectedProperties=nullptr, DgnECInstanceCreateOptionsCR options=DgnECInstanceCreateOptions())
Constructor. By default, all properties are selected and all options are set to false.
Definition: DgnECInstance.h:240
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
bool IsModel() const
Definition: DgnECInstance.h:169
DgnECInstanceHost(ElementHandleCR eh)
Definition: DgnECInstance.h:148
DgnECRelationshipEnabler is an abstract class.
Definition: DgnECInstance.h:542
bvector< DgnElementECInstancePtr > DgnElementECInstanceVector
Definition: DgnECInstance.h:71
DgnECInstanceHost(EditElementHandleR eeh)
Definition: DgnECInstance.h:149
ECN::IECRelationshipInstance is an instance of an ECRelationshipClass and represents the relationship...
Definition: ECInstance.h:568
Definition: TextTableHandler.h:216
bool IsDgnFile() const
Definition: DgnECInstance.h:170
UInt32 LevelId
Definition: DgnPlatformBaseType.r.h:85
iterator begin()
Definition: stdcxx/bstdmap.h:178
SelectedPropertiesCP GetSelectedProperties() const
Returns the set of properties which will be selected in the DgnECInstance.
Definition: DgnECInstance.h:249
RefCountedPtr< DgnPlatform::FindInstancesScope > FindInstancesScopePtr
Definition: DgnECInstance.h:23
ECN::IInstanceCollectionIteratorAdapter< DgnECInstanceP const > IDgnECInstanceCollectionIteratorAdapter
Definition: DgnECInstance.h:34
RefCountedPtr< IDgnECRelationshipInstance > IDgnECRelationshipInstancePtr
Definition: DgnECInstance.h:70
struct DgnPlatform::DgnECInstanceCreateContext const & DgnECInstanceCreateContextCR
Definition: DgnPlatform.h:540
struct DgnPlatform::DgnECInstanceHost const & DgnECInstanceHostCR
Definition: DgnPlatform.h:200
bool ExposesHidden() const
Returns whether "hidden" ECInstances are permitted. "Hidden" ECInstances include those attached to hi...
Definition: DgnECInstance.h:218
iterator end()
Definition: stdcxx/bstdmap.h:186
ECN::IInstanceCollectionAdapter< DgnECInstanceP const > IDgnECInstanceCollectionAdapter
Definition: DgnECInstance.h:32
LevelHandle GetLevel() const
Definition: DgnECInstance.h:164
void SetExposesHidden(bool exposes)
Sets whether "hidden" ECInstances are permitted. "Hidden" ECInstances include those attached to hidde...
Definition: DgnECInstance.h:227
A writeable "handle" to an MSElement.
Definition: ElementHandle.h:470
bool IsAttachment() const
Definition: DgnECInstance.h:171
struct DgnPlatform::DgnECInstanceEnabler const & DgnECInstanceEnablerCR
Definition: DgnPlatform.h:534
bool ExposesHistorical() const
Returns whether the "historical" properties of an object are returned. Chiefly used for Design Histor...
Definition: DgnECInstance.h:220
struct DgnPlatform::SelectedProperties const * SelectedPropertiesCP
Definition: DgnPlatform.h:537
Read-only access to a level definition.
Definition: LevelCache.h:373
SelectedPropertiesP GetSelectedProperties()
Returns the set of properties which will be selected in the DgnECInstance.
Definition: DgnECInstance.h:247
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
A DgnFile is an in-memory representation of a physical file, regardless of its format.
Definition: DgnFile.h:308
wchar_t const * WCharCP
Definition: Bentley.h:224
RefCountedPtr< DgnECInstanceEnabler > DgnECInstanceEnablerPtr
Definition: DgnECInstance.h:68
ModelIndexItem const * GetModelItem() const
Definition: DgnECInstance.h:161
bvector< WString > T_PropertyNameVector
Definition: DgnECInstance.h:74
Template to simplify the task of writing a class that implements the reference-counting pattern...
Definition: RefCounted.h:90
bool operator==(const_iterator const &rhs) const
Compares for equality against another const_iterator.
Definition: DgnECInstance.h:630
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
StandaloneECRelationshipInstance is used to represent a relationship between two IECInstances.
Definition: StandaloneECRelationshipInstance.h:85
ECN::StandaloneECInstance is an implementation of IECInstance which is not tied to a specified persis...
Definition: StandaloneECInstance.h:87
DgnECInstanceHost(ViewGroupR viewGroup, UInt32 viewIndex)
Definition: DgnECInstance.h:155
struct DgnPlatform::DgnElementECInstance const * DgnElementECInstanceCP
Definition: DgnPlatform.h:205
DgnECInstanceHost()
Definition: DgnECInstance.h:147
Defines the set of options used when querying for DgnECInstances.
Definition: DgnECInstance.h:203
ECN::IInstanceCollectionAdapter< IDgnECRelationshipInstanceP const > IDgnECRelationshipCollectionAdapter
Definition: DgnECInstance.h:35
Represents some object which resides in a DgnFile and which can host ECInstances. ...
Definition: DgnECInstance.h:99
iterator_impl::reference reference
Definition: DgnECInstance.h:621
A DgnModel represents a DgnModel in memory.
Definition: DgnModel.h:236
#define CLRPUBLIC
Definition: DgnPlatform/ExportMacros.h:12
Definition: dgnitemindex.h:18
DgnModelP GetModel() const
Definition: DgnECInstance.h:160
BentleyStatus
Definition: Bentley.h:208
A DgnModelRef provides access to a model in a Bentley::DgnPlatform::DgnFile.
Definition: DgnModelRef.h:172
DgnECInstanceIterable()
Empty constructor.
Definition: DgnECInstance.h:608
DgnECInstanceHost(DgnLinkTreeNodeR linkNode)
Definition: DgnECInstance.h:156
bool IsDesignLink() const
Definition: DgnECInstance.h:174
RefCountedPtr< IDgnECInstanceCollectionAdapter > IDgnECInstanceCollectionAdapterPtr
Definition: DgnECInstance.h:33
LevelData m_level
Definition: DgnECInstance.h:139
struct DgnPlatform::ElementHandle const * ElementHandleCP
Definition: DgnPlatform.h:260
IECInstance const & IECInstanceCR
Definition: ECObjects.h:67
ViewData m_view
Definition: DgnECInstance.h:137
const_iterator & operator++()
Increments this iterator. It is an error to increment an iterator which points past the end of the Dg...
Definition: DgnECInstance.h:634
RefCountedPtr< SelectedProperties > SelectedPropertiesPtr
Definition: DgnECInstance.h:199
ECRelationshipEnd
Used to define which end of the relationship, source or target.
Definition: ECSchema.h:767
bool operator!=(const_iterator const &rhs) const
Compares for inequality against another const_iterator.
Definition: DgnECInstance.h:632
Interface that provides direct and efficient access to element data.
Definition: ElementRefBase.h:120
Int32 ModelId
Definition: DgnPlatformBaseType.r.h:84
bool IsElement() const
Definition: DgnECInstance.h:168
DgnECInstanceHost(DgnModelRefR modelRef, LevelId levelId)
Definition: DgnECInstance.h:154
void SetExposesHistorical(bool exposes)
Sets whether the "historical" properties of an object are returned. Chiefly used for Design History...
Definition: DgnECInstance.h:229
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
DVec3d operator*(Transform const &transform, DVec3d const &vector)
operator overload for multiplication of a transform and a vector li>The vector appears on the left as...
ViewGroups contain information about the contents, positioning, and ordering of a user-specified coll...
Definition: DgnPlatform/ViewGroup.h:294
DgnAttachmentP m_attachment
Definition: DgnECInstance.h:138
ECN::IInstanceCollectionIteratorAdapter< IDgnECRelationshipInstanceP const > IDgnECRelationshipCollectionIteratorAdapter
Definition: DgnECInstance.h:37
A DgnAttachment represents a reference from one model to another, with transforming, clipping, and filtering applied.
Definition: DgnAttachment.h:192
int StatusInt
Definition: Bentley.h:222
DgnECInstanceStatus
Return status for DgnEC operations.
Definition: DgnECInstance.h:46
IDgnECRelationshipInstance is an abstract class that supports relating two DgnElementECInstances.
Definition: DgnECInstance.h:574
DgnInstance is an abstract class that represents an ecinstance which is persisted in the DgnPlatform ...
Definition: DgnECInstance.h:439
bool HasQualifiedPepBasedId() const
Returns whether an element-hosted instance's ID will include a qualified PersistentElementPath identi...
Definition: DgnECInstance.h:216
Definition: Bentley.h:210
RefCountedPtr< IDgnECRelationshipCollectionAdapter > IDgnECRelationshipCollectionAdapterPtr
Definition: DgnECInstance.h:36
Defines the set of options and the properties to select when querying for DgnECInstances.
Definition: DgnECInstance.h:234
DgnECHostType GetType() const
Definition: DgnECInstance.h:175
int64_t Int64
Definition: Bentley.r.h:130
Structure used to defined the properties to populate in a DgnECInstance.
Definition: DgnECInstance.h:181
ViewGroupP GetView(UInt32 &viewIndex) const
Definition: DgnECInstance.h:165
struct DgnPlatform::DgnElementECInstance const & DgnElementECInstanceCR
Definition: DgnPlatform.h:205
bool IsLevel() const
Definition: DgnECInstance.h:173
DgnLinkTreeNodeP m_linkNode
Definition: DgnECInstance.h:136
! Used to return results from DgnECManager::FindInstances.
Definition: DgnECInstance.h:601
ElementData m_element
Definition: DgnECInstance.h:133
void SetPathBasedId(bool pathBased)
Sets whether the instance's ID will include a unique identifier for the containing DgnFile...
Definition: DgnECInstance.h:223
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
unsigned int uint32_t
Definition: Bentley.r.h:93
RefCountedPtr< DgnElementECInstance > DgnElementECInstancePtr
Definition: DgnECInstance.h:69
A findinstances scope describes where to look for instances on a call to DgnECManager::FindInstances(...
Definition: DgnECFinders.h:108
DgnFileP m_dgnfile
Definition: DgnECInstance.h:135
DgnECInstanceHost(DgnModelR model)
Definition: DgnECInstance.h:150
DgnElementECInstance is an abstract class DgnElementECInstance represents a DgnECInstance which is ho...
Definition: DgnECInstance.h:524
DgnFileP GetDgnFile() const
Definition: DgnECInstance.h:162
DgnECInstanceHost(DgnFileR dgnfile)
Definition: DgnECInstance.h:152
DgnECHostType
Describes the underlying type on which an instance can be persisted.
Definition: DgnECInstance.h:78
An IECInstance represents an instance of an ECClass.
Definition: ECInstance.h:115
ECEnabler for standalone ECInstances (IECInstances not tied to a specific persistent store) ...
Definition: StandaloneECInstance.h:103
DgnECInstanceHost(DgnFileR dgnFile, ModelId modelId)
Definition: DgnECInstance.h:151
bool HasPathBasedId() const
Returns whether the instance's ID will include a unique identifier for the containing DgnFile...
Definition: DgnECInstance.h:214
bvector< DgnECInstancePtr > DgnECInstanceVector
Definition: DgnECInstance.h:72
Implemented by ECEnablers which expose properties of DgnECInstances.
Definition: DgnECInstance.h:256
DgnAttachmentP GetAttachment() const
Definition: DgnECInstance.h:163
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:51
unknown status (newly added to system)

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.