符老师 元素加入选择集AddElement(Element element, DgnModelRef modelRef);这个函数效率太低
AddElementSet(IElementSet elementSet); 这个函数(元素含参考文件的元素) 我用C++ 、C#都不行 请问问符老师 怎么弄?
求指教
error C2039: “Iterator”: 不是“Bentley::DgnPlatform::ElementAgenda”的成员
error C2664: “Bentley::BentleyStatus Bentley::DgnPlatform::SelectionSetManager::AddElementSet(Bentley::IElementSetP)”: 无法将参数 1 从“Bentley::DgnPlatform::ElemAgendaEntry *”转换为“Bentley::IElementSetP”
刚看了下,抱歉,是我的疏忽,ElementAgenda::Iterator该方法目前暂时未公开。
有这么多内部 好东西呀
目前AddElementSet需要跟ElementAgenda::Iterator搭配使用,暂时公开接口没办法通过该方式去实现批量选择了。
struct TestElementSet : IElementSet { private : ElementAgenda Elements; int index=0; public : TestElementSet() { } void Add(EditElementHandle elem) { Elements.Insert(elem); } void AddRange(ElementAgenda agenda) { Elements = agenda; } unsigned __int64 GetCount() { return (unsigned __int64)Elements.GetCount(); } bool GetFirst(ElementHandleR elHandle) { if (Elements.GetCount() == 0) return false; elHandle = *(Elements.GetFirst()); return true; } bool GetNext(ElementHandleR elHandle) { if (Elements.GetCount() == 0) return false; elHandle = *(Elements.GetEntry(index)); index++; return true; } };