diff --git a/build3/premake4.lua b/build3/premake4.lua index 345091d3e..9d4efd5ab 100644 --- a/build3/premake4.lua +++ b/build3/premake4.lua @@ -71,6 +71,12 @@ description = "Don't build Extras" } + newoption + { + trigger = "standalone-examples", + description = "Build standalone examples with reduced dependencies." + } + newoption { trigger = "no-clsocket", @@ -249,17 +255,9 @@ end include "../examples/ExampleBrowser" include "../examples/OpenGLWindow" include "../examples/ThirdPartyLibs/Gwen" - include "../examples/SimpleOpenGL3" - include "../examples/TinyRenderer" - include "../examples/HelloWorld" - include "../examples/BasicDemo" - include "../examples/InverseDynamics" - include "../examples/ExtendedTutorials" include "../examples/SharedMemory" include "../examples/ThirdPartyLibs/BussIK" - - include "../examples/MultiThreading" if _OPTIONS["lua"] then include "../examples/ThirdPartyLibs/lua-5.2.3" @@ -268,9 +266,17 @@ end include "../examples/pybullet" end + if _OPTIONS["standalone-examples"] then + include "../examples/SimpleOpenGL3" + include "../examples/TinyRenderer" + include "../examples/BasicDemo" + include "../examples/InverseDynamics" + include "../examples/ExtendedTutorials" + include "../examples/MultiThreading" + end + if not _OPTIONS["no-test"] then include "../test/SharedMemory" - end end diff --git a/examples/ExampleBrowser/ExampleEntries.cpp b/examples/ExampleBrowser/ExampleEntries.cpp index ffcc2e14b..1a72658c0 100644 --- a/examples/ExampleBrowser/ExampleEntries.cpp +++ b/examples/ExampleBrowser/ExampleEntries.cpp @@ -133,6 +133,17 @@ static ExampleEntry gDefaultExamples[]= ExampleEntry(1,"Inverted Pendulum PD","Keep an inverted pendulum up using open loop PD control", InvertedPendulumPDControlCreateFunc), ExampleEntry(1,"MultiBody Soft Contact", "Using the error correction parameter (ERP) and constraint force mixing (CFM) values for contacts to simulate compliant contact.",MultiBodySoftContactCreateFunc,0), + ExampleEntry(0,"Physics Client-Server"), + ExampleEntry(1,"Physics Server", "Create a physics server that communicates with a physics client over shared memory. You can connect to the server using pybullet, a PhysicsClient or a UDP/TCP Bridge.", + PhysicsServerCreateFunc), + ExampleEntry(1, "Physics Client (Shared Mem)", "Create a physics client that can communicate with a physics server over shared memory.", PhysicsClientCreateFunc), + +// ExampleEntry(1,"Physics Server (Logging)", "Create a physics server that communicates with a physics client over shared memory. It will log all commands to a file.", +// PhysicsServerCreateFunc,PHYSICS_SERVER_ENABLE_COMMAND_LOGGING), +// ExampleEntry(1,"Physics Server (Replay Log)", "Create a physics server that replay a command log from disk.", +// PhysicsServerCreateFunc,PHYSICS_SERVER_REPLAY_FROM_COMMAND_LOG), +// +// ExampleEntry(1, "Physics Client (Direct)", "Create a physics client that can communicate with a physics server directly in-process.", PhysicsClientCreateFunc,eCLIENTEXAMPLE_DIRECT), ExampleEntry(0,"Inverse Dynamics"), ExampleEntry(1,"Inverse Dynamics URDF", "Create a btMultiBody from URDF. Create an inverse MultiBodyTree model from that. Use either decoupled PD control or computed torque control using the inverse model to track joint position targets", InverseDynamicsExampleCreateFunc,BT_ID_LOAD_URDF), @@ -251,19 +262,10 @@ static ExampleEntry gDefaultExamples[]= ExampleEntry(0,"Experiments"), + + ExampleEntry(1,"Robot Control", "Create a physics client and server to create and control robots.", PhysicsClientCreateFunc, eCLIENTEXAMPLE_SERVER), - ExampleEntry(1,"Physics Server", "Create a physics server that communicates with a physics client over shared memory", - PhysicsServerCreateFunc), - ExampleEntry(1,"Physics Server (RTC)", "Create a physics server that communicates with a physics client over shared memory. At each update, the Physics Server will continue calling 'stepSimulation' based on the real-time clock (RTC).", - PhysicsServerCreateFunc,PHYSICS_SERVER_USE_RTC_CLOCK), - - ExampleEntry(1,"Physics Server (Logging)", "Create a physics server that communicates with a physics client over shared memory. It will log all commands to a file.", - PhysicsServerCreateFunc,PHYSICS_SERVER_ENABLE_COMMAND_LOGGING), - ExampleEntry(1,"Physics Server (Replay Log)", "Create a physics server that replay a command log from disk.", - PhysicsServerCreateFunc,PHYSICS_SERVER_REPLAY_FROM_COMMAND_LOG), - ExampleEntry(1, "Physics Client (Shared Mem)", "Create a physics client that can communicate with a physics server over shared memory.", PhysicsClientCreateFunc), - ExampleEntry(1, "Physics Client (Direct)", "Create a physics client that can communicate with a physics server directly in-process.", PhysicsClientCreateFunc,eCLIENTEXAMPLE_DIRECT), ExampleEntry(1,"R2D2 Grasp","Load the R2D2 robot from URDF file and control it to grasp objects", R2D2GraspExampleCreateFunc, eROBOTIC_LEARN_GRASP), ExampleEntry(1,"Kuka IK","Control a Kuka IIWA robot to follow a target using IK. This IK is not setup properly yet.", KukaGraspExampleCreateFunc,0),