AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxSensor::DipoleMagneticField Class Reference

A magnetic field as produced by a magnetic dipole. More...

#include <DipoleMagneticField.h>

+ Inheritance diagram for agxSensor::DipoleMagneticField:

Public Member Functions

 DipoleMagneticField (const agx::Vec3 &magneticMoment=agx::Vec3(2.69e19, -7.65e22, 1.5e22), const agx::Vec3 &center=agx::Vec3(-1.9e-10, 20.79e3, -6.369e6))
 Constructs a magnetic dipole positioned at the given center and using the specified magneticMoment.
 
virtual agx::Vec3 calculateMagneticField (const agx::Vec3 &position) const override
 Calculates and returns the magnetic field at the given position in world coordinates.
 
const agx::Vec3getCenter () const
 
const agx::Vec3getMagneticMoment () const
 
void setCenter (const agx::Vec3 &center)
 Set the center of the dipole.
 
void setMagneticMoment (const agx::Vec3 &magneticMoment)
 Set the dipole's magnetic moment.
 
- Public Member Functions inherited from agxSensor::MagneticField
 MagneticField ()=default
 Default constructor.
 
virtual agx::Vec3 calculateMagneticField (const agx::Vec3 &position) const =0
 Calculates and returns the magnetic field at the given position in world coordinates.
 
- 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.
 

Additional Inherited Members

- 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.
 
- 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

A magnetic field as produced by a magnetic dipole.

Default magnetic moment and dipole center are set as the relative magnetic moment and dipole center of Earth at the surface near the coordinates of 38.254113 degrees north and 140.875417 degrees east.

Definition at line 29 of file DipoleMagneticField.h.

Constructor & Destructor Documentation

◆ DipoleMagneticField()

agxSensor::DipoleMagneticField::DipoleMagneticField ( const agx::Vec3 magneticMoment = agx::Vec3(2.69e19, -7.65e22, 1.5e22),
const agx::Vec3 center = agx::Vec3(-1.9e-10, 20.79e3, -6.369e6) 
)

Constructs a magnetic dipole positioned at the given center and using the specified magneticMoment.

Parameters
magneticMoment- magnetic dipole moment in world coordinates
center- position of the center of the magnetic dipole in world coordinates

Member Function Documentation

◆ calculateMagneticField()

virtual agx::Vec3 agxSensor::DipoleMagneticField::calculateMagneticField ( const agx::Vec3 position) const
overridevirtual

Calculates and returns the magnetic field at the given position in world coordinates.

Parameters
position- position in world coordinates at which the magnetic field should be determined
Returns
magnetic field vector at the position

Implements agxSensor::MagneticField.

◆ getCenter()

const agx::Vec3 & agxSensor::DipoleMagneticField::getCenter ( ) const
Returns
center position of the magnetic dipole in world coordinates

◆ getMagneticMoment()

const agx::Vec3 & agxSensor::DipoleMagneticField::getMagneticMoment ( ) const
Returns
magnetic moment of the dipole in world coordinates

◆ setCenter()

void agxSensor::DipoleMagneticField::setCenter ( const agx::Vec3 center)

Set the center of the dipole.

Parameters
center- position of the center of the magnetic dipole in world coordinates

◆ setMagneticMoment()

void agxSensor::DipoleMagneticField::setMagneticMoment ( const agx::Vec3 magneticMoment)

Set the dipole's magnetic moment.

Parameters
magneticMoment- magnetic dipole moment in world coordinates

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