#include <WsfSatelliteBreakupModel.hpp>
|
| struct | Fragment |
| | The standard information produced by breakup models for each fragment. More...
|
◆ WsfSatelliteBreakupModel()
| WsfSatelliteBreakupModel::WsfSatelliteBreakupModel |
( |
WsfSimulation & | aSimulation | ) |
|
|
inlineexplicit |
◆ ~WsfSatelliteBreakupModel()
| virtual WsfSatelliteBreakupModel::~WsfSatelliteBreakupModel |
( |
| ) |
|
|
virtualdefault |
◆ CollisionalBreakup()
| bool WsfSatelliteBreakupModel::CollisionalBreakup |
( |
double | aSimTime, |
|
|
const std::string & | aTargetPlatform, |
|
|
const std::vector< double > & | aTargetParams, |
|
|
const std::string & | aImpactorPlatform, |
|
|
const std::vector< double > & | aImpactorParams ) |
Perform a collisional breakup of the given platforms.
This will perform the breakup of the two platforms due to a collision. The arguments, aTargetPlatform and aImpactPlatform, specify the two platforms involved in the collision, though the labeling of one as the 'target' and the other as the 'Impactor' should not be taken to be a requirement on the role of the two platforms. The model parameters for the two platforms are given as aTargetParams and aImpactorParams. If either platform does not exist, or if they are not near to each other when this method is called, then this will do nothing and return false. If the platforms exist, and they are close enough to be in a collision, then this will produce a number of new platforms in the simulation associated with this object when it was constructed. This will also remove the given platforms. If this object has been previously used to model a breakup, then this method will do nothing, and return false.
- Parameters
-
| aSimTime | - the simulation time of the |
| aTargetPlatform | - the name of one platform involved in the collision. |
| aTargetParams | - the model parameters for the target platform. |
| aImpactorPlatform | - the name of the other platform involved in the collision. |
| aImpactorParams | - the model parameters for the impactor platform. |
References WsfSimulation::GetPlatformByName(), GetSimulation(), HasGenerated(), ModelCollision(), and WsfPlatform::Update().
◆ ExplosiveBreakup()
| bool WsfSatelliteBreakupModel::ExplosiveBreakup |
( |
double | aSimTime, |
|
|
const std::string & | aPlatformName, |
|
|
const std::vector< double > & | aParams ) |
Perform an explosive breakup of the given platform.
This will perform the breakup of the platform with the given aPlatformName according to the model represented by this object. If there is no such platform at the time this is called, then this will have no effect. The aParams are any parameters of the platform that are needed by the model. This will generate a number of new platforms in the simulation that this object is associated with during construction. Further, this will remove the named platform from the simulation. If this object has previously been used to successfully model a breakup, then this method will do nothing, and return false.
- Parameters
-
| aSimTime | - the simulation time at which this method is being called. |
| aPlatformName | - the name of the platform experiencing the breakup. |
| aParams | - the parameters associated with the platform needed by the model. |
- Returns
- - true for a successful breakup; false otherwise.
References WsfSimulation::GetPlatformByName(), GetSimulation(), HasGenerated(), ModelExplosion(), and platformPtr.
Referenced by UT_DEFINE_SCRIPT_METHOD().
◆ GetFragment()
| virtual Fragment WsfSatelliteBreakupModel::GetFragment |
( |
size_t | aIndex | ) |
const |
|
pure virtual |
◆ GetFragmentCount()
| virtual size_t WsfSatelliteBreakupModel::GetFragmentCount |
( |
| ) |
const |
|
pure virtual |
◆ GetFragmentPlatformType()
| const std::string & WsfSatelliteBreakupModel::GetFragmentPlatformType |
( |
| ) |
const |
|
inline |
Get the type of the platform for any fragments created by this object.
◆ GetSimulation()
| WsfSimulation & WsfSatelliteBreakupModel::GetSimulation |
( |
| ) |
const |
|
inlineprotected |
◆ HasGenerated()
| bool WsfSatelliteBreakupModel::HasGenerated |
( |
| ) |
const |
|
inline |
◆ ModelCollision()
| virtual bool WsfSatelliteBreakupModel::ModelCollision |
( |
WsfPlatform & | aTargetPlatform, |
|
|
const std::vector< double > & | aTargetParams, |
|
|
WsfPlatform & | aImpactorPlatform, |
|
|
const std::vector< double > & | aImpactorParams ) |
|
protectedpure virtual |
Compute the fragments produced by the collision model.
This method should be implemented by subclasses to actually perform the generation of fragment characteristics. This method is called before AddFragmentsToSimulation. If there is some issue generating the full set of fragments, then this will return false.
- Parameters
-
| aTargetPlatform | - The first platform participating in the collisional breakup. |
| aTargetParams | - The model parameters for the first platform. |
| aImpactorPlatform | - The second platform participating in the collisional breakup. |
| aImpactorParams | - The model parameters for the second platform. |
- Returns
- - true if fragments are successfully generated; false otherwise.
Referenced by CollisionalBreakup().
◆ ModelExplosion()
| virtual bool WsfSatelliteBreakupModel::ModelExplosion |
( |
WsfPlatform & | aPlatform, |
|
|
const std::vector< double > & | aParams ) |
|
protectedpure virtual |
Compute the fragments produced by the explosion model.
This method should be implemented by subclasses to actually perform the generation of fragment characteristics. This method is called before AddFragmentsToSimulation. If there is some issue generating the full set of fragments, then this will return false.
- Parameters
-
| aPlatform | - The platform for which to model an explosive breakup. |
| aParams | - The model parameters for the indicated platform. |
- Returns
- - true if fragments are successfully generated; false otherwise.
Referenced by ExplosiveBreakup().
◆ SetFragmentPlatformType()
| void WsfSatelliteBreakupModel::SetFragmentPlatformType |
( |
const std::string & | aPlatformType | ) |
|
Set the type of the platform for any fragments created by this object.
The documentation for this class was generated from the following files: