查看单个帖子
旧 2009-05-06, 11:49 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problems when selecting dashdot line

problems when selecting dashdot line
problems when selecting dashdot line
hi!
when using trackrubberband to select etities i抳e noticed that when i select a dashdot or a centre line the selectionreactor seems to interpret the selected line not as one line, one entity, but as a number of lines.
the problem occurs only when i use trackrubberband i have no problems with dashdot lines when doing single selections. is there any workaround to solve this problem. i抳e checked the forum but can抰 find anything matching.
code:
//fractional i know but just to give you a hint..
...
selectionreactor pselectionreactor = selectionreactor(sset, spaceid);
...
...
int y2 = rc.bottom + intpickregion;
pview->select((odgsdcpoint*)&selectrc, 2, &pselectionreactor);
...
...regards
kennet

hi,
selection reactor callbacks can be called more than one time for any drawable at selection process. this is normal behaviour. you need analyse on your side, does this drawable is not already selected at current selection call. additionaly you can optimize selection process, using following call for selectionreactor::selected(const odgidrawabledesc& drawabledesc) callback:
code:
drawabledesc.marktoskip(true);this call instructs selection process to disable additional selected() callback call's if it is possible, but not completely guarantees the fact that selected() callback will be not called for this drawable again.
the line with linetype is one drawable for selection process (not number of separate entities as you wrote), but because it is not marked to skip after first selected() call, selected() callback called for each geometry portion of this drawable (drawabledesc identical for each geometry portion of one drawable).
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)