With the SimplyCube, one of our main goals is to make 3D applications’ creation as easy as it can be for all kind of users from developers to casual hobbyists without any programming experience. This is why we have chosen Microsoft C# .NET to develop our software (Blogpost). Nevertheless, C# could remain complicated for non-developer users. That’s why we also provide an alternative for novice users through the Microsoft Visual Programming Language (VPL) included in the free Microsoft Robotics Developer Studio programming environment. Combined with the SimplyCube, VPL allows users to create a 3D application and interact with it without writing a single code line. The only thing the user has to do is to drag and drop boxes (each one is a service with a specific functionality) and link them together.
Here is a non-exhaustive list of services you will find in the SimplyCube. Each of these services will be an easy to use “box” that you can drag and drop in your VPL diagram. Of course the SimplyCube will also provide some tutorials explaining how to use these services in different types of applications:
- A simulation engine service which allows loading a 3D scene and configuring it.
- Graphic services:
- Node Translation Applicator: Apply translations on scene nodes.
- Node Rotation Applicator: Apply rotations on scene nodes.
- Node Scale Applicator: Apply scales changes on scene nodes.
- Node Visibility Manipulator: Set nodes visible or invisible.
- Global Emissive Manipulator: Changes the global emissive power (lightning) of a scene.
- Situation Manipulator: Changes the date and the location of the scene.
- HUD Text Manipulator: Manages an on-screen Text.
- HUD Image Manipulator: Manages an on-screen image.
- Weather Manipulator: Changes the scene weather configuration.
- Window Inputs Notifier: Sends notifications on mouse and key interactions.
- Physic services:
- Torque Applicator: Applies a force on one or more dynamic actors.
- Motorized Hinge Manipulator: Changes the velocity and maximum torque of one or more motorized hinge joints (hinge joint = rotation joint).
- Motorized Slider Manipulator: Changes the velocity and maximum force of one or more motorized slider joints (slider joint = translation joint).
- Collision Detector: Sends a notification when a collision is detected with one or more actors.
- Pair Collision Detector: Detects collisions between two actors list.
- Actor Pose Tracker: Get the position and the orientation of a dynamic actor.
- Actor Velocity Tracker: Get the angular and linear velocity of a dynamic actor.
- Ray caster: Cast a “ray” from a 3D point in a direction and returns a list of actors hit by the rays.