Simspark Package Overview

 

The different parts of this package are organized in different directories as follows:

./app/Different applications. These applications are mostly tests of different subsystems of the simulator. Additionaly, there is
./app/simulator/The soccer simulator.
./app/rcssmonitor3d/A simple monitor that displays agents connected to the simulator.
./app/agenttest/A 'hello world' agent (does nothing very useful, kick and run soccer).
./lib/The main simulator parts as libraries. The simulator consists of these parts:
./lib/salt/This library provides a collection of useful general purpose classes. It contains mostly math-and system-related functionality, such as a 3D Vector class, a Matrix class, a file I/O wrapper and an abstraction for loading/accessing shared libraries.
./lib/zeitgeist/The Zeitgeist library provides two major features. It implements a mechanism to work with class objects in C++. A class object is just a factory of class instances. In addition to this mechanism, it also implements an object hierarchy. This hierarchy is essentially a virtual file system, where the 'directories' and 'files' are instances of C++ classes. These two concepts are quite intertwined with each other, as class objects can also live inside the object hierarchy. Objects within the hierarchy are identified with a unique name. On top of these two features, the Zeitgeist library also provides three very important 'built-in' services. Each basic service is usually represented by a 'server' class in our terminology. An instance of such a class provides the service to other parts of the system. The three services built into the Zeitgeist library are the LogServer, the FileServer, and the ScriptServer.
./lib/oxygen/Oxygen is the actual engine which is used for the simulation. It is implemented on top of the Zeitgeist framework and provides a multitude of different services to a client application. It handles the physics aspect (PhysicsServer), the geometry aspect (PhysicsServer) and the agent aspect (AgentAspect, ControlAspect). Another important part of this library is performing the world simulation (SceneServer).
./lib/kerosin/Kerosin handles the visualization aspect (ImageServer, FontServer, OpenGLServer, TextureServer, MaterialServer). The classes in the library also provide basic interfaces for receiving input in interactive simulations (InputServer) and for playing sounds (SoundServer). Currently, it is not used for the simulator.
./plugins/directory containing plugins to extend the simulator
發佈了17 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章