← Back to team overview

yade-dev team mailing list archive

Re: [Yade-users] wm3 convergence (important)

 

Hello Vaclav

I don't know if it can help but I send the pro file i had to modify for yade-lib-base.
No 1second to explin now!

Hurry!!






Vaclav SMILAUER a écrit :

Hello,

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 warnings).

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).

Regards,

Vaclav

---

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
Yade-users@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-users





--
_______________
Chareyre Bruno
Maître de conférence

Institut National Polytechnique de Grenoble
Laboratoire 3S (Soils Solids Structures) - bureau I08
BP 53 - 38041, Grenoble cedex 9 - France Tél : 04.56.52.86.21
________________

isEmpty ( YADE_QMAKE_PATH ) {
error( "YADE_QMAKE_PATH internal qmake variable is not set, you should run for example qmake YADE_QMAKE_PATH=/usr/local, this will not work from inside kdevelop (when they will fix it?)" )
}

INCLUDEPATH += $${YADE_QMAKE_PATH}/include/
win32 {
TARGET = ../../../bin/yade-lib-base
CONFIG += console
}
!win32 {
TARGET = ../../bin/yade-lib-base
}

CONFIG += debug \
          thread \
          warn_on \
          dll 
TEMPLATE = lib
HEADERS += yadeWm3.hpp \
           yadeWm3Extra.hpp \
			  Logging.hpp
SOURCES += yadeWm3Extra.cpp
QMAKE_LIBDIR += $${YADE_QMAKE_PATH}/lib/
LIBS += -lWm3Foundation -rdynamic
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $(shell pwd)/$<
_______________________________________________
yade-dev mailing list
yade-dev@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-dev