Skip to content

Commit

Permalink
Enhancement for simgait (#5851)
Browse files Browse the repository at this point in the history
* init

* path

* remove a circular dependency

* fix dependency loop and first working exemple

* quick cleanup

* cleanup

* cleanup

* progress mesh

* meshes and loading

* cleanup

* mfint32

* idfs and sfnode

* mffloat

* cleanup

* fix elevation grid bug

* elevation grid in body

* improvements

* better initial scene

* support PointSet in body

* pbr and cleanup

* parse pbr but broke ifs/ils

* fix MFVec3 parsing in parameter

* fix imageTexture parsing for appearance

* authorize robot node

* slot.js

* add fieldmodels for for sliderjoints and jointparameters

* fix appearance in header

* print externproto

* default open

* webots://

* style

* protos example

* move template js

* fix buggy private variables

* private variable

* fix missing import (#5322)

* Merge develop in feature-web-proto (#5321)

* Fix TCP extern controller connection when world is loading (#5310)

* Start listening after world is loaded

* Update changelog-r2022.md

* add missing space

* Added connection closing when loading a world

* Added missing or misplaced altimeter references in the reference manual (#5315)

* Fix lidar reset when extern controller changed (#5305)

* Fix reset of memory mapped file when extern controller changed

* Add changelog entry

* Remove failing assertion

* Fix camera orientation in spherical documentation (#5286)

* Fix camera plane in documentation

* Try to improve explanation of spherical projection

* unscale image

* Fix planes

* Remove image and improve text

* Update docs/reference/camera.md

Co-authored-by: Olivier Michel <[email protected]>

* Add note about cylindrical projection called spherical

* Simplify description of t value

Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>

* Add CadShape fieldModel (#5323)

* Feature web tesselator (#5320)

* inital

* private variables

* fix bug

* use nonRecursiveTextureCoordinate

* cleanup

* missing argument

* cleanup

* fix test source

* missing .

* default crease angle

* add creaseAngle and normalPerVertex to supported

* Update resources/web/wwi/wren/WbTesselator.js

Co-authored-by: ad-daniel <[email protected]>

Co-authored-by: ad-daniel <[email protected]>

* Enhancement add new web nodes (#5328)

* joint, hingejoint, jointparamaters, hingejointsparameters,logicaldevice

* rotational motor

* linear motor, sliderjoint

* hinge2 with no device distinction

* balljoint

* accelerometer

* fieldtype solid device

* create classes

* connect solid device in parser

* fieldmodel track and propeller

* track

* propeller

* clean project

* reorder

* Update resources/web/wwi/Parser.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/Parser.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/Parser.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/Parser.js

Co-authored-by: ad-daniel <[email protected]>

* e

* switch

Co-authored-by: ad-daniel <[email protected]>

* Fix ccw indexed faceset web (#5354)

* Improve PROTO web loader (#5314)

* Add examples

* Add texture examples

* Cleanup

* Add HingeJoint class

* Minor

* Progress

* Progress

* Support local files

* Convert vrml to JS-friendly obj

* Finish parameter conversion

* Progress refactoring PROTO parameters

* Progress adaptions x3d writer

* Fix deepEqual and restore constr

* Fix async logic order when decoding externproto

* Functional externproto proof of concept, broken nested

* rework

* Rework node structure, functional

* Fix nested proto

* Fix parameters

* Improve VRML types

* Add reference PROTO in tokenizer and handle vrml IS

* Handle DEF

* Fix circular dependency

* Rework x3d exporter and handle MFNode/SFNode

* Add cloner methods and make instances unique

* Cleanup

* Add ids and progress on USE

* Finish use

* Handle derived PROTO

* Derived example

* Consume unsupported tokens and add missing field models

* Move DEF-handler to createNode

* Add JS field exporters and restore template generation

* Cleanup

* Fix Panda

* Fix MF encoding and consumption of unsupported tokens

* handle x3d exceptions for ImageTexture and fix Atlas

* Improve header finder regex and fix BB8

* Rework MFNode and fix USE

* Handle NULL

* Cleanup

* Cleanup

* Remove unnecessary stuff

* Cleanup

* Tests

* Progress

* Rework vrml classes

* Use setter/getters

* Add script to generate FieldModel from wrl

* Fix incorrect USE and flag bounding objects

* Fix TemplateEngine

* Fix boundingObject showing solid instead of wireframe

* Add roles for devices and joint parameters

* merge basenode protonode

* Remove BaseNode (functional)

* Rename class

* Remove node factory

* ESLint && Progress parameter

* Fix initialization of MF from FieldModel and cloning issues for several VRML types

* Handle NULL nodes, add parameter comparators for all VRML types, use parameters instead of VRML types

* Fix url manufactoring and JetBot proto not loading

* Remove imports from template prior to generate VRML, fix JS encoding of string and E-puck now works

* Proof of concept regeneration injection

* More tests with regeneration

* More proto tests

* progress

* wait to add xml

* Regenerate proto example

* Add demo field change

* Cleanup

* More cleanup

* Remove unnecessary async

* More cleanup

* Fix sources

* Minor

* Minor

* Add fake context to template engine

* Update Panda.proto

* Update resources/web/wwi/Parser.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/protoVisualizer/Node.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Review fixes

* Minor

* Fix tokenizer consume function

Co-authored-by: Benjamin Deleze <[email protected]>

* WebotsJS:  add support for updates (#5333)

* joint, hingejoint, jointparamaters, hingejointsparameters,logicaldevice

* rotational motor

* linear motor, sliderjoint

* hinge2 with no device distinction

* balljoint

* accelerometer

* fieldtype solid device

* create classes

* connect solid device in parser

* fieldmodel track and propeller

* track

* propeller

* clean project

* updateSize

* box and plane

* capsule radius (buggy)

* sphere radius

* update sphere

* callback function

* restore pickable state

* updates for capsule

* fix merge

* cone

* cylinder

* elevation grid

* cleanup

* begin mesh

* beginning of pointset

* mesh

* point set color

* broken point set

* fix point set updates

* indexedlineset

* progress on ifs

* fix update bug

* default export

* end of indedexfaceset

* refactor light update

* fix clone

* light

* spot light

* directional light

* pointlight

* style

* pbr appearance

* style

* url

* appearances private

* appearance

* status

* material

* fix animation loading

* remove await/async

* async

* cleanup

* texturetransform

* cadshape

* fix mtl

* transform

* fog

* missing ?

* fix mesh

* ?

* fix ifs

* apply suggestions

* Update resources/web/wwi/nodes/WbCapsule.js

Co-authored-by: ad-daniel <[email protected]>

* cleanup

* Update resources/web/wwi/nodes/WbFog.js

Co-authored-by: ad-daniel <[email protected]>

* style

* Update src/webots/nodes/WbTextureCoordinate.cpp

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbImageTexture.js

Co-authored-by: ad-daniel <[email protected]>

* remove intermediary value

* typo

* sanitize

* cleanup

* fix variable

Co-authored-by: ad-daniel <[email protected]>

* Extend proto visualizer (#5370)

* Add examples

* Add texture examples

* Cleanup

* Add HingeJoint class

* Minor

* Progress

* Progress

* Support local files

* Convert vrml to JS-friendly obj

* Finish parameter conversion

* Progress refactoring PROTO parameters

* Progress adaptions x3d writer

* Fix deepEqual and restore constr

* Fix async logic order when decoding externproto

* Functional externproto proof of concept, broken nested

* rework

* Rework node structure, functional

* Fix nested proto

* Fix parameters

* Improve VRML types

* Add reference PROTO in tokenizer and handle vrml IS

* Handle DEF

* Fix circular dependency

* Rework x3d exporter and handle MFNode/SFNode

* Add cloner methods and make instances unique

* Cleanup

* Add ids and progress on USE

* Finish use

* Handle derived PROTO

* Derived example

* Consume unsupported tokens and add missing field models

* Move DEF-handler to createNode

* Add JS field exporters and restore template generation

* Cleanup

* Fix Panda

* Fix MF encoding and consumption of unsupported tokens

* handle x3d exceptions for ImageTexture and fix Atlas

* Improve header finder regex and fix BB8

* Rework MFNode and fix USE

* Handle NULL

* Cleanup

* Cleanup

* Remove unnecessary stuff

* Cleanup

* Tests

* Progress

* Rework vrml classes

* Use setter/getters

* Add script to generate FieldModel from wrl

* Fix incorrect USE and flag bounding objects

* Fix TemplateEngine

* Fix boundingObject showing solid instead of wireframe

* Add roles for devices and joint parameters

* merge basenode protonode

* Remove BaseNode (functional)

* Rename class

* Remove node factory

* ESLint && Progress parameter

* Fix initialization of MF from FieldModel and cloning issues for several VRML types

* Handle NULL nodes, add parameter comparators for all VRML types, use parameters instead of VRML types

* Fix url manufactoring and JetBot proto not loading

* Remove imports from template prior to generate VRML, fix JS encoding of string and E-puck now works

* Proof of concept regeneration injection

* More tests with regeneration

* More proto tests

* progress

* wait to add xml

* Regenerate proto example

* Add demo field change

* Cleanup

* More cleanup

* Remove unnecessary async

* More cleanup

* Fix sources

* Minor

* Minor

* Add fake context to template engine

* Update Panda.proto

* Update resources/web/wwi/Parser.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/protoVisualizer/Node.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Review fixes

* Minor

* Fix tokenizer consume function

* init

* Add PROTO exporter

* Improve

* Fix merge

* Change urls

* Add webotsJS writers

* Fix parenthood

* Support more changes

* Progress indirect regen

* Handle indirect regeneration

* Restore lost stuff

* Cleanup

* Cleanup

Co-authored-by: Benjamin Deleze <[email protected]>

* Add support for 5+ vertices polygon (#5375)

* add draft function in C++

* support 5+ vertices polygon

* style

* Fix deletion bug (#5382)

* Implement first use case of webots.cloud/proto (#5376)

* Add examples

* Add texture examples

* Cleanup

* Add HingeJoint class

* Minor

* Progress

* Progress

* Support local files

* Convert vrml to JS-friendly obj

* Finish parameter conversion

* Progress refactoring PROTO parameters

* Progress adaptions x3d writer

* Fix deepEqual and restore constr

* Fix async logic order when decoding externproto

* Functional externproto proof of concept, broken nested

* rework

* Rework node structure, functional

* Fix nested proto

* Fix parameters

* Improve VRML types

* Add reference PROTO in tokenizer and handle vrml IS

* Handle DEF

* Fix circular dependency

* Rework x3d exporter and handle MFNode/SFNode

* Add cloner methods and make instances unique

* Cleanup

* Add ids and progress on USE

* Finish use

* Handle derived PROTO

* Derived example

* Consume unsupported tokens and add missing field models

* Move DEF-handler to createNode

* Add JS field exporters and restore template generation

* Cleanup

* Fix Panda

* Fix MF encoding and consumption of unsupported tokens

* handle x3d exceptions for ImageTexture and fix Atlas

* Improve header finder regex and fix BB8

* Rework MFNode and fix USE

* Handle NULL

* Cleanup

* Cleanup

* Remove unnecessary stuff

* Cleanup

* Tests

* Progress

* Rework vrml classes

* Use setter/getters

* Add script to generate FieldModel from wrl

* Fix incorrect USE and flag bounding objects

* Fix TemplateEngine

* Fix boundingObject showing solid instead of wireframe

* Add roles for devices and joint parameters

* merge basenode protonode

* Remove BaseNode (functional)

* Rename class

* Remove node factory

* ESLint && Progress parameter

* Fix initialization of MF from FieldModel and cloning issues for several VRML types

* Handle NULL nodes, add parameter comparators for all VRML types, use parameters instead of VRML types

* Fix url manufactoring and JetBot proto not loading

* Remove imports from template prior to generate VRML, fix JS encoding of string and E-puck now works

* Proof of concept regeneration injection

* More tests with regeneration

* More proto tests

* progress

* wait to add xml

* Regenerate proto example

* Add demo field change

* Cleanup

* More cleanup

* Remove unnecessary async

* More cleanup

* Fix sources

* Minor

* Minor

* Add fake context to template engine

* Update Panda.proto

* Update resources/web/wwi/Parser.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/protoVisualizer/Node.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Review fixes

* Minor

* Fix tokenizer consume function

* first basic example

* step

* min max

* regeneration

* cleanup

* translation

* rotation

* parameters

* position and size

* reset button

* download button

* icon

* resize

* fix

* block event if in input

* remove tooltip

* choose fields to export

* export new value in body

* cleanup

* cleanup

* Update resources/web/wwi/FloatingProtoParameterWindow.js

Co-authored-by: Olivier Michel <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Olivier Michel <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Olivier Michel <[email protected]>

* Update resources/web/wwi/FloatingProtoParameterWindow.js

Co-authored-by: Olivier Michel <[email protected]>

* Update resources/web/wwi/FloatingProtoParameterWindow.js

Co-authored-by: Olivier Michel <[email protected]>

* clean up

Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>

* Merge develop in feature-web-proto (#5400)

* Fix conversion of PROTO with special controller (#5327)

With external, none, and generic, don't change to generic.

Co-authored-by: Yann LEROY <[email protected]>

* Remove references to lidar device (#5334)

* Fix black buttons in RangeFinder overlay (#5337)

* Fix black overlay buttons

* Add entry in ChangeLog

* Improve visibility of overlay close button (#5340)

* Change shade of yellow used for overlay and increase size of close icon

* Reduce size of new textures

* Fix alignment

* Restore the description of base node (#5346)

* Restore the description of base node

* changelog

* #

* test to see actions

* relauch actions

* Fix deprecated field in PR2 camera (#5348)

* Fix ChangeLog indent (#5353)

* Fix two spaces indent

* Remove wrong character

* Fix PROTO declaration error when copy and pasting inserted nodes (#5341)

* Generalize the WbExternProto fromRootNodeConversion flag to any user actions

* Add entry in ChangeLog

* Apply changes from master

* Do not mix importable and user added declarations

* Revert previous changes and exten mExternProtoCutBuffer to any PROTO copy

* Remove FromRootConvertion flag and replaced it with the clipboard buffer

* Cleanup

* Fix declaration error in case of conflicts during conversion

* Fix declaration error in case of conflicts during conversion

* Update comment

* Doc: Fix example PROTO (#5355)

Change the {} to [] in header.
Add PROTO keyword.
Add field keywords.

Co-authored-by: Yann LEROY <[email protected]>

* Improve warnings and suggested path in save and wizard dialogs (#5350)

* Generalize the WbExternProto fromRootNodeConversion flag to any user actions

* Add entry in ChangeLog

* Apply changes from master

* Try to avoid proposing invalid path

* Revert unrelated changes

* Do not mix importable and user added declarations

* Ensure given world name doesn't contain directories

* Display warning if world not saved in worlds folder

* Improve warning message

* Cleanup unrelated changes

* Update changelog

* Remove unrelated changes

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Olivier Michel <[email protected]>

* Update src/webots/gui/WbNewProjectWizard.cpp

Co-authored-by: Olivier Michel <[email protected]>

* Add cancel button to save warning message

* Use custom message box to change the button name

Co-authored-by: Olivier Michel <[email protected]>

* Fix duplicated CadShape mesh load and improve warnings (#5359)

* Fix duplicated mesh loaded and warnings

* Add const attributes and fix path format before using it

* Add entry in ChangeLog

* Fix PR number in changelog

* Update docs/reference/changelog-r2022.md

Co-authored-by: Benjamin Délèze <[email protected]>

Co-authored-by: Benjamin Délèze <[email protected]>

* Remove decimal points from progress value (#5368)

* Replace deprecated QPair (#5366)

* Replace deprecated QPair

* Replace QPair

* Improve Python scripts (#4936)

* Improve path management in Python tests

* Improve docs Python scripts

* Improve scripts

* Update icon_creator.py

* Improve tests

* Improve robotbenchamrk python controllers

* Improve sumo and projects python scripts

* Replace deprecated module

* Add debug info

* Fix long line

* Remove unused import

* Ensure WEBOTS_HOME path is using system separator

* Revert local change

* Use system separator

* Revert change in commet

* Fix indent

* Simplify

* Fix typo

* Avoid using global variables in test_suite.py

* Remove global variables in mgenerate.py

* Remove globals in generate_projects_files.py and convert_geometries.py

* Remove global variable from scara controller

* Improve code

* Improve code

* Remove conflicting method and field

Co-authored-by: Olivier Michel <[email protected]>

* Reopen robot window when extern controller reconnects (#5367)

* Reopen robot window when extern controller reconnects

* Update ChangeLog

* Fix double robot window close on reset

* Update motion.md (#5374)

* Previous controller is extern not new (#5380)

* Fix previous PR (#5381)

* Fix the external controller connection (#5329)

* Fix the external controller connection

Was causing an loop eating 100% CPU.

* Add new disconnected extern list

* update method name

Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: ShuffleWire <[email protected]>
Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>

* Fix js template files in files_core.txt (#5429)

* Merge `develop` into `feature-web-proto` (#5434)

* Fix conversion of PROTO with special controller (#5327)

With external, none, and generic, don't change to generic.

Co-authored-by: Yann LEROY <[email protected]>

* Remove references to lidar device (#5334)

* Fix black buttons in RangeFinder overlay (#5337)

* Fix black overlay buttons

* Add entry in ChangeLog

* Improve visibility of overlay close button (#5340)

* Change shade of yellow used for overlay and increase size of close icon

* Reduce size of new textures

* Fix alignment

* Restore the description of base node (#5346)

* Restore the description of base node

* changelog

* #

* test to see actions

* relauch actions

* Fix deprecated field in PR2 camera (#5348)

* Fix ChangeLog indent (#5353)

* Fix two spaces indent

* Remove wrong character

* Fix PROTO declaration error when copy and pasting inserted nodes (#5341)

* Generalize the WbExternProto fromRootNodeConversion flag to any user actions

* Add entry in ChangeLog

* Apply changes from master

* Do not mix importable and user added declarations

* Revert previous changes and exten mExternProtoCutBuffer to any PROTO copy

* Remove FromRootConvertion flag and replaced it with the clipboard buffer

* Cleanup

* Fix declaration error in case of conflicts during conversion

* Fix declaration error in case of conflicts during conversion

* Update comment

* Doc: Fix example PROTO (#5355)

Change the {} to [] in header.
Add PROTO keyword.
Add field keywords.

Co-authored-by: Yann LEROY <[email protected]>

* Improve warnings and suggested path in save and wizard dialogs (#5350)

* Generalize the WbExternProto fromRootNodeConversion flag to any user actions

* Add entry in ChangeLog

* Apply changes from master

* Try to avoid proposing invalid path

* Revert unrelated changes

* Do not mix importable and user added declarations

* Ensure given world name doesn't contain directories

* Display warning if world not saved in worlds folder

* Improve warning message

* Cleanup unrelated changes

* Update changelog

* Remove unrelated changes

* Update src/webots/gui/WbMainWindow.cpp

Co-authored-by: Olivier Michel <[email protected]>

* Update src/webots/gui/WbNewProjectWizard.cpp

Co-authored-by: Olivier Michel <[email protected]>

* Add cancel button to save warning message

* Use custom message box to change the button name

Co-authored-by: Olivier Michel <[email protected]>

* Fix duplicated CadShape mesh load and improve warnings (#5359)

* Fix duplicated mesh loaded and warnings

* Add const attributes and fix path format before using it

* Add entry in ChangeLog

* Fix PR number in changelog

* Update docs/reference/changelog-r2022.md

Co-authored-by: Benjamin Délèze <[email protected]>

Co-authored-by: Benjamin Délèze <[email protected]>

* Remove decimal points from progress value (#5368)

* Replace deprecated QPair (#5366)

* Replace deprecated QPair

* Replace QPair

* Improve Python scripts (#4936)

* Improve path management in Python tests

* Improve docs Python scripts

* Improve scripts

* Update icon_creator.py

* Improve tests

* Improve robotbenchamrk python controllers

* Improve sumo and projects python scripts

* Replace deprecated module

* Add debug info

* Fix long line

* Remove unused import

* Ensure WEBOTS_HOME path is using system separator

* Revert local change

* Use system separator

* Revert change in commet

* Fix indent

* Simplify

* Fix typo

* Avoid using global variables in test_suite.py

* Remove global variables in mgenerate.py

* Remove globals in generate_projects_files.py and convert_geometries.py

* Remove global variable from scara controller

* Improve code

* Improve code

* Remove conflicting method and field

Co-authored-by: Olivier Michel <[email protected]>

* Reopen robot window when extern controller reconnects (#5367)

* Reopen robot window when extern controller reconnects

* Update ChangeLog

* Fix double robot window close on reset

* Update motion.md (#5374)

* Previous controller is extern not new (#5380)

* Fix previous PR (#5381)

* Fix the external controller connection (#5329)

* Fix the external controller connection

Was causing an loop eating 100% CPU.

* Add new disconnected extern list

* update method name

Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>

* Check if robot object still exists (#5397)

* Resolve circular dependencies (#5378)

* Resolve circular dependency

* Revert unwanted changes

* Fix clangformat mismatch

* Fix cppcheck error

* Improve WbVrmlNodeUtilities description

* Remove unrelated change

* Remove debug instruction

* Fix downloader code

* Remove unused mCopy variable

* cleanup

* cleanup include statements

* Fix isTemplate flag not passed from base PROTO (#5413)

* Readd instruction to set isTemplate flag from base PROTO node

* Update ChangeLog

* Removed obsolete dependency (#5415)

* Non-Swig Python API (#5297)

* simplified

* Support more field operations

* swiched API to PEP8 snake case

* ENU fix

* Update ansi_codes.c

* Update __init__.py

* Update ansi_codes.py

* Update WB_CONSTANTS.py

* Update camera.py

* Update constants.py

* Update distance_sensor.py

* Update emitter.py

* Update field.py

* Update keyboard.py

* Update motor.py

* Update node.py

* Update receiver.py

* Update wb.py

* Update mybot_simple.py

* Update robot.py

* Update sensor.py

* Update supervisor.py

* Fixed line endings

* Fixed line endings

* useless

* progress with old API implementation

* Working mybot_simple with legacy API

* slave.py working with legacy API

* progress with driver.py legacy support

* Fixed imports

* Fully working python example with legacy API

* cleanup

* clean-up

* clean-up

* Update mybot.wbt

* Update .mybot.wbproj

* Disabled old PYTHONPATH

* Removed python swig build system

* updated distribution and synchronization scripts

* Led support

* Support for accelerometer

* Altimeter

* Brake

* Brake

* Camera (unfinished)

* Working camera example

* Support for non-ascii user folders

* Working camera_auto_focus

* PEP8

* camera_recognition working

* compass

* connector

* display

* Display sample code

* working display

* clean-up

* camera segmentation

* Fixed lookup_table

* distance sensor

* emitter

* gps

* Better receiver

* GPS & Receiver

* Added deprecation message for Receiver.getData

* gps

* Better emitter

* GPS examples

* Support for tuples in emitter

* gyro

* InertialUnit

* improved description

* fixed restypes

* Better parameter naming

* Progress with Lidar

* Update connector.py

* Update connector.py

* Update display.py

* Update distance_sensor.py

* Lidar (preliminary)

* Fixed Camera.getImageArray

* completed lidar

* light sensor

* Fixed line ending for lidar_point.py

* Fixed PEP8

* Added battery support

* motor

* Removed python vehicle libraries

* Removed Darwin-OP python manager library

* motor

* pen

* position sensor

* Propeller example

* radar

* RangeFinder

* receiver

* skin

* speaker

* bumper

* force/force3d demos

* Added mouse, keyboard and joystick

* Fixed mouse

* robot

* supervisor node and field APIs

* supervisor

* Vehicle libraries skeleton

* fixed line ending

* Removed python library for manager

* Motion API

* Various fixes

* Removed duplicates

* Supervisor example

* Fixed retrival of contact points

* Fixed mouse

* removed debug statement

* Progress with Driver API

* Increased robustness of node/field APIs

* Progress with driver API

* Progress with driver API

* Driver API

* Car API

* replaced marathon Python controller with a C++ controller

* battery device example

* Coupled motors

* display supervisor

* encoders

* hinge_joint_with_backlash

* Removed binary controller: sick_cloud_point

* clang-format

* pep8

* Cross platform shared library loader

* Updated change log

* Cross-platform libcar/libdriver

* Update driver.py

* Added creation of python soft link on macOS installation

* Update projects/samples/devices/controllers/altimeter/altimeter.py

Co-authored-by: Benjamin Délèze <[email protected]>

* Added missing methods

* Fixed missing type annotation

* Fixed missing setExposure method

* Fixed return data type

* Fixed Camera.getImageArray

* Fixed Camera.getRecognitionSegmentationImageArray

* Fixed example to use documented methods instead of getters

* Update projects/samples/devices/controllers/compass/compass.py

Co-authored-by: Benjamin Délèze <[email protected]>

* Update projects/samples/devices/controllers/connector/connector.py

Co-authored-by: Benjamin Délèze <[email protected]>

* Fixed display polygon methods

* Update projects/samples/robotbenchmark/humanoid_marathon/controllers/marathon/marathon.cpp

Co-authored-by: Benjamin Délèze <[email protected]>

* Update projects/samples/robotbenchmark/humanoid_marathon/controllers/marathon/marathon.cpp

Co-authored-by: Benjamin Délèze <[email protected]>

* Fixed missing Makefile target (marathon)

* Update projects/samples/devices/controllers/emitter_receiver/emitter_receiver.py

Co-authored-by: Benjamin Délèze <[email protected]>

* Fixed emitter_receiver example

* Fixed emitter range

* type annotation clean-up

* Added missing return type annotation

* Add missing camera method to fix nao_demo_python

* Remove debug statements in lidar example

* Fixed Lidar.getLayerRangeImage

* Fixed light sensor lookup table retrieval method

* Fixed motor missing return values

* Fixed missing PositionSensor.getType method

* Update lib/controller/python/controller/range_finder.py

Co-authored-by: Benjamin Délèze <[email protected]>

* Receiver.getDataSize()

* Fixed Lidar.getFrequency()

* Fixed lidar example

* Added lidar point cloud example

* Fixed Lidar.getLayerPointCloud

* Fixed setting of PYTHON_HOME path

* Fixed PYTHON_PATH in Windows workflows

* Fixed mouse state

* Fixed Supervisor.getFromProtoDef

* Fix LightSensor.getLookupTable

* Fixed Camera.get*ImageArray() methods

* Added default value for Robot.getUrdf()

* Fixed support for Python versions > 10

* Update WbLanguageTools.cpp

* Fixed compilation on macOS

* Update src/webots/control/WbLanguageTools.cpp

Co-authored-by: Yannick Goumaz <[email protected]>

* Updated extern controller documentation

* Update lib/controller/python/vehicle/driver.py

Co-authored-by: Yannick Goumaz <[email protected]>

* Update lib/controller/python/vehicle/driver.py

Co-authored-by: Yannick Goumaz <[email protected]>

* Update lib/controller/python/vehicle/driver.py

Co-authored-by: Yannick Goumaz <[email protected]>

* Update lib/controller/python/vehicle/driver.py

Co-authored-by: Yannick Goumaz <[email protected]>

Co-authored-by: Benjamin Délèze <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>

* Fixed wrong gitignore for marathon controller (#5432)

Co-authored-by: ShuffleWire <[email protected]>
Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Benjamin Délèze <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>

* Web proto: second usecase: joints (#5404)

* Add examples

* Add texture examples

* Cleanup

* Add HingeJoint class

* Minor

* Progress

* Progress

* Support local files

* Convert vrml to JS-friendly obj

* Finish parameter conversion

* Progress refactoring PROTO parameters

* Progress adaptions x3d writer

* Fix deepEqual and restore constr

* Fix async logic order when decoding externproto

* Functional externproto proof of concept, broken nested

* rework

* Rework node structure, functional

* Fix nested proto

* Fix parameters

* Improve VRML types

* Add reference PROTO in tokenizer and handle vrml IS

* Handle DEF

* Fix circular dependency

* Rework x3d exporter and handle MFNode/SFNode

* Add cloner methods and make instances unique

* Cleanup

* Add ids and progress on USE

* Finish use

* Handle derived PROTO

* Derived example

* Consume unsupported tokens and add missing field models

* Move DEF-handler to createNode

* Add JS field exporters and restore template generation

* Cleanup

* Fix Panda

* Fix MF encoding and consumption of unsupported tokens

* handle x3d exceptions for ImageTexture and fix Atlas

* Improve header finder regex and fix BB8

* Rework MFNode and fix USE

* Handle NULL

* Cleanup

* Cleanup

* Remove unnecessary stuff

* Cleanup

* Tests

* Progress

* Rework vrml classes

* Use setter/getters

* Add script to generate FieldModel from wrl

* Fix incorrect USE and flag bounding objects

* Fix TemplateEngine

* Fix boundingObject showing solid instead of wireframe

* Add roles for devices and joint parameters

* merge basenode protonode

* Remove BaseNode (functional)

* Rename class

* Remove node factory

* ESLint && Progress parameter

* Fix initialization of MF from FieldModel and cloning issues for several VRML types

* Handle NULL nodes, add parameter comparators for all VRML types, use parameters instead of VRML types

* Fix url manufactoring and JetBot proto not loading

* Remove imports from template prior to generate VRML, fix JS encoding of string and E-puck now works

* Proof of concept regeneration injection

* More tests with regeneration

* More proto tests

* progress

* wait to add xml

* Regenerate proto example

* Add demo field change

* Cleanup

* More cleanup

* Remove unnecessary async

* More cleanup

* Fix sources

* Minor

* Minor

* Add fake context to template engine

* Update Panda.proto

* Update resources/web/wwi/Parser.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/ProtoManager.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/protoVisualizer/Node.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Review fixes

* Minor

* Fix tokenizer consume function

* first basic example

* step

* min max

* regeneration

* cleanup

* translation

* rotation

* parameters

* position and size

* reset button

* download button

* icon

* resize

* fix

* block event if in input

* remove tooltip

* choose fields to export

* export new value in body

* cleanup

* cleanup

* tabs + image_loader class

* cicular dependency

* node utility

* restore pointlight

* restore spotlight

* billboard

* first rotation(inverted

* working slider

* css

* css

* fix css

* fix error

* fix bool reset

* int

* circular import

* fix circular dependency

* fix regeneration

* cleanup

* restore group import

* cleanup

* Update resources/web/wwi/FloatingProtoParameterWindow.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/FloatingProtoParameterWindow.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/css/toolbar.css

Co-authored-by: ad-daniel <[email protected]>

* math_utilities

Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: ad-daniel <[email protected]>

* Merge `develop` into `feature-web-proto` (#5526)

* Move FAQ to GitHub Discussions (#5412)

* Move FAQ to GitHub Discussions

* Fixed broken link

* Fixed broken link

* Update axis orientation in wrl (#5420)

* Copy icon when editing cached remote PROTO (#5414)

* Copy icon when editing web PROTO

* Fix cppcheck error

* Fix Windows nightly builds (#5439)

* Improvements on CMake template (#5421)

* Improvements on CMake template

Fixed a linking issue that may appear in some examples (I found it in the the crazyflie) in the CMake template.
The issue was a missing link to libm (set (LIBRARIES m...). It will show the following linking error: undefined reference to symbol 'fmax@@glibc_2.2.5'
Also added the WEBOTS_HOME variable in the CMake, just to avoid the hassle of having to export it in the console every time.

* Update docs/guide/using-your-ide.md

Co-authored-by: Olivier Michel <[email protected]>

* Update docs/guide/using-your-ide.md

Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: Olivier Michel <[email protected]>

* Improved error message from empty animation (#5448)

* Stop pending animation on close (#5447)

* Stop pending animation on close 

If an animation recording is started and Webots is closed before it is stopped, the json animation file is not created. This adds a small check to stop the animation correctly when Webots is closed by the user in the GUI, with ctrl-C in the console or by a supervisor.

* Fixed trailing spaces

* Update WbAnimationRecorder.cpp

Co-authored-by: ad-daniel <[email protected]>

* Improve robot window robustness to concatenated messages (#5442)

* Split concatenated messages before processing them

* Add changelog entry

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

Co-authored-by: Benjamin Délèze <[email protected]>

* Fix header required for PROTO files (#5453)

* require header for PROTO files

* Update changelog-r2023.md

* Documentation update for R2023a (#5450)

* Update thumbnails

* Update world by removing incorrect protos

Co-authored-by: ad-daniel <[email protected]>

* Fix crash double `root to base node` (#5460)

* Inform that rows are about to be deleted

* Select item after conversion

* Update changelog-r2023.md

* Fix suggested project path (#5461)

* Fixed compilation on macOS (#5289)

* Fixed compilation, echo output on macOS

* Fixed echo -e

* Set JAVA_HOME automatically

* remove codesign from Makefile.include

* Update Makefile

* Update Makefile

* Compiles fixes for arm64

* Fixed compilation on arm64

* Update changelog-r2022.md

* Update changelog-r2022.md

* Got rid of aseba

* Removed aseba dependency

* Removed aseba documentation

* removed python brew

* Fixed mac distro on arm64

Co-authored-by: Yannick Goumaz <[email protected]>

* Fixed missing exported function for Visual C++ (#5471)

* Added info regarding the name tag (#5459)

* Added info regarding the name tag

Added info regarding the default name tag in Accelerometer.md

* Code formatting

Co-authored-by: Olivier Michel <[email protected]>

* Code formatting 2

* redaction improvement

Co-authored-by: Olivier Michel <[email protected]>

* added github_tree url to reference .wrl node file

Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: Olivier Michel <[email protected]>

* Fix crash when deleting some node and being connected to webotsJS (#5457)

* fix crash on delete

* Update changelog-r2023.md

* update translations (#5474)

Co-authored-by: Olivier Michel <[email protected]>

* Better error message to help debugging the problem (#5482)

* Fixed tmp path on macOS (#5484)

* Fix tmp path on mac os (#5486)

* Fixed tmp path on macOS

* Fixed tmp dir also for extern controllers on macOS

* Fix external force/torque instructions (#5483)

* Fix instructions

* update translations

* Clarify

* Undo

* Update translations

Co-authored-by: Olivier Michel <[email protected]>

* remove path normalization + replace optparse (#5487)

* remove path normalization + replace optparse

* keep normpath for non-empty directories

* Update doc specifying that we should not free (#5494)

some returned string.

Co-authored-by: Yann LEROY <[email protected]>

* Fixed Python API Node.resetPhysics (#5500)

* Improve extern controller name (#5498)

Co-authored-by: Olivier Michel <[email protected]>

* Fix line feed character (#5495)

Co-authored-by: Olivier Michel <[email protected]>

* Fix motor sound on macOS (#5488)

* Fixed motor sounds on macOS

* Better code

* Update changelog-r2023.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Fix gtao shader in webotsJS (#5504)

* fix gtao

* Update src/wren/PostProcessingEffect.cpp

Co-authored-by: Yannick Goumaz <[email protected]>

Co-authored-by: Yannick Goumaz <[email protected]>

* Add `isInitializationPossible` to Python API (#5508)

* rename func + add to python

* keep old name

Co-authored-by: ad-daniel <[email protected]>

* Removed obsolete Java controller warning for non-ASCII path (#5512)

* Improve the position of the viewpoint in the create.wbt (#5511)

Co-authored-by: ad-daniel <[email protected]>

* Fix dialog popup opening/closing (#5513)

* Debug

* Fix

* Cleanup

* Better solution

* Fix test suite (#5505)

* Fix test suite

* Update test_suite_supervisor.py

* Sanity check, add bug

* Update WbLightSensor.cpp

* Add missing methods in Python API (#5516)

* add missing methods in supervisor and driver

* global api + remove useless methods

* Fix firstRender uniform type (#5517)

* Cleanup after innosetup install (#5520)

Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Benjamin Délèze <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Toshiharu Tabuchi <[email protected]>
Co-authored-by: Jean-Eudes-le-retour <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: ShuffleWire <[email protected]>
Co-authored-by: Yann LEROY <[email protected]>

* Merge develop feature web proto (#5564)

* Move FAQ to GitHub Discussions (#5412)

* Move FAQ to GitHub Discussions

* Fixed broken link

* Fixed broken link

* Update axis orientation in wrl (#5420)

* Copy icon when editing cached remote PROTO (#5414)

* Copy icon when editing web PROTO

* Fix cppcheck error

* Fix Windows nightly builds (#5439)

* Improvements on CMake template (#5421)

* Improvements on CMake template

Fixed a linking issue that may appear in some examples (I found it in the the crazyflie) in the CMake template.
The issue was a missing link to libm (set (LIBRARIES m...). It will show the following linking error: undefined reference to symbol 'fmax@@glibc_2.2.5'
Also added the WEBOTS_HOME variable in the CMake, just to avoid the hassle of having to export it in the console every time.

* Update docs/guide/using-your-ide.md

Co-authored-by: Olivier Michel <[email protected]>

* Update docs/guide/using-your-ide.md

Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: Olivier Michel <[email protected]>

* Improved error message from empty animation (#5448)

* Stop pending animation on close (#5447)

* Stop pending animation on close 

If an animation recording is started and Webots is closed before it is stopped, the json animation file is not created. This adds a small check to stop the animation correctly when Webots is closed by the user in the GUI, with ctrl-C in the console or by a supervisor.

* Fixed trailing spaces

* Update WbAnimationRecorder.cpp

Co-authored-by: ad-daniel <[email protected]>

* Improve robot window robustness to concatenated messages (#5442)

* Split concatenated messages before processing them

* Add changelog entry

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

* Update resources/web/wwi/RobotWindow.js

Co-authored-by: Benjamin Délèze <[email protected]>

Co-authored-by: Benjamin Délèze <[email protected]>

* Fix header required for PROTO files (#5453)

* require header for PROTO files

* Update changelog-r2023.md

* Documentation update for R2023a (#5450)

* Update thumbnails

* Update world by removing incorrect protos

Co-authored-by: ad-daniel <[email protected]>

* Fix crash double `root to base node` (#5460)

* Inform that rows are about to be deleted

* Select item after conversion

* Update changelog-r2023.md

* Fix suggested project path (#5461)

* Fixed compilation on macOS (#5289)

* Fixed compilation, echo output on macOS

* Fixed echo -e

* Set JAVA_HOME automatically

* remove codesign from Makefile.include

* Update Makefile

* Update Makefile

* Compiles fixes for arm64

* Fixed compilation on arm64

* Update changelog-r2022.md

* Update changelog-r2022.md

* Got rid of aseba

* Removed aseba dependency

* Removed aseba documentation

* removed python brew

* Fixed mac distro on arm64

Co-authored-by: Yannick Goumaz <[email protected]>

* Fixed missing exported function for Visual C++ (#5471)

* Added info regarding the name tag (#5459)

* Added info regarding the name tag

Added info regarding the default name tag in Accelerometer.md

* Code formatting

Co-authored-by: Olivier Michel <[email protected]>

* Code formatting 2

* redaction improvement

Co-authored-by: Olivier Michel <[email protected]>

* added github_tree url to reference .wrl node file

Co-authored-by: Olivier Michel <[email protected]>

Co-authored-by: Olivier Michel <[email protected]>

* Fix crash when deleting some node and being connected to webotsJS (#5457)

* fix crash on delete

* Update changelog-r2023.md

* update translations (#5474)

Co-authored-by: Olivier Michel <[email protected]>

* Better error message to help debugging the problem (#5482)

* Fixed tmp path on macOS (#5484)

* Fix tmp path on mac os (#5486)

* Fixed tmp path on macOS

* Fixed tmp dir also for extern controllers on macOS

* Fix external force/torque instructions (#5483)

* Fix instructions

* update translations

* Clarify

* Undo

* Update translations

Co-authored-by: Olivier Michel <[email protected]>

* remove path normalization + replace optparse (#5487)

* remove path normalization + replace optparse

* keep normpath for non-empty directories

* Update doc specifying that we should not free (#5494)

some returned string.

Co-authored-by: Yann LEROY <[email protected]>

* Fixed Python API Node.resetPhysics (#5500)

* Improve extern controller name (#5498)

Co-authored-by: Olivier Michel <[email protected]>

* Fix line feed character (#5495)

Co-authored-by: Olivier Michel <[email protected]>

* Fix motor sound on macOS (#5488)

* Fixed motor sounds on macOS

* Better code

* Update changelog-r2023.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Fix gtao shader in webotsJS (#5504)

* fix gtao

* Update src/wren/PostProcessingEffect.cpp

Co-authored-by: Yannick Goumaz <[email protected]>

Co-authored-by: Yannick Goumaz <[email protected]>

* Add `isInitializationPossible` to Python API (#5508)

* rename func + add to python

* keep old name

Co-authored-by: ad-daniel <[email protected]>

* Removed obsolete Java controller warning for non-ASCII path (#5512)

* Improve the position of the viewpoint in the create.wbt (#5511)

Co-authored-by: ad-daniel <[email protected]>

* Fix dialog popup opening/closing (#5513)

* Debug

* Fix

* Cleanup

* Better solution

* Fix test suite (#5505)

* Fix test suite

* Update test_suite_supervisor.py

* Sanity check, add bug

* Update WbLightSensor.cpp

* Add missing methods in Python API (#5516)

* add missing methods in supervisor and driver

* global api + remove useless methods

* Fix gps speed (#5372)

* GPS: Fix initial speed measure

Using the previous position, which was not initialized correctly,
yields bad speed results.
Initialize by default at NaN.
Fix some typos as well.

* GPS: Use ODE to get speed

* Fixed shadowed variable

* initial speed is null

* add doc

* Update src/webots/nodes/WbGps.cpp

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update src/webots/nodes/WbGps.cpp

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update docs/reference/gps.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update docs/reference/gps.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* add changelog entry

* change robot to parent node in doc

* update gps test

update to match recent changes,
shorter

* Update tests/api/controllers/gps_speed/gps_speed.c

Co-authored-by: Stefania Pedrazzi <[email protected]>

* d

* change test to include physic gps test

* include and typo

* fix expected speed

* add static

* change expected values

Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>

* Fix firstRender uniform type (#5517)

* Backport gtao fixes (#5518)

* Backport gtao fixes

* stlye

* Cleanup after innosetup install (#5520)

* Clean-up python API (#5521)

* Simplified imports

* If the python command is missing, provide a default value

* Update WbLanguageTools.cpp

* Update WbLanguageTools.cpp

* update translations (#5528)

* Add blog post R2023a (#5446)

* add blog post

* fix link

* Update docs/blog/Webots-2023-a-release.md

Co-authored-by: Olivier Michel <[email protected]>

* Update docs/blog/Webots-2023-a-release.md

Co-authored-by: Olivier Michel <[email protected]>

* Merge r2022 and r2023 changelogs

* update line ending

* update all line endings

* Update changelog-r2023.md

* remove colons

* Update docs/blog/Webots-2023-a-release.md

Co-authored-by: ad-daniel <[email protected]>

* Update docs/blog/Webots-2023-a-release.md

Co-authored-by: ad-daniel <[email protected]>

* Update docs/reference/changelog-r2023.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update docs/reference/changelog-r2023.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update docs/reference/changelog-r2023.md

Co-authored-by: Stefania Pedrazzi <[email protected]>

Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Benjamin Délèze <[email protected]>

* Update Transform.hpp (#5534)

* Fix adding vectors element-wise in visual_tracking.wbt (#5532)

* Fix adding vectors element-wise

* Add error messages if value with wrong length is set

* Add additional error message

* Improve error messages

Co-authored-by: Olivier Michel <[email protected]>

* Fixed camera image data type (#5535)

* Upgraded to Python 3.11 on Windows CI (#5544)

* Add automatic branch synchronization (#5537)

* test sync

* minor fix

* remove checkout

* restore branch

* Remove branch

* test

* test

* test

* origin

* test

* test double checkout

* checkout after

* fetch develop

* test

* test

* change depth

* Update title

* Add released with master

* Allow empty develop PR if released in master

* Remove wrong tab

* launch test

* remove test in pull request

* Update sync_develop_master.yml

Co-authored-by: Olivier Michel <[email protected]>

* Switched to Python 3.11 (#5546)

* Switched to Python 3.11

* Display Python version

* Update develop to R2023b (#5547)

* R2023b

* update externproto script

* x3d

* update copyright

* Inform libController that world is not ready (#5548)

Co-authored-by: Benjamin Délèze <[email protected]>

* Rename sync workflow (#5549)

* Fix accessibility to view in webotsview (#5551)

* Attempt to fix Windows build (#5552)

* Update test_suite_windows.yml

* Update test_suite_windows_develop.yml

* Clean-up Windows workflows (#5557)

* Update test_suite_windows.yml

* Update test_suite_windows_develop.yml

* Remove downscale of texture quality (#5555)

* Update wb.py (#5554)

* Update the last mentions of R2022b to R2023a (#5545)

* script

* missing translations and viewer.js

* doc

* simulation server

* sha

* indent

Co-authored-by: Olivier Michel <[email protected]>

* Add rosbot splash image (#5559)

* change version

* clang format

* WbProtoIcon.cpp

Co-authored-by: Olivier Michel <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>
Co-authored-by: Toshiharu Tabuchi <[email protected]>
Co-authored-by: Jean-Eudes-le-retour <[email protected]>
Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: Yannick Goumaz <[email protected]>
Co-authored-by: ShuffleWire <[email protected]>
Co-authored-by: Yann LEROY <[email protected]>
Co-authored-by: Stefania Pedrazzi <[email protected]>

* Update WebotsView.js

* Add libtess (#5605)

* Fix two bugs in feature-web-proto (#5613)

* Reset button is grey when there is nothing to reset (#5614)

* Enhancement display camera (#5612)

* abstract camera

* buggy

* advance but still buggy

* working frustum

* always enable

* fix scrollbar and improve style

* improvement (linescale + list of cameras)

* enable and disable optional rendering

* all parameters

* display correctly rows

* Update toolbar.css

* style

* cleanup

* Update ProtoCamera.proto

* Update ProtoCamera.proto

* Update resources/web/wwi/nodes/WbAbstractCamera.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbCamera.js

Co-authored-by: ad-daniel <[email protected]>

* change color

* parent

* split in two methods

* click and co

* rangefinder

* sanitize abstract camera

* Revert "rangefinder"

This reverts commit 8d43b632d54db7d7d3d389559b12740a1d9a8795.

* sanitize

* renable hover correctly

* fix near sanitization

* improve style

* correct color

Co-authored-by: ad-daniel <[email protected]>

* Web Proto Viewer: RangeFinder and Lidar (#5628)

* abstract camera

* buggy

* advance but still buggy

* working frustum

* always enable

* fix scrollbar and improve style

* improvement (linescale + list of cameras)

* enable and disable optional rendering

* all parameters

* display correctly rows

* Update toolbar.css

* style

* cleanup

* Update ProtoCamera.proto

* Update ProtoCamera.proto

* Update resources/web/wwi/nodes/WbAbstractCamera.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbCamera.js

Co-authored-by: ad-daniel <[email protected]>

* change color

* parent

* split in two methods

* click and co

* rangefinder

* sanitize abstract camera

* Revert "rangefinder"

This reverts commit 8d43b632d54db7d7d3d389559b12740a1d9a8795.

* sanitize

* renable hover correctly

* Revert "Revert "rangefinder""

This reverts commit 83804e5e7dca2f7ea8e163d26bbffbf2c9ced829.

* fix near sanitization

* color

* improve style

* correct color

* progress lidar

* progress

* progress

* progress

* progress

* finish lidar

* const

Co-authored-by: ad-daniel <[email protected]>

* Radar frustum web (#5631)

* abstract camera

* buggy

* advance but still buggy

* working frustum

* always enable

* fix scrollbar and improve style

* improvement (linescale + list of cameras)

* enable and disable optional rendering

* all parameters

* display correctly rows

* Update toolbar.css

* style

* cleanup

* Update ProtoCamera.proto

* Update ProtoCamera.proto

* Update resources/web/wwi/nodes/WbAbstractCamera.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbCamera.js

Co-authored-by: ad-daniel <[email protected]>

* change color

* parent

* split in two methods

* click and co

* rangefinder

* sanitize abstract camera

* Revert "rangefinder"

This reverts commit 8d43b632d54db7d7d3d389559b12740a1d9a8795.

* sanitize

* renable hover correctly

* Revert "Revert "rangefinder""

This reverts commit 83804e5e7dca2f7ea8e163d26bbffbf2c9ced829.

* fix near sanitization

* color

* improve style

* correct color

* progress lidar

* progress

* progress

* progress

* progress

* finish lidar

* const

* cleanup lidar and abstract camera

* code done, but not working

* style

* working

* udpates

Co-authored-by: ad-daniel <[email protected]>

* Add light sensor optional rendering to the web proto viewer (#5634)

* abstract camera

* buggy

* advance but still buggy

* working frustum

* always enable

* fix scrollbar and improve style

* improvement (linescale + list of cameras)

* enable and disable optional rendering

* all parameters

* display correctly rows

* Update toolbar.css

* style

* cleanup

* Update ProtoCamera.proto

* Update ProtoCamera.proto

* Update resources/web/wwi/nodes/WbAbstractCamera.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbCamera.js

Co-authored-by: ad-daniel <[email protected]>

* change color

* parent

* split in two methods

* click and co

* rangefinder

* sanitize abstract camera

* Revert "rangefinder"

This reverts commit 8d43b632d54db7d7d3d389559b12740a1d9a8795.

* sanitize

* renable hover correctly

* Revert "Revert "rangefinder""

This reverts commit 83804e5e7dca2f7ea8e163d26bbffbf2c9ced829.

* fix near sanitization

* color

* improve style

* correct color

* progress lidar

* progress

* progress

* progress

* progress

* finish lidar

* const

* cleanup lidar and abstract camera

* code done, but not working

* style

* working

* udpates

* lightSensor

* name

* Update resources/web/wwi/nodes/WbLightSensor.js

Co-authored-by: ad-daniel <[email protected]>

Co-authored-by: ad-daniel <[email protected]>

* Add pen optional rendering to the web proto viewer (#5635)

* abstract camera

* buggy

* advance but still buggy

* working frustum

* always enable

* fix scrollbar and improve style

* improvement (linescale + list of cameras)

* enable and disable optional rendering

* all parameters

* display correctly rows

* Update toolbar.css

* style

* cleanup

* Update ProtoCamera.proto

* Update ProtoCamera.proto

* Update resources/web/wwi/nodes/WbAbstractCamera.js

Co-authored-by: ad-daniel <[email protected]>

* Update resources/web/wwi/nodes/WbCamera.js

Co-authored-by: ad-daniel <[email protected]>

* change color

* parent

* split in two methods

* click and co

* rangefinder

* sanitize abstract camera

* Revert "rangefinder"

This reverts commit 8d43b632d54db7d7d3d389559b12740a1d9a8795.

* sanitize

* renable hover correctly

* Revert "Revert "rangefinder""

This reverts commit 83804e5e7dca2f7ea8e163d26bbffbf2c9ced829.

* fix near sanitization

* color

* improve style

* correct color

* progress lidar

* progress

* progress

* progress

* progress

* finish lidar

* const

* cleanup lidar and abstract camera

* code done, but not working

* style

* working

* udpates

* lightSensor

* name

* cleanup

* pen

Co-authored-by: ad-daniel <[email protected]>
Co-authored-by: Olivier Michel <[email protected]>

* Add delete function in devices (#5644)

* add delete function in devices

* style

* display connector (#5645)

* Display distance sensor in web proto viewer (#5641)

* distance sensor class

* fix bugs

* updates

* lookuptable parsing

* add and remove

* improve +/-

* +/- row

* updates (buggy)

* missing init of reset button

* send update

* update lookuptable

* reset and gui

* add scale

* wrenjs url

* add missing tooltip

* fix bool

* fix bulma

* Slider joint in web proto viewer (#5660)

* initial implementation (not working)

* initialization

* fixed size

* test on cabinet

*…
  • Loading branch information
12 people authored Feb 7, 2023
1 parent d53b15f commit a9df83a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 11 deletions.
3 changes: 2 additions & 1 deletion docs/guide/web-animation.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,13 @@ For more complex interaction with the web component, the following functions are
* `id`: the id of the node to get.
* `hasAnimation()`: return `true` if there is already a animation loaded by the web component, `false` otherwise.
* `hasView()`: return `true` if a view exist, `false` otherwise.
* `loadAnimation(scene, animation, play, mobileDevice, thumbnail)`: load and play the animation.
* `loadAnimation(scene, animation, play, mobileDevice, thumbnail, raw)`: load and play the animation.
* `scene`: name of the .x3d file.
* `animation`: name of the .json file.
* `play`: if false, the animation will be paused, otherwise it will be played.
* `mobileDevice`: boolean variable specifying if the application is running on a mobile device.
* `thumbnail`: the URL of the scene thumbnail.
* `raw`: boolean variable specifying if the animation and scene are raw files or URLs.
* `onready()`: a function that can be overridden. It will be called once the animation is loaded.
* `resize()`: automatically resize the web-component.
* `setAmbientOcclusion(level)`: change the intensity of the ambient occlusion to the given level.
Expand Down
7 changes: 5 additions & 2 deletions resources/web/wwi/Animation.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,11 @@ export default class Animation {

init(onReady) {
this.#onReady = onReady;
this.#jsonPromise.then(json => this.#setup(json))
.catch(error => console.error(error));
if (this.#jsonPromise instanceof Promise) {
this.#jsonPromise.then(json => this.#setup(json))
.catch(error => console.error(error));
} else
this.#setup(this.#jsonPromise);
}

pause() {
Expand Down
11 changes: 6 additions & 5 deletions resources/web/wwi/WebotsView.js
Original file line number Diff line number Diff line change
Expand Up @@ -187,14 +187,14 @@ export default class WebotsView extends HTMLElement {
}

// Animation's functions
loadAnimation(scene, animation, play, isMobileDevice, thumbnail) {
loadAnimation(scene, animation, play, isMobileDevice, thumbnail, raw) {
if (typeof scene === 'undefined') {
console.error('No x3d file defined');
return;
}

if (!this.initializationComplete)
setTimeout(() => this.loadAnimation(scene, animation, play, isMobileDevice, thumbnail), 500);
setTimeout(() => this.loadAnimation(scene, animation, play, isMobileDevice, thumbnail, raw), 500);
else {
// terminate the previous activity if any
this.close();
Expand All @@ -208,11 +208,11 @@ export default class WebotsView extends HTMLElement {
if (typeof this.onready === 'function')
this.onready();
};
this._view.open(scene, 'undefined', thumbnail);
this._view.open(scene, 'undefined', thumbnail, raw);
if (play !== 'undefined' && play === false)
this._view.setAnimation(animation, 'pause', true);
this._view.setAnimation(animation, 'pause', true, raw);
else
this._view.setAnimation(animation, 'play', true);
this._view.setAnimation(animation, 'play', true, raw);
this.#hasAnimation = true;
this.#closeWhenDOMElementRemoved();
}
Expand Down Expand Up @@ -351,6 +351,7 @@ export default class WebotsView extends HTMLElement {
if (typeof this.onready === 'function')
this.onready();
};

this._view.open(scene, 'undefined', thumbnail);
this.#hasScene = true;
this.#closeWhenDOMElementRemoved();
Expand Down
6 changes: 3 additions & 3 deletions resources/web/wwi/webots.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,14 @@ webots.View = class View {
this.timeout = timeout * 1000; // convert to milliseconds
}

setAnimation(url, gui, loop) {
setAnimation(animation, gui, loop, raw) {
if (typeof gui === 'undefined')
gui = 'play';
if (typeof loop === 'undefined')
loop = true;
let jsonPromise = new Promise((resolve, reject) => {
let jsonPromise = raw ? animation : new Promise((resolve, reject) => {
let xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', url, true);
xmlhttp.open('GET', animation, true);
xmlhttp.overrideMimeType('application/json');
xmlhttp.onload = () => {
if (xmlhttp.status === 200 || xmlhttp.status === 0)
Expand Down

0 comments on commit a9df83a

Please sign in to comment.