WSF
P6DofSizeFactor.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef P6DOFSIZEFACTOR_H
13#define P6DOFSIZEFACTOR_H
14
15#include "p6dof_export.h"
16
17// The SizeFactor is used to indicate the physical size of the object relative
18// to its 'nominal' size. For most objects, this is always one (1), but some
19// objects, such as parachutes and balloons, can change size and use values
20// other than 1 during their 'lifetime'. Size factor is a relative area to the
21// initial area to support aerodynamic reference areas. Physical radius is also
22// supported via a secondary parameter.
23class P6DOF_EXPORT P6DofSizeFactor
24{
25public:
27
28 void CalculateSizeFactor(double dT_sec);
29
30 void InitializeValues();
31
32 bool IsEnabled() const { return mSizeFactorEnabled; }
33
34 double GetSizeFactorRadius() const;
35
36 void SetSizeFactorEnabled(bool aEnabled);
37 void SetRefSizeFactorRadius_m(double aValue_m);
38 void SetSizeFactorMin(double aValue);
39 void SetSizeFactorMax(double aValue);
40
41 void SetSizeFactorVolumeRate_m3_perSec(double aVolumeRate_m3_perSec);
42 void SetSizeFactorAreaRate_m2_perSec(double aAreaRate_m2_perSec);
43 void SetSizeFactorRadiusRate_m_perSec(double aRadiusRate_m_perSec);
44
45protected:
50
51 // This is used as the "reference" size (the default is 1m)
55
56 // Max and min size factors (relative to nominal radius)
59
60 // Only one of the three 'rates' below may be specified
61 // If more than use is specified, the last one specified will be used
62 double mSizeFactorVolumeRate_m3_perSec; // Increase size by volume (good for balloons)
63 double mSizeFactorAreaRate_m2_perSec; // Increase size by area (good for parachutes)
64 double mSizeFactorRadiusRate_m_perSec; // Increase size by radius (good for parachutes)
65
72};
73
74#endif
bool mSizeFactorRadiusEnabled
Definition P6DofSizeFactor.hpp:49
double mSizeFactorArea
Definition P6DofSizeFactor.hpp:67
double mSizeFactorAreaRate_m2_perSec
Definition P6DofSizeFactor.hpp:63
bool mSizeFactorAreaEnabled
Definition P6DofSizeFactor.hpp:48
double mSizeFactorMax
Definition P6DofSizeFactor.hpp:58
double mRefSizeFactorRadius_m
Definition P6DofSizeFactor.hpp:52
void InitializeValues()
Definition P6DofSizeFactor.cpp:85
bool mSizeFactorEnabled
Definition P6DofSizeFactor.hpp:46
double mSizeFactorRadius
Definition P6DofSizeFactor.hpp:68
double mSizeFactorRadiusRate_m_perSec
Definition P6DofSizeFactor.hpp:64
double mCurrentSizeFactorArea_m2
Definition P6DofSizeFactor.hpp:70
double mCurrentSizeFactorVolume_m3
Definition P6DofSizeFactor.hpp:71
bool mSizeFactorVolumeEnabled
Definition P6DofSizeFactor.hpp:47
bool IsEnabled() const
Definition P6DofSizeFactor.hpp:32
double mSizeFactorVolumeRate_m3_perSec
Definition P6DofSizeFactor.hpp:62
double mSizeFactorVolume
Definition P6DofSizeFactor.hpp:66
double mCurrentSizeFactorRadius_m
Definition P6DofSizeFactor.hpp:69
double mSizeFactorMin
Definition P6DofSizeFactor.hpp:57
double mRefSizeFactorArea_m2
Definition P6DofSizeFactor.hpp:53
void CalculateSizeFactor(double dT_sec)
Definition P6DofSizeFactor.cpp:38
double mRefSizeFactorVolume_m3
Definition P6DofSizeFactor.hpp:54
P6DofSizeFactor()
Definition P6DofSizeFactor.cpp:16
Copyrights Multiple, All Rights Reserved