US 11,900,088 B2
Method for generating a binding between a C/C++ library and an interpreted language, and carrying out the method to transform a three- dimensional (3D) model
Emmanuel Julien, Orléans (FR); and François Gutherz, Orléans (FR)
Assigned to Movida Production, Orléans (FR)
Appl. No. 17/282,563
Filed by Movida Production, Orléans (FR)
PCT Filed Oct. 4, 2019, PCT No. PCT/FR2019/052362
§ 371(c)(1), (2) Date Apr. 2, 2021,
PCT Pub. No. WO2020/070458, PCT Pub. Date Apr. 9, 2020.
Claims priority of application No. 1859224 (FR), filed on Oct. 4, 2018.
Prior Publication US 2021/0342135 A1, Nov. 4, 2021
Int. Cl. G06F 8/54 (2018.01); G06F 9/448 (2018.01); G06F 8/41 (2018.01)
CPC G06F 8/54 (2013.01) [G06F 8/41 (2013.01); G06F 9/449 (2018.02)] 13 Claims
OG exemplary drawing
 
1. A computer-implemented method for generating a binding between a software environment of one or more high-level interpreted languages and a C/C++ library to exhibit functionalities of the C/C++ library to the one or more high-level interpreted languages, the method comprising:
processing a definition of the binding, the definition having been previously written in a high-level language, the definition comprising functions to produce binding elements;
generating the binding elements exposed to the one or more high-level interpreted languages to produce a set of functions in C++ that are exposed to the one or more high-level interpreted languages, wherein generating the binding elements is further configured to allow the C/C++ library to call a written function in the one or more high-level interpreted languages to expand the functionalities of the C/C++ library;
compiling a C++ code and linking the C++ code to the C/C++ library;
obtaining a dynamic library integrating the C/C++ library and an interface layer compiled from the C++ code;
transforming a three-dimensional (3D) engine originating from the C/C++ library to be embedded in an item of equipment in which a software application is written in the high-level language;
importing the dynamic library;
accessing, via the dynamic library, the functionalities of the C/C++ library; and
transforming 3D models originating from the C/C++ library into 3D models capable of being embedded in equipment provided with a Human Machine Interface (HMI) within mobility systems, the HMI being designed and processed using a 3D development tool, wherein the 3D models transforming includes exploiting, via an interpreter, the functionalities of the C/C++ library so that:
the C/C++ library exhibits, via an application programming interface (API), 3D, video and audio functionalities,
a 3D graphic driver exhibits, via an API, capacities of a 3D graphics processing unit (GPU) and transforms given instructions into GPU primitives, and
wherein the 3D GPU processes the GPU primitives and transforms them into video signals to be displayed on a screen within the equipment;
wherein processing the definition comprises a distribution of processing between:
high-level functionalities of each of the one or more high-level interpreted languages; and
C++ functionalities of a C++ language that are supported in a transparent manner by the binding and will be made accessible in the high-level language.