Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from choreonoid:master #115

Merged
merged 134 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
02d7a14
[CMake] Set CHOREONOID_USE_PYTHON2 variable in config file
ThomasDuvinage Aug 8, 2024
dc9f4b2
Add the setTransparency function to SphereMarker
s-nakaoka Jul 20, 2024
b1e7d0b
Add ZmpDevice
s-nakaoka Jul 12, 2024
4c1bc6d
Add API to access the ZMP device to LeggedBodyHelper
s-nakaoka Jul 19, 2024
84471d8
Fix classes accessing ZMP to use LeggedBodyHelper
s-nakaoka Jul 19, 2024
90c5d5a
Remove the ZMP attribute from BodyItem
s-nakaoka Jul 19, 2024
e9a7842
Fix the copy constructor of SgGroup to stop the shallow copy of the c…
s-nakaoka Jul 24, 2024
fba59a1
Add CameraItem and CameraConfigDialog
s-nakaoka Jul 22, 2024
e0ffd8e
Add the isometric view button to SceneBar
s-nakaoka Jul 26, 2024
edf3ee8
Update Japanese translations for the Base module
s-nakaoka Jul 23, 2024
09f2c2d
Fix BodySyncCameraItem and BodySyncCameraConfigDialog to inherit Came…
s-nakaoka Jul 23, 2024
bdf7f53
Update Japanese translations for BodyPlugin
s-nakaoka Jul 24, 2024
bca82bd
Fix a bug in outputting messages to MessageOut::cout and MessageOut::…
s-nakaoka Aug 9, 2024
e19df14
Fix a bug in setting URI information in StdSceneReader
s-nakaoka Jul 27, 2024
a9900cf
Fix VRMLSceneLoader to set the URI information
s-nakaoka Aug 9, 2024
866daf6
Fix bugs in finding a sub string in AbstractSceneWriter, StdSceneWrit…
s-nakaoka Jul 30, 2024
0a04851
Fix a bug in reading ambient colors in ObjSceneLoader
s-nakaoka Aug 9, 2024
7931c73
Improve AbstractSceneWriter::findOrCopyImageFile to avoid conflicts i…
s-nakaoka Aug 9, 2024
a6f5d18
Fix the CopyModelFiles mode of StdSceneWriter to recursively copy fil…
s-nakaoka Aug 10, 2024
7c53bb4
Implement a function to export the scene of selected renderable items…
s-nakaoka Jul 26, 2024
816f0c6
Update Japanese translations for the Base module
s-nakaoka Jul 26, 2024
5f55a70
Improve HolderDevice to support multiple categories
s-nakaoka Aug 10, 2024
510e41c
Fix KinematicBodyItemSet to emit KinematicBodySet::sigBodySetChanged …
s-nakaoka Aug 11, 2024
e740e34
Remove unnecessary headers from MovieRecorderDialog.cpp
s-nakaoka Aug 13, 2024
ea20e77
Remove an extraneous character from Link.cpp
s-nakaoka Aug 13, 2024
c99225e
Add functions to SgObject, SgNode and SgMaterial
s-nakaoka Aug 12, 2024
60f0fb3
Modify the metadata type for the URI information of a scene graph obj…
s-nakaoka Aug 15, 2024
7859b28
Improve STLSceneLoader to directly transform vertices and normals whe…
s-nakaoka Aug 14, 2024
afe54a6
Move the makeNameFilter function from ItemFileDialog to FileDialog
s-nakaoka Aug 13, 2024
f0f569e
Add the doSetCurrentDirectory argument to FileDialog::updatePresetDir…
s-nakaoka Aug 15, 2024
d75a784
Fix to use the system instance of FilePathVariableProcessor to enable…
s-nakaoka Aug 16, 2024
dae38e9
Fix a bug in copying model files in StdSceneWriter
s-nakaoka Aug 16, 2024
5e6cb2a
Add GeneralSceneFileLoadDialog
s-nakaoka Aug 13, 2024
d77c8af
Fix the implementation of GeneralSceneFileImporterBase to use General…
s-nakaoka Aug 16, 2024
829cf19
Update Japanese translations for the Base module
s-nakaoka Aug 14, 2024
3a7d267
Add the function for setting the default length unit hint of GeneralS…
s-nakaoka Aug 17, 2024
be16c3e
Add the getContentHash function to Mapping and Listing
s-nakaoka Aug 15, 2024
6a01cd0
Improve StdSceneReader to prevent conflicts between resources sharein…
s-nakaoka Aug 15, 2024
c3babc3
Improve LinkOverwriteItem to support the ShapeOffset and ShapeColor e…
s-nakaoka Aug 12, 2024
3a0f0d9
Fix Japanese translations for the Base module
s-nakaoka Aug 19, 2024
5de6514
Fix the Python wrappers for the signal types defined in TimeBar
s-nakaoka Aug 21, 2024
ca585a1
Fix SmokeDevice and RainSnowDevice to be public classes
s-nakaoka Aug 28, 2024
c41c68a
Modify the default background color of GLSceneRenderer
s-nakaoka Aug 29, 2024
c5a5f73
Add properties to GLVisionSimulatorItem
s-nakaoka Aug 29, 2024
27ea6ac
Update Japanese translations for BodyPlugin
s-nakaoka Aug 29, 2024
d9d36d0
Fix a bug in copying the initial state in BodyItem::doAssign when rel…
s-nakaoka Sep 2, 2024
720f1a9
Add a floor model with fence
s-nakaoka Sep 2, 2024
5db54ed
Modify the default recording mode of SimulatorItem to the tail record…
s-nakaoka Sep 3, 2024
163d1e4
Fix ItemTreeView and ItemTreeWidget to disable name editing for sub i…
s-nakaoka Sep 3, 2024
104e96a
Fix Item::addChildItem and Item::addSubItem to check if the target it…
s-nakaoka Sep 3, 2024
dda4beb
Fix the code to update sub visualizer items in SensorVisualizerItem
s-nakaoka Sep 3, 2024
2311b9c
Fix SensorVisualizerItem to update each sub item name when the corres…
s-nakaoka Sep 3, 2024
8fa835a
Improve ItemTreeWidget to keep the expansion state of an item when th…
s-nakaoka Sep 3, 2024
a17a5a8
Fix JointDisplacementWidgetSet to avoid a crash due to a bug of QDial
s-nakaoka Sep 4, 2024
2b9d4e8
Support for AGX Dynamics 2.38
s-nakaoka Sep 4, 2024
280b105
Refactor the API of LocatableItem
s-nakaoka Sep 6, 2024
fd893ff
Move the definition of continuous update state from BodyItem to Item
s-nakaoka Sep 7, 2024
011188c
Improve SimulatorItem to set all the associated items to the continuo…
s-nakaoka Sep 7, 2024
c063adf
Improve ItemPropertyWidget to block property editing when the target …
s-nakaoka Sep 7, 2024
876a53f
Fix ItemTreeWidget to block user inputs for items with the continuous…
s-nakaoka Sep 9, 2024
ac243ac
Fix item context menus to disable menu items that should not be execu…
s-nakaoka Sep 9, 2024
91336a4
Improve SmokeDevice and SceneSmoke to specify a tint color
s-nakaoka Sep 10, 2024
3238fb0
Update Japanese translations for the Base module
s-nakaoka Sep 10, 2024
9c45294
Make the ParticleSystem class and related headers public
s-nakaoka Sep 10, 2024
ed5998c
fix readGeometryTag in Sphere type
Taiki-Ishigaki Sep 1, 2024
7f65768
Fix to prevent a compile warning in Visual C++
s-nakaoka Sep 10, 2024
c6fa1a3
Fix the reference type of LocatableItem in LocationProxy to increase …
s-nakaoka Sep 16, 2024
3b0c4cc
Fix YAMLReader not to set the flow-style for empty mappings
s-nakaoka Sep 16, 2024
062bd24
Fix to delete objects managed by the Base module when the application…
s-nakaoka Sep 16, 2024
5f2a011
Fix StdSceneWriter to update the output base directory correctly
s-nakaoka Sep 17, 2024
6817db0
Improve the API of the MessageOut class
s-nakaoka Sep 18, 2024
96f6d82
Refactor some code on MessageOut
s-nakaoka Sep 18, 2024
d5cf076
Fix ItemTreeView to avoid a crash when its empty space is right-click…
s-nakaoka Sep 19, 2024
ececf74
Implement the live playback function of WorldLogFileItem
s-nakaoka Oct 4, 2024
aad67ee
Update the Japanese translations for BodyPlugin
s-nakaoka Oct 4, 2024
cfb07b0
Fix the findPathInDirectory and getRelativePath functions to support …
s-nakaoka Oct 7, 2024
8c2cb87
Fix ValueNode::read to return true for empty string value
s-nakaoka Sep 27, 2024
7cc8d1c
Add the nullout instance of MessageOut
s-nakaoka Sep 19, 2024
50c7055
Introduce MessageOut into ItemTreeArchiver and ItemFileIO
s-nakaoka Sep 19, 2024
c98604c
Improve the ItemManager::overwriteItem function
s-nakaoka Sep 19, 2024
3af13cd
Improve the the file operation API of the Item and ItemManager classes
s-nakaoka Sep 19, 2024
09d3531
Improve ItemManager::Impl::findMatchedFileIO to return the default It…
s-nakaoka Oct 1, 2024
f4cae5b
Fix the behavior of ItemManager::overwriteItem for an unsaved item wi…
s-nakaoka Oct 2, 2024
ea9ac07
Fix the default value of Item::isConsistentWithFile
s-nakaoka Sep 27, 2024
54352ea
Introduce the backup mode into ProjectManager
s-nakaoka Sep 18, 2024
212144f
Fix the save check in ProjectManager to correctly determine whether t…
s-nakaoka Oct 3, 2024
f10bfff
Improve the API and implementation for sub-project items in ProjectMa…
s-nakaoka Oct 3, 2024
ec36aab
Add a RootItem signal to notify of changes when the tree has any item…
s-nakaoka Oct 1, 2024
3d6bfec
Add the TimeBar::isPlaybackProcessing function
s-nakaoka Oct 1, 2024
e56988e
Add ProjectBackupManager
s-nakaoka Sep 17, 2024
7130bc8
Improve the Archive class to support the project backup mode
s-nakaoka Sep 19, 2024
803f670
Improve the file IO processes of SubProjectItem
s-nakaoka Oct 3, 2024
f884536
Update Japanese translations for the Base module
s-nakaoka Sep 17, 2024
0c234a3
Fix the file I/O of PoseSeqItem
s-nakaoka Oct 1, 2024
6f6c4d6
Introduce the sigStatementReferenceUpdated signal into MprProgram
s-nakaoka Sep 20, 2024
36ee59f
Fix MprProgramItemBase to use Archive::saveItemToFile to support auto…
s-nakaoka Sep 19, 2024
8edcae6
Minor fix to compile
s-nakaoka Oct 8, 2024
8cfecf5
Fix CMakeLists.txt to throw an error for the combination of Qt6 and C…
s-nakaoka Oct 8, 2024
75ca6dc
Make the header of WorldLogFileItem public
s-nakaoka Oct 9, 2024
d001c15
Improve the API of ThreadPool
s-nakaoka Oct 9, 2024
2e10ffb
Fix to copy item checkstates by default when copying an item
s-nakaoka Oct 9, 2024
b3a2d97
Make SgGroup::copyChildrenTo a const function
s-nakaoka Oct 9, 2024
12573e0
Add MeshGenerator::mainThreadInstance, which can be used as a shared …
s-nakaoka Oct 9, 2024
02d1808
Fix the copy constructor of SceneItem to correctly copy the scene
s-nakaoka Oct 9, 2024
8a07f3b
Fix LightingItem
s-nakaoka Oct 9, 2024
1b08501
Fix SimulatorItem to prevent breaking project file consistency flag f…
s-nakaoka Oct 10, 2024
8a19d30
Improve WorldLogFileItem to handle corrupt log files more robustly, r…
s-nakaoka Oct 10, 2024
e4173d1
Add a real-time file sync script for remote live playback with WorldL…
s-nakaoka Oct 10, 2024
9b9d4d7
Refactor ItemCreationPanel: make default item name edit reusable in c…
s-nakaoka Oct 20, 2024
67535ef
Remove the creation panels for the item types whose manual creation i…
s-nakaoka Oct 20, 2024
ef1819f
Fix bugs in recording and playing a BodyStateSeq having non-existence…
s-nakaoka Oct 20, 2024
35ed5cc
Fix a bug in pointing a superimposed body in SceneView
s-nakaoka Oct 21, 2024
739b4a0
Fix SceneWidget and OperableSceneBody to avoid a crash when right-cli…
s-nakaoka Oct 21, 2024
25a16ab
Add a header file to define macros for controlling compiler warning v…
s-nakaoka Oct 22, 2024
9be3103
Fix signal disconnection process in RectRegionMarker
s-nakaoka Oct 23, 2024
268e8b0
Fix item creation process in an item creation dialog
s-nakaoka Oct 25, 2024
5c967ad
Update Japanese translations for the Base module
s-nakaoka Oct 25, 2024
b99dcc8
Improve type checking in the registration to HierarchicalClassRegistry
s-nakaoka Oct 25, 2024
22efe5c
Refactor the registration of the SgNode class
s-nakaoka Oct 25, 2024
ce57401
Make iterators for multiplex bodies available
s-nakaoka Oct 27, 2024
838f9aa
Improve KinematicSimulatorItem to suport multiplex bodies with multip…
s-nakaoka Oct 27, 2024
190a0ad
Fix bugs in calculating foward kinematics in BodyMotionEngine
s-nakaoka Oct 27, 2024
0e092b7
Fix SimulatorItem to update frontend body states even for bodies with…
s-nakaoka Oct 27, 2024
9262610
Remove unnecessary scene graph update notifications from SceneBody::u…
s-nakaoka Oct 27, 2024
4df69eb
Fix SceneBody to improve multiplex body handling
s-nakaoka Oct 27, 2024
6fee963
Fix the packege install script for Ubuntu 24.04 to supoprt non-intera…
s-nakaoka Oct 30, 2024
4011b12
Fix ItemManger to be able to register an item creation panel without …
s-nakaoka Nov 1, 2024
4c5fd15
Fix to register the item creation panel for PositionTagGroupItem with…
s-nakaoka Nov 1, 2024
c6873b3
Add the public header of SceneWidgetEvent
s-nakaoka Nov 5, 2024
b1e6716
Add SceneWidget::setDefaultCursor
s-nakaoka Nov 5, 2024
60fce7d
Add the isLeftButtonPressed and isRightButtonPressed functions to Sce…
s-nakaoka Nov 6, 2024
0ab1be2
Fix SceneWidget to handle key events correctly for a custom edit mode
s-nakaoka Nov 6, 2024
12e8ff9
Implement SceneWidget functions for setting camera position with anim…
s-nakaoka Nov 6, 2024
6d1048d
Fix CoordinateFrameItem to override the setName function to correctly…
s-nakaoka Nov 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,9 @@ if(ENABLE_GUI)
endif()
set(CHOREONOID_QT_MAJOR_VERSION ${default_qt_major_version}
CACHE STRING "Specify the major version of Qt; either 5 or 6.")
if(CHOREONOID_QT_MAJOR_VERSION GREATER_EQUAL 6 AND CMAKE_CXX_STANDARD LESS_EQUAL 14)
message(FATAL_ERROR "Qt6 requires C++17 or higher.")
endif()
choreonoid_find_qt_package()
set(CMAKE_AUTOMOC OFF)

Expand Down
1 change: 1 addition & 0 deletions cmake/ChoreonoidConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ set(CHOREONOID_COMPILE_DEFINITIONS "@compile_definitions@")
set(CHOREONOID_DEFAULT_FVISIBILITY_HIDDEN @CHOREONOID_DEFAULT_FVISIBILITY_HIDDEN@)
set(CHOREONOID_INCLUDE_DIRS "@include_dirs@")
set(CHOREONOID_LIBRARY_DIRS "@library_dirs@")
set(CHOREONOID_USE_PYTHON2 @CNOID_USE_PYTHON2@)

if(@has_boost_libs_for_util_libs@)
find_package(Boost @boost_version@ EXACT COMPONENTS @boost_components_for_util_libs@)
Expand Down
1 change: 1 addition & 0 deletions include/cnoid/CameraConfigDialog
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Base/CameraConfigDialog.h"
1 change: 1 addition & 0 deletions include/cnoid/CameraItem
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Base/CameraItem.h"
1 change: 1 addition & 0 deletions include/cnoid/CompilerWarningControlMacros
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Util/CompilerWarningControlMacros.h"
1 change: 1 addition & 0 deletions include/cnoid/GeneralSceneFileLoadDialog
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Base/GeneralSceneFileLoadDialog.h"
1 change: 0 additions & 1 deletion include/cnoid/MultiSeqItemCreationPanel

This file was deleted.

1 change: 1 addition & 0 deletions include/cnoid/ParticleSystem
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/SceneEffectsPlugin/ParticleSystem.h"
1 change: 1 addition & 0 deletions include/cnoid/ProjectBackupManager
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Base/ProjectBackupManager.h"
1 change: 1 addition & 0 deletions include/cnoid/RainSnowDevice
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/SceneEffectsPlugin/RainSnowDevice.h"
1 change: 1 addition & 0 deletions include/cnoid/RenderableItemSceneExporter
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Base/RenderableItemSceneExporter.h"
1 change: 1 addition & 0 deletions include/cnoid/SceneWidgetEvent
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "../choreonoid-nx/src/Base/SceneWidgetEvent.h"
1 change: 1 addition & 0 deletions include/cnoid/SmokeDevice
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/SceneEffectsPlugin/SmokeDevice.h"
1 change: 1 addition & 0 deletions include/cnoid/WorldLogFileItem
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/BodyPlugin/WorldLogFileItem.h"
1 change: 1 addition & 0 deletions include/cnoid/ZmpDevice
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "src/Body/ZmpDevice.h"
8 changes: 8 additions & 0 deletions misc/script/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,11 @@ configure_file(make_src_archive.sh.in make_src_archive.sh @ONLY)
if(WIN32)
configure_file(install_win32_deps.rb.template install_win32_deps.rb)
endif()

if(UNIX)
option(INSTALL_SYNC_LOGFILE_COMMAND "Installing the choreonoid-sync-logfile command" OFF)
mark_as_advanced(INSTALL_SYNC_LOGFILE_COMMAND)
if(INSTALL_SYNC_LOGFILE_COMMAND)
configure_file(sync-logfile.sh ${PROJECT_BINARY_DIR}/bin/choreonoid-sync-logfile COPYONLY)
endif()
endif()
2 changes: 1 addition & 1 deletion misc/script/install-requisites-ubuntu-24.04.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

sudo --preserve-env=DEBIAN_FRONTEND,TZ \
apt-get install \
apt-get -y install \
build-essential \
cmake-curses-gui \
libeigen3-dev \
Expand Down
116 changes: 116 additions & 0 deletions misc/script/sync-logfile.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#!/bin/bash

# Function to display usage information
usage() {
echo "Usage: $0 SOURCE_FILE REMOTE_HOST [REMOTE_FILE]"
echo " SOURCE_FILE: Path to the local source file"
echo " REMOTE_HOST: Remote host in the format user@hostname"
echo " REMOTE_FILE: (Optional) Path to the remote destination file. If omitted, same as SOURCE_FILE"
exit 1
}

# Check command-line arguments
if [ $# -lt 2 ]; then
usage
fi

# Set parameters
SOURCE_FILE="$1"
REMOTE_HOST="$2"
REMOTE_FILE="${3:-$SOURCE_FILE}"

# Establish SSH connection and run in the background
ssh -N -f -M -S /tmp/ssh_socket "$REMOTE_HOST"

cleanup() {
echo "Cleaning up and closing SSH connection..."
ssh -S /tmp/ssh_socket -O exit "$REMOTE_HOST"
exit 0
}

# Execute cleanup on script termination
trap cleanup EXIT

# Initial sync: Replace the remote file with the source file at script start
initial_sync() {
echo "Performing initial sync..."
scp -o "ControlPath=/tmp/ssh_socket" "$SOURCE_FILE" "$REMOTE_HOST:$REMOTE_FILE"
if [ $? -eq 0 ]; then
echo "Initial sync completed successfully."
else
echo "Error during initial sync. Exiting."
cleanup
fi
}

# Function to sync specified byte range
sync_range() {
local start=$1
local end=$2
local length=$((end - start))

if [ $length -gt 0 ]; then
dd if="$SOURCE_FILE" bs=1 skip=$start count=$length 2>/dev/null |
ssh -S /tmp/ssh_socket "$REMOTE_HOST" "cat >> $REMOTE_FILE"

return $length
fi
return 0
}

# Perform initial sync
initial_sync

# Record the last synced file size
last_size=$(stat -c %s "$SOURCE_FILE")

# Get current time in seconds with nanosecond precision
get_time() {
date +%s.%N
}

start_time=$(get_time)
last_output_time=$start_time
total_synced_bytes=0
sync_count=0

while true; do
current_time=$(get_time)

# Get current file size
current_size=$(stat -c %s "$SOURCE_FILE")

# Sync if file size has changed
if [ "$current_size" != "$last_size" ]; then
if [ "$current_size" -lt "$last_size" ]; then
# If file size decreased, replace the entire file
scp -o "ControlPath=/tmp/ssh_socket" "$SOURCE_FILE" "$REMOTE_HOST:$REMOTE_FILE"
echo "File size decreased. Replaced entire file. New size: $current_size bytes"
synced_bytes=$current_size
else
# If file size increased, send only the newly added data
sync_range "$last_size" "$current_size"
synced_bytes=$?
fi

# Update statistics
total_synced_bytes=$((total_synced_bytes + synced_bytes))
sync_count=$((sync_count + 1))

# Update the last synced size
last_size=$current_size
fi

# Output statistics approximately once per second, only if there were syncs
if (( $(echo "$current_time - $last_output_time >= 1" | bc -l) )); then
if [ $sync_count -gt 0 ]; then
echo "Sync count: $sync_count, Total bytes synced: $total_synced_bytes"
fi
last_output_time=$current_time
sync_count=0
total_synced_bytes=0
fi

# Minimal sleep to reduce CPU usage
sleep 0.001
done
45 changes: 45 additions & 0 deletions share/model/misc/fencedfloor.body
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
format: ChoreonoidBody
formatVersion: 2.0
name: FencedFloor
links:
-
name: Floor
jointType: fixed
material: Ground
elements:
Shape:
translation: [ 0, 0, -0.1 ]
geometry: { type: Box, size: [ 10.0, 10.0, 0.2 ] }
appearance: { material: { diffuseColor: [ 0, 0, 1 ] }}
-
name: Fence1
parent: Floor
translation: [ 4.95, 0, 0.2 ]
jointType: fixed
elements:
Shape: &Fence1
geometry: { type: Box, size: [ 0.1, 10.0, 0.4 ] }
appearance: &App1 { material: { diffuseColor: [ 0.7, 0.7, 0.7 ] }}
-
name: Fence2
parent: Floor
translation: [ -4.95, 0, 0.2 ]
jointType: fixed
elements:
Shape: *Fence1
-
name: Fence3
parent: Floor
translation: [ 0, 4.95, 0.2 ]
jointType: fixed
elements:
Shape: &Fence2
geometry: { type: Box, size: [ 9.8, 0.1, 0.4 ] }
appearance: *App1
-
name: Fence4
parent: Floor
translation: [ 0, -4.95, 0.2 ]
jointType: fixed
elements:
Shape: *Fence2
2 changes: 1 addition & 1 deletion share/model/misc/smoke.body
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ links:
name: Base
jointType: fixed
elements:
SmokeDevice: { }
SmokeDevice: { tint_color: [ 1.0, 1.0, 1.0 ] }
8 changes: 8 additions & 0 deletions src/AGXDynamicsPlugin/AGXObjectFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ agxSDK::SimulationRef AGXObjectFactory::createSimulation(const AGXSimulationDesc
sim->getSpace()->setContactReductionThreshold(desc.contactReductionThreshhold);
sim->getDynamicsSystem()->setEnableContactWarmstarting(desc.enableContactWarmstarting);
sim->getMergeSplitHandler()->setEnable(desc.enableAMOR);

#if AGX_MAJOR_VERSION < 38
sim->getDynamicsSystem()->getAutoSleep()->setEnable(desc.enableAutoSleep);
#endif

return sim;
}

Expand Down Expand Up @@ -107,7 +111,11 @@ LinkRigidBodyRef AGXObjectFactory::createLinkRigidBody(const AGXRigidBodyDesc& d
rigid->setPosition(desc.p);
rigid->setRotation(desc.R);
rigid->setName(desc.name);

#if AGX_MAJOR_VERSION < 38
rigid->getAutoSleepProperties().setEnable(desc.enableAutoSleep);
#endif

return rigid;
}

Expand Down
8 changes: 7 additions & 1 deletion src/AGXDynamicsPlugin/AGXScene.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,18 @@ void AGXScene::setGravity(const agx::Vec3 & g)

bool AGXScene::getEnableAutoSleep() const
{
#if AGX_MAJOR_VERSION >= 38
return false;
#else
return getSimulation()->getDynamicsSystem()->getAutoSleep()->getEnable();
#endif
}

void AGXScene::setEnableAutoSleep(const bool & bOn)
{
#if AGX_MAJOR_VERSION < 38
getSimulation()->getDynamicsSystem()->getAutoSleep()->setEnable(bOn);
#endif
}

bool AGXScene::saveSceneToAGXFile()
Expand All @@ -151,4 +157,4 @@ agxSDK::SimulationRef AGXScene::getSimulation() const
return _agxSimulation;
}

}
}
5 changes: 3 additions & 2 deletions src/AISTCollisionDetector/AISTCollisionDetector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -627,8 +627,9 @@ void AISTCollisionDetector::Impl::detectCollisionsInParallel(const std::function
if(size == 0){
break;
}
threadPool->start([this, i, index, size](){
extractCollisionsOfAssignedPairs(index, index + size, collisionPairArrays[i]); });
threadPool->post([this, i, index, size](){
extractCollisionsOfAssignedPairs(index, index + size, collisionPairArrays[i]);
});
index += size;
}
threadPool->waitLoop();
Expand Down
13 changes: 9 additions & 4 deletions src/Base/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "MessageView.h"
#include "RootItem.h"
#include "ProjectManager.h"
#include "ProjectBackupManager.h"
#include "UnifiedEditHistory.h"
#include "UnifiedEditHistoryView.h"
#include "ItemEditRecordManager.h"
Expand All @@ -20,10 +21,11 @@
#include "ExtCommandItem.h"
#include "SceneItem.h"
#include "SceneGeometryMeasurementTracker.h"
#include "CameraItem.h"
#include "LightingItem.h"
#include "PointSetItem.h"
#include "PointSetGeometryMeasurementTracker.h"
#include "MultiPointSetItem.h"
#include "LightingItem.h"
#include "AbstractTextItem.h"
#include "ScriptItem.h"
#include "MessageLogItem.h"
Expand Down Expand Up @@ -261,7 +263,7 @@ App::Impl::Impl(App* self, int& argc, char** argv, const std::string& appName, c
#ifdef Q_OS_WIN32
// Make a bundled Python available if it exists in the Choreonoid top directory.
std::smatch match;
for(auto& dir : filesystem::directory_iterator(executableTopDirPath())){
for(auto& dir : stdx::filesystem::directory_iterator(executableTopDirPath())){
static std::regex re("^Python\\d+$");
string dirString = dir.path().filename().string();
if(regex_match(dirString, match, re)){
Expand Down Expand Up @@ -386,6 +388,7 @@ void App::Impl::initialize()

ItemManager::initializeClass(ext);
ProjectManager::initializeClass(ext);
ProjectBackupManager::initializeClass();
RootItem::initializeClass(ext);
UnifiedEditHistory::initializeClass(ext);
UnifiedEditHistoryView::initializeClass(ext);
Expand Down Expand Up @@ -434,13 +437,14 @@ void App::Impl::initialize()
ReferencedObjectSeqItem::initializeClass(ext);
SceneItem::initializeClass(ext);
SceneGeometryMeasurementTracker::initializeClass();
CameraItem::initializeClass(ext);
LightingItem::initializeClass(ext);
PointSetItem::initializeClass(ext);
PointSetGeometryMeasurementTracker::initializeClass();
MultiPointSetItem::initializeClass(ext);
AbstractTextItem::initializeClass(ext);
ScriptItem::initializeClass(ext);
MessageLogItem::initializeClass(ext);
LightingItem::initializeClass(ext);
CoordinateFrameListItem::initializeClass(ext);
CoordinateFrameItem::initializeClass(ext);
PositionTagGroupItem::initializeClass(ext);
Expand Down Expand Up @@ -495,9 +499,9 @@ App::~App()

App::Impl::~Impl()
{
AppConfig::flush();
delete qapplication;
delete pluginManager;
AppConfig::flush();
}


Expand Down Expand Up @@ -586,6 +590,7 @@ int App::Impl::exec()
RootItem::instance()->clearChildren();

pluginManager->finalizePlugins();
ext->deleteManagedObjects();
delete mainWindow;
mainWindow = nullptr;

Expand Down
6 changes: 6 additions & 0 deletions src/Base/AppCustomizationUtil.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "FileDialog.h"
#include "TimeBar.h"
#include "DisplayValueFormat.h"
#include "GeneralSceneFileLoadDialog.h"
#include <cnoid/GettextUtil>

namespace cnoid {
Expand Down Expand Up @@ -116,6 +117,11 @@ class AppCustomizationUtil
TimeBar::setNegativeTimeEnabled(on);
}

static void setGeneralSceneFileLoadDialogDefaultLengthUnitHint(SceneLoader::LengthUnitType hint)
{
GeneralSceneFileLoadDialog::setDefaultLengthUnitHint(hint);
}

void setLengthUnit(DisplayValueFormat::LengthUnit unit)
{
displayValueFormat->setLengthUnit(unit);
Expand Down
Loading