FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
radar::Platform Class Reference

Represents a simulation platform with motion and rotation paths. More...

#include "platform.h"

Public Member Functions

 Platform (std::string name) noexcept
 Constructs a Platform with the specified name.
 
 Platform (const Platform &)=delete
 
Platformoperator= (const Platform &)=delete
 
 ~Platform ()=default
 
 Platform (Platform &&)=default
 
Platformoperator= (Platform &&)=default
 
math::PathgetMotionPath () const noexcept
 Gets the motion path of the platform.
 
math::RotationPathgetRotationPath () const noexcept
 Gets the rotation path of the platform.
 
math::Vec3 getPosition (const RealType time) const
 Gets the position of the platform at a specific time.
 
math::SVec3 getRotation (const RealType time) const
 Gets the rotation of the platform at a specific time.
 
const std::string & getName () const noexcept
 Gets the name of the platform.
 
void setRotationPath (std::unique_ptr< math::RotationPath > path) noexcept
 Sets the rotation path of the platform.
 
void setMotionPath (std::unique_ptr< math::Path > path) noexcept
 Sets the motion path of the platform.
 

Detailed Description

Represents a simulation platform with motion and rotation paths.

Definition at line 30 of file platform.h.

Constructor & Destructor Documentation

◆ Platform() [1/3]

radar::Platform::Platform ( std::string  name)
explicitnoexcept

Constructs a Platform with the specified name.

Parameters
nameThe name of the platform.

Definition at line 38 of file platform.h.

38 :
39 _motion_path(std::make_unique<math::Path>()), _rotation_path(std::make_unique<math::RotationPath>()),
40 _name(std::move(name))
41 {
42 }

◆ Platform() [2/3]

radar::Platform::Platform ( const Platform )
delete

◆ ~Platform()

radar::Platform::~Platform ( )
default

◆ Platform() [3/3]

radar::Platform::Platform ( Platform &&  )
default

Member Function Documentation

◆ getMotionPath()

math::Path * radar::Platform::getMotionPath ( ) const
noexcept

Gets the motion path of the platform.

Returns
A pointer to the motion path of the platform.

Definition at line 59 of file platform.h.

59{ return _motion_path.get(); }

Referenced by serial::KmlGenerator::generateKml(), and radar::to_json().

+ Here is the caller graph for this function:

◆ getName()

const std::string & radar::Platform::getName ( ) const
noexcept

Gets the name of the platform.

Returns
A constant reference to the name of the platform.

Definition at line 89 of file platform.h.

89{ return _name; }

Referenced by radar::to_json().

+ Here is the caller graph for this function:

◆ getPosition()

math::Vec3 radar::Platform::getPosition ( const RealType  time) const

Gets the position of the platform at a specific time.

Parameters
timeThe time for which the position is requested.
Returns
A vector representing the position of the platform.

Definition at line 74 of file platform.h.

74{ return _motion_path->getPosition(time); }

Referenced by simulation::calculateDirectPathContribution(), simulation::calculateReflectedPathContribution(), and radar::Object::getPosition().

+ Here is the caller graph for this function:

◆ getRotation()

math::SVec3 radar::Platform::getRotation ( const RealType  time) const

Gets the rotation of the platform at a specific time.

Parameters
timeThe time for which the rotation is requested.
Returns
A vector representing the rotation of the platform.

Definition at line 82 of file platform.h.

82{ return _rotation_path->getPosition(time); }

Referenced by radar::Object::getRotation().

+ Here is the caller graph for this function:

◆ getRotationPath()

math::RotationPath * radar::Platform::getRotationPath ( ) const
noexcept

Gets the rotation path of the platform.

Returns
A pointer to the rotation path of the platform.

Definition at line 66 of file platform.h.

66{ return _rotation_path.get(); }

Referenced by radar::to_json().

+ Here is the caller graph for this function:

◆ operator=() [1/2]

Platform & radar::Platform::operator= ( const Platform )
delete

◆ operator=() [2/2]

Platform & radar::Platform::operator= ( Platform &&  )
default

◆ setMotionPath()

void radar::Platform::setMotionPath ( std::unique_ptr< math::Path path)
noexcept

Sets the motion path of the platform.

Parameters
pathA unique pointer to the new motion path.

Definition at line 103 of file platform.h.

103{ _motion_path = std::move(path); }

◆ setRotationPath()

void radar::Platform::setRotationPath ( std::unique_ptr< math::RotationPath path)
noexcept

Sets the rotation path of the platform.

Parameters
pathA unique pointer to the new rotation path.

Definition at line 96 of file platform.h.

96{ _rotation_path = std::move(path); }

The documentation for this class was generated from the following file: