AGX Dynamics 2.40.0.0
Loading...
Searching...
No Matches
agxSensor::MagnetometerModel Class Reference

Base magnetometer model describing the fundamental parameters, such as measurement range and zero flux bias, of an magnetometer. More...

#include <MagnetometerModel.h>

+ Inheritance diagram for agxSensor::MagnetometerModel:

Public Member Functions

 MagnetometerModel (TriaxialRange range=agx::RangeReal(std::numeric_limits< agx::Real >::lowest(), std::numeric_limits< agx::Real >::max()), TriaxialCrossSensitivity crossSensitivity=0.01, agx::Vec3 zeroFluxBias=agx::Vec3(0.0), ITriaxialSignalSystemNodeRefVector outputModifiers=ITriaxialSignalSystemNodeRefVector())
 Constructs a magnetometer model with the specified parameters.
 
const TriaxialCrossSensitivitygetCrossAxisSensitivity () const
 
const ITriaxialSignalSystemNodeRefVectorgetOutputModifiers () const
 
const TriaxialRangegetRange () const
 
const agx::Vec3getZeroFluxBias () const
 
void setCrossAxisSensitivity (const TriaxialCrossSensitivity &crossSensitivity)
 Set the magnetometer cross-axis sensitivity.
 
void setRange (const TriaxialRange &range)
 Set the detectable range for the magnetometer.
 
void setZeroFluxBias (const agx::Vec3 &zeroFluxBias)
 Set the bias in magnetic flux density under conditions without externally applied magnetic field.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Static Public Member Functions

static MagnetometerModelmakeIdealModel ()
 Creates a magnetometer model outputting ideal measurement data (ground truth values).
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Additional Inherited Members

- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Base magnetometer model describing the fundamental parameters, such as measurement range and zero flux bias, of an magnetometer.

Note
The configuration in this model is shared and synchronized across all instances.

Definition at line 35 of file MagnetometerModel.h.

Constructor & Destructor Documentation

◆ MagnetometerModel()

agxSensor::MagnetometerModel::MagnetometerModel ( TriaxialRange  range = agx::RangeReal(std::numeric_limits< agx::Real >::lowest(), std::numeric_limits< agx::Real >::max()),
TriaxialCrossSensitivity  crossSensitivity = 0.01,
agx::Vec3  zeroFluxBias = agx::Vec3(0.0),
ITriaxialSignalSystemNodeRefVector  outputModifiers = ITriaxialSignalSystemNodeRefVector() 
)

Constructs a magnetometer model with the specified parameters.

Parameters
range- detectable range of magnetic flux density, in T
crossSensitivity- cross axis sensitivity
zeroFluxBias- bias magnetic flux density reported in each axis under conditions without externally applied field, in T
outputModifiers- list of modifiers to apply to the output of the magnetometer

Member Function Documentation

◆ getCrossAxisSensitivity()

const TriaxialCrossSensitivity & agxSensor::MagnetometerModel::getCrossAxisSensitivity ( ) const
Returns
the cross sensitivity, describing the effects that magnetic flux density along one axis has on every other axis.

◆ getOutputModifiers()

const ITriaxialSignalSystemNodeRefVector & agxSensor::MagnetometerModel::getOutputModifiers ( ) const
Returns
the list of output modifiers to apply to the output

◆ getRange()

const TriaxialRange & agxSensor::MagnetometerModel::getRange ( ) const
Returns
the range of measurable magnetic flux density, in T, that the magnetometer can detect.

◆ getZeroFluxBias()

const agx::Vec3 & agxSensor::MagnetometerModel::getZeroFluxBias ( ) const
Returns
the bias magnetic flux density, in T, reported in each axis under conditions without externally applied magnetic field.

◆ makeIdealModel()

static MagnetometerModel * agxSensor::MagnetometerModel::makeIdealModel ( )
static

Creates a magnetometer model outputting ideal measurement data (ground truth values).

Returns
new ideal magnetometer model

◆ setCrossAxisSensitivity()

void agxSensor::MagnetometerModel::setCrossAxisSensitivity ( const TriaxialCrossSensitivity crossSensitivity)

Set the magnetometer cross-axis sensitivity.

Parameters
crossSensitivity- cross axis sensitivity

◆ setRange()

void agxSensor::MagnetometerModel::setRange ( const TriaxialRange range)

Set the detectable range for the magnetometer.

Parameters
range- detectable range of magnetic flux density, in T

◆ setZeroFluxBias()

void agxSensor::MagnetometerModel::setZeroFluxBias ( const agx::Vec3 zeroFluxBias)

Set the bias in magnetic flux density under conditions without externally applied magnetic field.

Parameters
zeroFluxBias- bias magnetic flux density reported in each axis under conditions without externally applied field, in T

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