高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】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.
|