Mercurial > hg > orthanc-stone
view Resources/Computations/ComputeShearParameters.py @ 508:7105a0bad250 bgo-commands-codegen
- Added HandleSerializedMessage to IStoneApplication (empty impl)
- Split UpdateWebApplication with "WithString" and "WithSerializedMessage" variants
- Due to the modules in TS, globals are now unallowed and the callbacks from C++ to JS are stored in the "window" instance
- Split UpdateStoneApplicationStatusFromCpp with "WithString" and "WithSerializedMessage" variants
- Split NotifyStatusUpdateFromCppToWeb with "WithString" and "WithSerializedMessage" variants
- SendMessageToStoneApplication (C++ global) has been split into SendSerializedMessageToStoneApplication and SendCommandToStoneApplication
- In WasmPlatformApplicationAdapter: HandleMessageFromWeb becomes HandleCommandFromWeb
- In WasmPlatformApplicationAdapter: added HandleSerializedMessageFromWeb
- stonegentool now handles the "json" primitive type (used, a.o., in the VSOL "EditInstance" message)
- Fixed indentation and added json serialization overloads in the stonegentool templates
- Added test of the json primitive type to testWasmIntegrated (in Resources/CodeGeneration)
- Adapted testWasmIntegrated (in Resources/CodeGeneration) to the changes above
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 06 Mar 2019 10:14:59 +0100 |
parents | 46cb2eedc2e0 |
children |
line wrap: on
line source
#!/usr/bin/python from sympy import * import pprint init_printing(use_unicode=True) s13, s23, s43 = symbols('s13 s23 s43') x, y, z, w = symbols('x y z w') A = Matrix([[ 1, 0, s13, 0 ], [ 0, 1, s23, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, s43, 1 ]]) print('\nLacroute\'s shear matrix (A.14) is:') pprint.pprint(A) # At this point, we can write "print(A*p)". However, we don't care # about the output "z" axis, as it is fixed. So we delete the 3rd row # of A. A.row_del(2) p = Matrix([ x, y, z, 1 ]) v = A*p print('\nAction of Lacroute\'s shear matrix on plane z (taking w=1):\n%s\n' % v) print('Scaling = %s' % (1/v[2])) print('Offset X = %s' % (v[0]/v[2]).subs(x, 0)) print('Offset Y = %s' % (v[1]/v[2]).subs(y, 0))