A place to discuss everything related to Newton Dynamics.
Moderators: Sascha Willems, walaber
by Julio Jerez » Mon Apr 13, 2015 11:40 am
with the Old Torstoi, it was very eassy to compare revisions.
you just click SyncToRevision and select for the list showed in Show Log
with the GitHub of TorstoiGit this is impossible or at least I can no figure out how.
I spend the howl; weekend try to figure out how to sync to and older version, but every thong I try implied that it will crate new Change List that need to be committed, this is quiet terrible.
In the past few week I intruded a bad Bug that is generation Bad contact and bad solver result etc. I suspect it is a Bug in the math library it should be quiets easy to just Get and older version and run the test to see if thw bug is there, and so on until I find the last version that did no have the Bug, and fix it.
But with the New GibHub is almost impossible.
Does anyone knwop how to sgnc to an older vesaion with out changing the repository?
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Crashy » Mon Apr 13, 2015 4:28 pm
Maybe doing a secondary clone and sync it to the desired version, and then compare them manually using Winmerge or such a tool ?
That's not that comfortable but do it like that regularly.
-
Crashy
-
- Posts: 101
- Joined: Fri Dec 03, 2010 6:30 am
by Julio Jerez » Tue Apr 14, 2015 10:49 am
wow!!, I found a Bug that is in the engine for ten years now, it is in this functions
- Code: Select all
dgInt32 dgCollisionConvexPolygon::CalculatePlaneIntersection (const dgVector& normalIn, const dgVector& origin, dgVector* const contactsOut, dgFloat32 normalSign) const
basically this is supposed to calculate the intersection segment of a convex polygon with a plane
the problem Is that at the intersection point I was calculating the point like this
- Code: Select all
maxDist = dgMax (maxDist, side0);
contactsOut[count] = p0 - plane.Scale3 (side0);
count ++;
when it should be like this
- Code: Select all
dgFloat32 t = plane % dp;
dgAssert (dgAbsf (t) >= dgFloat32 (0.0f));
if (dgAbsf (t) < dgFloat32 (1.0e-8f)) {
t = dgSign(t) * dgFloat32 (1.0e-8f);
}
contactsOut[count] = p0 - dp.Scale3 (side0 / t);
I always though that some time a plane collision was estrange and attributed to numerical errors.
in reality that was a bug.
The reason it was no always obvious is because t is almost away 1.0, but on the occasions that is not it genera a contact slightly off from where was supposed to be.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by zak » Mon Apr 27, 2015 1:01 pm
Julio Jerez wrote:In the past few week I intruded a bad Bug that is generation Bad contact and bad solver result etc. I suspect it is a Bug in the math library
I have seen you are very active in the last days.
Is the bad Bug fixed now?
I am on 3.11, can i safely sync on latest version?
-
zak
-
- Posts: 87
- Joined: Mon Dec 06, 2004 9:30 am
by Julio Jerez » Tue Apr 28, 2015 8:34 am
you can synbc to the later yes. I foud teh bug a few days ago.
The work I am doing now is consolidating the parellel and simgle sover so that teh both use teh same low level functions.
There is is till a problem, but it si insulated, and does not affect the engine.
When I complet that It likd ethat both parallefl and single solve yiedding the same solution, that is no happeing now and it is bothering me for a long time.
but yes you cna sync to laters.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
Return to General Discussion
Who is online
Users browsing this forum: No registered users and 0 guests