IGround

Package: inet.environment.contract

IGround

module interface

Module interface for ground models that define the terrain in physical environment simulations. Provides methods to compute ground projections and normals for any position, which is necessary for accurate modeling of signal propagation and mobility over terrain. Implementations range from simple flat surfaces to terrain models based on real-world elevation data.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

Name Type Description
FlatGround compound module

Models a flat ground surface with a configurable elevation. Provides methods to compute the ground projection of a 3D position by setting its z-coordinate to the elevation value, and to compute the ground normal which is always pointing upward (0,0,1) for a flat surface.

OsgEarthGround compound module

Models a ground surface using OsgEarth's elevation data. Provides methods to compute ground projections and normals based on real-world terrain information. Requires OsgEarth integration to be enabled during compilation and depends on a SceneOsgEarthVisualizer for accessing the map and a coordinate system for geographic conversions.

Used in compound modules

Name Type Description
PhysicalEnvironment compound module

The propagation of communication signals, the movement of communicating agents, or battery exhaustion depends on the surrounding physical environment. For example, signals can be absorbed by objects, can pass through objects, can be refracted by surfaces, can be reflected from surfaces, etc.

Properties

Name Value Description
display i=block/table

Source code

//
// Module interface for ground models that define the terrain in physical
// environment simulations. Provides methods to compute ground projections and
// normals for any position, which is necessary for accurate modeling of signal
// propagation and mobility over terrain. Implementations range from simple flat
// surfaces to terrain models based on real-world elevation data.
//
moduleinterface IGround
{
    parameters:
        @display("i=block/table");
}

File: src/inet/environment/contract/IGround.ned