Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/11/2002 at 10:11, xxxxxxxx wrote:
User Information: Cinema 4D Version: 8.012 Platform: Windows ; Language(s) : C++ ;
--------- Hi, When using the GeRayCollider Library and I determine a Ray->Edge Detection I am using the current Mouse Position that I got from the &msg BaseContainer in the Mouse Input Method and Convert the Screen Coords into World Coords. But it seems I am doing something wrong, because when I rotate the editor view the point I have set is actually not on my edge but anywhere in the space. Col = bd->SW(Vector(mx,my,0)); is what I am using to convert the point to world space. Any idea why it is wrong? thanks
On 12/11/2002 at 10:14, xxxxxxxx wrote:
I guess I got it. Now I´m using the distance instead of 0 for Col.z. but if somebody has a better idea? I´m open.
On 12/11/2002 at 10:44, xxxxxxxx wrote:
Hmm, it is still not exact enough Does anybody know how to get the exact ScreenToWorld conversion? Thanks in advance
On 12/11/2002 at 11:40, xxxxxxxx wrote:
Could you define what you mean by "ScreenToWorld conversion" and describe how BaseView::SW() fails to be exact by this definition?
On 12/11/2002 at 12:30, xxxxxxxx wrote:
The problem is that when I am near an edge with the mouse pointer in screen space, then the barycentric coords get close to 0.0. Ok so I am checking if they are smaller than 0.02. If so I store the position of the mouse pointer in i.e. Col = bd->SW(Vector(mx,my,res.distance)); Looking into the editor view I can see that the XORLine is drawn (the way I want it) on the edge. But when I rotate the view I can actually see that the XORLine (or rather the World Coordinates that I got from the conversion) is not drawn on the edge but under the edge or beside it or or or. And it´s not close enough to the edge! That is the problem. If the barrycoords are so close and I am right over the edge with the mouse, why is the world position after conversion not on the edge or at least pretty close to it? With these Coords of Col I can´t do nothing. They are not exact enough. D That is my problem. Any ideas? Thanks Samir
On 12/11/2002 at 14:01, xxxxxxxx wrote:
Quote: Originally posted by 3D Designer on 12 November 2002 > > * * * > > Col = bd->SW(Vector(mx,my,res.distance)); Use the real position instead: "obj->GetMg() * res.hitpos".
On 13/11/2002 at 00:24, xxxxxxxx wrote:
Oh my god, why didn´t that come to MY mind? You´re the man! Thanks very much Mikael. You saved my a.... further developement. Best Samir