Simulation Core | Classes in this group, such as cSimpleModule or cMessage, are essential to writing OMNeT++ simulation models |
Simulation Support | Classes and other items in this group are important part of the simulation kernel, but they are not of primary interest to simulation model authors |
Container Classes | OMNeT++ provides container classes that are aware of the simulation kernel's ownership mechanism, and also make contents inspectable in runtime GUIs like Qtenv or Tkenv |
Simulation Time | The simulation kernel and models use simtime_t to represent simulation time. simtime_t is an alias to the SimTime class that is 64-bit fixed-point representation with a globally shared exponent. This group describes simtime_t, SimTime, and related types and macros |
▼Random Number Generation | |
Continuous Distributions | Random variate generators for continuous distributions |
Discrete Distributions | Random variate generators for discrete distributions |
Statistical Result Collection | The primary way of recording statistics from simulations is by means of signals and declared statistics, i.e. using @statistic properties in NED files. However, the simulation library also provides some classes in case programmatic result collection is needed |
Canvas (2D Graphics) | OMNeT++ provides a 2D figure-based drawing API. The central classes are cFigure and cCanvas |
OSG (3D Graphics) | OMNeT++ provides support for 3D visualization of simulation scenes, with the help of the OpenSceneGraph and osgEarth libraries. Assemble an OSG scene and give it to a cOsgCanvas for visualization |
FSM Support | Macros and classes for writing Finite State Machines. An FSM is defined with the FSM_Switch() macro |
Signals | Simulation signals (or just signals) provide a way of publish-subscribe communication for models. Signals are represented by the type simsignal_t, are emitted on a module or channel using cComponent::emit(), and propagate up in the module tree. At any level, one may add listeners (cIListener) with cComponent::subscribe() |
Utility Classes | This group is a collection of classes and functions that make it easier to write simulation models |
Logging | OMNeT++ provides a logging mechanism for models, with support for log levels, filtering, a configurable log prefix, and more |
WATCH Macros | WATCH macros make normal variables show up in Tkenv/Qtenv inspectors |
Registration Macros | Macros for registering various classes, functions and other extension items with the simulation kernel. Registration is necessary for allowing instantiation by class name and attaching meta-information |
Extension Points | Classes in this group provide a plugin mechanism that can be used to customize the functionality of the simulation kernel or the Envir user interface library |
Internal Classes | The classes described here are used internally by the simulation kernel. They are normally of very little interest to the simulation programmer. Note that although these internal classes do have a documented API, they may change more often than other classes, simply because they are not used in simulation models and thus backwards compatibility is less important |
Parallel Simulation Extension | Classes in this group belong to the parallel simulation feature. For more information, please see the separate Parallel Simulation API which is generated from the source files in src/sim/parsim directory |