符老师 元素加入选择集AddElement(Element element, DgnModelRef modelRef);这个函数效率太低
AddElementSet(IElementSet elementSet); 这个函数(元素含参考文件的元素) 我用C++ 、C#都不行 请问问符老师 怎么弄?
求指教
请参考下面代码:
if (nullptr != element.GetElementRef()) { ElemAgendaEntry newElement(element.GetElementRef(), element.GetModelRef()); newElement.GetElementDescrP()->el.hdr.dhdr.props.b.invisible = false; agenda.push_back(newElement); } ElementAgenda::Iterator elementSet2(&(*agenda.begin()), &(*(agenda.end() - 1))); SelectionSetManager::GetManager().AddElementSet(&elementSet2);
ElementAgenda::Iterator 没有这个用法 这要加什么头文件么
上边张老师给的代码用的是c/c++下的ElementAgenda对象类型,您用的托管对象类型ElementAgenda。
能全一点 我用的也是C++
ElementAgenda::Iterator elementSet2(&(*agenda.begin()), &(*(agenda.end() - 1)));SelectionSetManager::GetManager().AddElementSet(&elementSet2);
编译不过呀
编译不过报什么错?
error C2039: “Iterator”: 不是“Bentley::DgnPlatform::ElementAgenda”的成员
error C2664: “Bentley::BentleyStatus Bentley::DgnPlatform::SelectionSetManager::AddElementSet(Bentley::IElementSetP)”: 无法将参数 1 从“Bentley::DgnPlatform::ElemAgendaEntry *”转换为“Bentley::IElementSetP”
刚看了下,抱歉,是我的疏忽,ElementAgenda::Iterator该方法目前暂时未公开。