Kerbal Space Program  1.12.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
OcclusionCone Class Reference

Public Member Functions

double GetShockRadius (double dot)
 gets the radius of a shock cone at the given height More...
 
void Setup (OcclusionData part, double sqrtMach, double sqrtMachAngle, double detachAngle)
 Constructs an OcclusionCone for a part, based off aero data More...
 

Public Attributes

Vector3 center
 
double cylNoseDot
 the displacement along the velocity vector where the cylinder starts More...
 
Vector2 extents
 
double occludeConvectionAreaMult
 multiplier to area for parts inside the cylinder More...
 
double occludeConvectionCoeffMult
 ditto to convective coefficient for ditto More...
 
double occludeConvectionTempMult
 multiplier for shock temp to parts inside the cylinder More...
 
Vector2 offset
 
OcclusionData part
 
double radius
 
double shockAngle
 the halfangle of the shock cone More...
 
double shockConvectionCoeffMult
 ditto to convective coefficient for ditto More...
 
double shockConvectionTempMult
 multiplier to shock temp for parts inside the cone More...
 
double shockNoseDot
 the displacement along the velocity vector where the shock cone starts More...
 

Static Public Attributes

static double detachedBehindShockCoeffMult = 1d
 as above More...
 
static double detachedBehindShockHeatMult = 0.4d
 bow shocks mean less heat - this is for parts behind the shock More...
 
static double detachedShockCoeffMult = 1d
 or we can do it by coeff. FIXME switch to this when there's time to balance. More...
 
static double detachedShockEndAngle = Math.PI * 0.36d
 ditto More...
 
static double detachedShockHeatMult = 0.5d
 bow shocks mean less heat - this is for the part that creates the shock. FIXME this is WRONG. Should be coeff mult not temp mult. More...
 
static double detachedShockMachAngleMult = 0.05d
 tuning for the angle of bow shocks More...
 
static double detachedShockStartAngle = Math.PI * 0.49d
 ditto More...
 
static double obliqueShockAngleMult = 0.8d
 tuning for angle of oblique shocks More...
 
static double obliqueShockConeCoeffMult = 1d
 coeff mult. See detached, above, for FIXME notes. More...
 
static double obliqueShockConeHeatMult = 0.75d
 heat multiplier for being inside an oblique shock cone. FIXME More...
 
static double obliqueShockCylCoeffMult = 1d
 coeff mult. See above. More...
 
static double obliqueShockCylHeatMult = 0.55d
 inside the direct shadow More...
 
static double obliqueShockMinAngleMult = 1.05d
 ditto More...
 
static double obliqueShockPartAngleMult = 0.25d
 ditto More...
 

Member Function Documentation

double OcclusionCone.GetShockRadius ( double  dot)
inline

gets the radius of a shock cone at the given height

Parameters
dotheight in meters
Returns
void OcclusionCone.Setup ( OcclusionData  part,
double  sqrtMach,
double  sqrtMachAngle,
double  detachAngle 
)
inline

Constructs an OcclusionCone for a part, based off aero data

Parameters
partthe OcclusionPart (wrapper for part)
currentConvMultthe current mult (we could already be inside cone(s) )
machcurrent mach
machAnglemaximum wedge angle before shock detaches
sqrtMachsqrt of mach
sqrtMachAnglesqrt of mach angle

< position where the cylinder starts

< get the taper angle of the part

< don't have to check partHalfAngle for NaN since it's not used in

< detach the shockwave

< stuff in the shadow of this part get 0 heat

< funny stuff to compute a decent shock angle

< we don't occlude area, just lower temperature

Member Data Documentation

Vector3 OcclusionCone.center
double OcclusionCone.cylNoseDot

the displacement along the velocity vector where the cylinder starts

double OcclusionCone.detachedBehindShockCoeffMult = 1d
static

as above

double OcclusionCone.detachedBehindShockHeatMult = 0.4d
static

bow shocks mean less heat - this is for parts behind the shock

double OcclusionCone.detachedShockCoeffMult = 1d
static

or we can do it by coeff. FIXME switch to this when there's time to balance.

double OcclusionCone.detachedShockEndAngle = Math.PI * 0.36d
static

ditto

double OcclusionCone.detachedShockHeatMult = 0.5d
static

bow shocks mean less heat - this is for the part that creates the shock. FIXME this is WRONG. Should be coeff mult not temp mult.

double OcclusionCone.detachedShockMachAngleMult = 0.05d
static

tuning for the angle of bow shocks

double OcclusionCone.detachedShockStartAngle = Math.PI * 0.49d
static

ditto

Vector2 OcclusionCone.extents
double OcclusionCone.obliqueShockAngleMult = 0.8d
static

tuning for angle of oblique shocks

double OcclusionCone.obliqueShockConeCoeffMult = 1d
static

coeff mult. See detached, above, for FIXME notes.

double OcclusionCone.obliqueShockConeHeatMult = 0.75d
static

heat multiplier for being inside an oblique shock cone. FIXME

double OcclusionCone.obliqueShockCylCoeffMult = 1d
static

coeff mult. See above.

double OcclusionCone.obliqueShockCylHeatMult = 0.55d
static

inside the direct shadow

double OcclusionCone.obliqueShockMinAngleMult = 1.05d
static

ditto

double OcclusionCone.obliqueShockPartAngleMult = 0.25d
static

ditto

double OcclusionCone.occludeConvectionAreaMult

multiplier to area for parts inside the cylinder

double OcclusionCone.occludeConvectionCoeffMult

ditto to convective coefficient for ditto

double OcclusionCone.occludeConvectionTempMult

multiplier for shock temp to parts inside the cylinder

Vector2 OcclusionCone.offset
OcclusionData OcclusionCone.part
double OcclusionCone.radius
double OcclusionCone.shockAngle

the halfangle of the shock cone

double OcclusionCone.shockConvectionCoeffMult

ditto to convective coefficient for ditto

double OcclusionCone.shockConvectionTempMult

multiplier to shock temp for parts inside the cone

double OcclusionCone.shockNoseDot

the displacement along the velocity vector where the shock cone starts


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