← Back to team overview

yade-users team mailing list archive

wm3 convergence (important)



in order to maintain maintainability of yade and to be able to use other 
geometry classes from wm3 (tetrahedra, at this moment), I am working on 
porting yade over to the official version of the wm3 geometric library 
(it is the on vectors, matrices and quaternions are from).

Unfortunately, at this moment Yade has its own version of that library, 
that, besides being older than the current release of wm3, was 
bastardized by Olivier to conform to his opinions on method naming.

Steps that to arrive there:

1. DONE. I managed to automatically put properly named methods to the 
headers in yade's tree and marked the badly named ones as deprecated. 
They continue to work, but compiler will emit a warning when they are used.

2. DONE. I am able to replace all occurences of deprecated methods in 
the whole yade codebase automatically and reliably (based on compiler's 

3. (future, simple) Replace yade's headers by the official ones, with 
methods implemented in addition to wm3 (like diagonal multiplication of 
vectors etc) moved to a different headres. This will be transparent to 
the users.

4. (distant future) Remove deprecated methods, legacy code will no 
longer compile. Once wm3 will be properly packaged, it can be also 
removed from the yade tree.

Te reason to announce here is that if you have your own code that is not 
part of SVN, you will get many deprecation warnings (without 
functionality breaks, though). I will provide the script I use for 
yade's codebase that will do it for you.

None of this is yet in SVN but I am planning to do it soon. If you have 
concerns that it may break some things for you, please let me know (soon).




Fololowing methods are concerned (current name and new (original wm3) 
name). Note that some of them are part of multiple classes (like 
Matrix{2,3,4} and so on).

aCos ACos
aSin ASin
aTan ATan
aTan2 ATan2
adjoint Adjoint
bidiagonalize Bidiagonalize
compareArrays CompareArrays
cosinus Cos
cross Cross
determinant Determinant
diagonalTimes DiagonalTimes
dot Dot
dotPerp DotPerp
eExp Exp
eigenDecomposition EigenDecomposition
fAbs FAbs
fMod FMod
fastCos0 FastCos0
fastCos1 FastCos1
fastInvCos0 FastInvCos0
fastInvCos1 FastInvCos1
fastInvSin0 FastInvSin0
fastInvSin1 FastInvSin1
fastInvSqrt FastInvSqrt
fastInvTan0 FastInvTan0
fastInvTan1 FastInvTan1
fastSin0 FastSin0
fastSin1 FastSin1
fastTan0 FastTan0
fastTan1 FastTan1
fromAngle FromAngle
fromAxisAngle FromAxisAngle
fromEulerAnglesXYZ FromEulerAnglesXYZ
fromEulerAnglesXZY FromEulerAnglesXZY
fromEulerAnglesYXZ FromEulerAnglesYXZ
fromEulerAnglesYZX FromEulerAnglesYZX
fromEulerAnglesZXY FromEulerAnglesZXY
fromEulerAnglesZYX FromEulerAnglesZYX
generateOrthonormalBasis GenerateOrthonormalBasis
getBarycentrics GetBarycentrics
getColumn GetColumn
getColumnMajor GetColumnMajor
getRow GetRow
golubKahanStep GolubKahanStep
intervalRandom IntervalRandom
invSqRoot InvSqrt
inverse Inverse
length Length
logarithm Log
makeDiagonal MakeDiagonal
makeIdentity MakeIdentity
makeObliqueProjection MakeObliqueProjection
makePerspectiveProjection MakePerspectiveProjection
makeReflection MakeReflection
makeTensorProduct MakeTensorProduct
makeZero MakeZero
normalize Normalize
orthonormalize Orthonormalize
perp Perp
power Pow
qForm QForm
roundDown Floor
roundUp Ceil
setColumn SetColumn
setRow SetRow
sign Sign
singularValueComposition SingularValueComposition
singularValueDecomposition SingularValueDecomposition
sinus Sin
slerp Slerp
sqRoot Sqrt
sqr Sqr
squaredLength SquaredLength
symmetricRandom SymmetricRandom
tangent Tan
timesDiagonal TimesDiagonal
timesTranspose TimesTranspose
toAngle ToAngle
toAxisAngle ToAxisAngle
toEulerAnglesXYZ ToEulerAnglesXYZ
toEulerAnglesXZY ToEulerAnglesXZY
toEulerAnglesYXZ ToEulerAnglesYXZ
toEulerAnglesYZX ToEulerAnglesYZX
toEulerAnglesZXY ToEulerAnglesZXY
toEulerAnglesZYX ToEulerAnglesZYX
transpose Transpose
transposeTimes TransposeTimes
tridiagonalize Tridiagonalize
unitCross UnitCross
unitPerp UnitPerp
unitRandom UnitRandom
w W
x X
y Y
z Z
Yade-users mailing list

Follow ups