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

question on odgeextents2d::intersectwith()
question on odgeextents2d::intersectwith()
hello
i use the odgeextents2d::intersectwith() method. reading the documentation i assumed that this method is implemented. however i get a null-pointer as result, even though the status says "kintersectok". why is that?
the extents used in this operation are ok, i doublechecked that during debugging.
if the method is not implemented yet, do you have any suggestions on how to calculate an intersection between 2d-rectangles (always aligned to x and y axis) with classes provided in dwgdirect? thanks for a quick reply.
regards
martin

code:
odgeextents2d input1, input2, result;
input1.set(odgepoint2d(0.0, 0.0), odgepoint2d(2.0, 2.0));
input2.set(odgepoint2d(1.0, 1.0), odgepoint2d(3.0, 3.0));
input1.intersectwith(input2. &result); // you must set pointer of existing extents here, because second parameter is not a reference on pointer
hi amark
thanks for the quick reply, appreciate that.
i'm a little confused. is it me, or does the documentation differ from how the method is acutally implemented? as you suspected i was passing a pointer as the second parameter. in the docs it says:
quote:
odgeextents2d::intersectwith (
const odgeextents2d& extents,
odgeextents2d* presult = 0) const
where
quote:
presult (o) receives a pointer to the extents object of the intersection.
how does following sentence go with passing a stack variable by reference?
quote:
the returned object is created with the new operator, and it is the responsibility of the caller to delete it.
anyway, i guess i just don't get it. will just stick with your code. thanks.

hi,
this is error in documentation. actually you need put existing object pointer to second argument and, if argument is not null, it will be filled by output data.
thanks for your report, documentation for this method will be corrected soon.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)