Kerbal Space Program
1.12.4
|
Public Member Functions | |||||||
void | ActionExtend (KSPActionParam act) | ||||||
void | ActionRetract (KSPActionParam act) | ||||||
void | ActionToggle (KSPActionParam act) | ||||||
void | ActivateAllControls (KSPActionParam act) | ||||||
Turns ON the Pitch, Roll and YAW controls More... | |||||||
void | AssumeDragCubePosition (string name) | ||||||
Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. When called the module should set it's model position/setup to match the expected position/orientation when 'name' drag cube is active. More... | |||||||
void | DeactivateAllControls (KSPActionParam act) | ||||||
Turns OFF the Pitch, Roll and YAW controls More... | |||||||
new void | FixedUpdate () | ||||||
string[] | GetDragCubeNames () | ||||||
Should return an array of strings that are the drag cube names that this module implements. More... | |||||||
override string | GetInfo () | ||||||
Returns formatted string of additional data for use in the VAB and SPH More... | |||||||
override string | GetModuleDisplayName () | ||||||
Override this to provide a Localized version of the PartModules Name for UI components More... | |||||||
Vector3 | GetPotentialLift (bool positiveDeflection) | ||||||
Get the potential lift for extreme control inputs (world space) More... | |||||||
void | GetPotentialTorque (out Vector3 pos, out Vector3 neg) | ||||||
void | LateUpdate () | ||||||
override void | OnAwake () | ||||||
Method fires once the module has been added to the part. Use for first time setup. Module will not have loaded fully by this point More... | |||||||
void | OnDestroy () | ||||||
override void | OnModuleAdjusterRemoved (AdjusterPartModuleBase adjuster) | ||||||
Perform processing specific to this part module when an adjuster is removed. More... | |||||||
override void | OnStart (PartModule.StartState state) | ||||||
void | PitchActive (KSPActionParam act) | ||||||
Turns ON the Pitch controls More... | |||||||
void | PitchInactive (KSPActionParam act) | ||||||
Turns OFF the Pitch controls More... | |||||||
void | RollActive (KSPActionParam act) | ||||||
Turns ON the Roll controls More... | |||||||
void | RollInactive (KSPActionParam act) | ||||||
Turns OFF the Roll controls More... | |||||||
void | TogglePitch (KSPActionParam act) | ||||||
Toggles the Pitch controls More... | |||||||
void | ToggleRoll (KSPActionParam act) | ||||||
Toggles the Roll controls More... | |||||||
void | ToggleYaw (KSPActionParam act) | ||||||
Toggles the YAW controls More... | |||||||
bool | UsesProceduralDragCubes () | ||||||
Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if this module is to use procedural drag cubes and false if it is to generate drag cubes for the drag cube names returned in GetDragCubeNames method. More... | |||||||
void | YawActive (KSPActionParam act) | ||||||
Turns ON the YAW controls More... | |||||||
void | YawInactive (KSPActionParam act) | ||||||
Turns OFF the YAW controls More... | |||||||
Public Member Functions inherited from ModuleLiftingSurface | |||||||
void | FixedUpdate () | ||||||
Vector3 | GetDragVector (Vector3 nVel, float absDot, double Q) | ||||||
Vector3 | GetDragVector (Vector3 nVel, float absDot, double Q, float mach) | ||||||
override string | GetInfo () | ||||||
Returns formatted string of additional data for use in the VAB and SPH More... | |||||||
Vector3 | GetLiftVector (Vector3 liftVector, float liftDot, float absDot, double Q, float mach) | ||||||
override string | GetModuleDisplayName () | ||||||
Override this to provide a Localized version of the PartModules Name for UI components More... | |||||||
override void | OnAwake () | ||||||
Method fires once the module has been added to the part. Use for first time setup. Module will not have loaded fully by this point More... | |||||||
void | OnCenterOfLiftQuery (CenterOfLiftQuery qry) | ||||||
override void | OnModuleAdjusterRemoved (AdjusterPartModuleBase adjuster) | ||||||
Perform processing specific to this part module when an adjuster is removed. More... | |||||||
override void | OnStart (PartModule.StartState state) | ||||||
void | SetupCoefficients (Vector3 pointVelocity, out Vector3 nVel, out Vector3 liftVector, out float liftDot, out float absDot) | ||||||
Public Member Functions inherited from PartModule | |||||||
void | AddPartModuleAdjuster (AdjusterPartModuleBase newAdjuster) | ||||||
Call this to add an adjuster to this part module. More... | |||||||
void | AddPartModuleAdjusterList (List< AdjusterPartModuleBase > moduleAdjusters) | ||||||
Applies the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too. More... | |||||||
bool | AppliedUpgrades () | ||||||
Returns true if upgrades are applied More... | |||||||
void | ApplyAdjustersOnStart () | ||||||
Called when a part module is loaded and applies all of the currently loaded adjusters. More... | |||||||
virtual void | ApplyUpgradeNode (List< string > appliedUps, ConfigNode node, bool doLoad) | ||||||
Applies the upgrades to a confignode. Will either copy the upgrades back to the node or (if doLoad) calls load/onload on it. More... | |||||||
virtual bool | ApplyUpgrades (StartState state) | ||||||
Will find and apply upgrades. Called during Part's ModulesOnStart, before a module's OnStart. More... | |||||||
void | Awake () | ||||||
delegate bool | boolPMApplyUpgrades (PartModule pm, StartState state) | ||||||
delegate bool | boolPMBoolDelegate (PartModule pm, bool apply) | ||||||
void | ClearPersistentId () | ||||||
Clear the modules persistentId More... | |||||||
void | Copy (PartModule fromModule) | ||||||
virtual void | DemoteToPhysicslessPart () | ||||||
This method will be called from Part class DemoteToPhysicslessPart when the part is being converted from physical to physicsless part. It is called before the joints and rigidbodies are destroyed. More... | |||||||
virtual bool | FindUpgrades (bool fillApplied, ConfigNode node=null) | ||||||
Find applicable upgrades to the partmodule (isunlocked and isenabled) and add to the upgradesApplied list. Pass true if you want to add the upgrades to upgradesApplied, false if you just want to know if at least one upgrade is applicable (unlocked rather than enabled) More... | |||||||
virtual Color | GetCurrentColor () | ||||||
Returns the current part module color. More... | |||||||
virtual Color | GetCurrentColor (string fieldName) | ||||||
Returns the current part module color for a field where usespe. More... | |||||||
uint | GetPersistenActiontId () | ||||||
Get the modules persistentID, and create one if it doesnt already have one More... | |||||||
uint | GetPersistentId () | ||||||
Get the modules persistentID, and create one if it doesnt already have one More... | |||||||
virtual string | GetStagingDisableText () | ||||||
virtual string | GetStagingEnableText () | ||||||
virtual string | GetUpgradeInfo () | ||||||
Called by Upgrade Stats dialog More... | |||||||
bool | HasUpgrades () | ||||||
Returns true if upgrades exist for the partmodule More... | |||||||
virtual bool | IsStageable () | ||||||
Should this module be counted when seeing whether to have a stack icon present? Override in a module for custom behavior; otherwise returns true if the module (or something the module inherits from above PartModule itself) overrides OnActive() More... | |||||||
bool | IsValidContractObjective (string objectiveType) | ||||||
Returns if, for example, an antenna part module qualifies as an antenna for contracts. More... | |||||||
void | Load (ConfigNode node) | ||||||
virtual void | LoadUpgrades (ConfigNode node) | ||||||
Loads module-relevant upgrades from the partmodule confignode More... | |||||||
uint | NewPersistentId () | ||||||
Reset the modules persistentId to a new number More... | |||||||
virtual void | OnActive () | ||||||
Called when the part is set active (after unpacking etc) More... | |||||||
virtual void | OnColorChanged (Color color) | ||||||
Meant to be overwritten by part modules implementing color changes. In this case, it doesn't matter which color picker changed specifically. More... | |||||||
virtual void | OnColorChanged (Color color, string pickerID="") | ||||||
Meant to be overwritten by part modules implementing color changes More... | |||||||
virtual void | OnConstructionModeFixedUpdate () | ||||||
This method will be called when in EVA Construction mode and this part and itself is disabled (when it is not attached to a vessel) every FixedUpdate(). More... | |||||||
virtual void | OnConstructionModeUpdate () | ||||||
This method will be called when in EVA Construction mode and this part and itself is disabled (when it is not attached to a vessel) every Update(). More... | |||||||
virtual void | OnCopy (PartModule fromModule) | ||||||
Use OnCopy to copy any additional data from the PartModule provided More... | |||||||
virtual void | OnFixedUpdate () | ||||||
Called every physics/fixed frame that the part is active More... | |||||||
virtual void | OnIconCreate () | ||||||
Method fires just before components are stripped from the gameobject to make it an icon. (The part is instantiated and then various components like Part, PartModule, EffectBehaviour, Colliders, Particles, etc are stripped and then it's set as the icon prefab. This lets PartModules do stuff to the model right before that happens. More... | |||||||
virtual void | OnInactive () | ||||||
Called before the part goes inactive (after packing etc) More... | |||||||
virtual void | OnInitialize () | ||||||
Called on all modules after all parts are loaded but before they give the ship to the game More... | |||||||
virtual void | OnInventoryModeDisable () | ||||||
This method will be called when this modules part and itself is first disabled (when it is not attached to a vessel) when created in Inventory/Construction mode. More... | |||||||
virtual void | OnInventoryModeEnable () | ||||||
This method will be called when this modules part and itself is first enabled (when it is attached to a vessel) when created in Inventory/Construction mode. More... | |||||||
virtual void | OnLoad (ConfigNode node) | ||||||
Use OnLoad to load any additional data from the ConfigNode provided More... | |||||||
void | OnModuleAdjusterAddedWrapper (AdjusterPartModuleBase adjuster) | ||||||
Wrapper to check the mission expansion availability before performing processing specific to this part module when an adjuster is added. More... | |||||||
virtual void | OnPartCreatedFomInventory (ModuleInventoryPart moduleInventoryPart) | ||||||
This method is called when a part is being taken out from a slot while being in EVAConstruction mode. More... | |||||||
virtual void | OnSave (ConfigNode node) | ||||||
Use OnSave to serialize additional module information into the ConfigNode provided More... | |||||||
virtual void | OnStart (StartState state) | ||||||
Called when the part starts. The StartState gives an indication of where in flight you are. All values may not be plugged in! More... | |||||||
virtual void | OnStartBeforePartAttachJoint (StartState state) | ||||||
Called in flight scene in Part.Start just before the Part attachnode joints are created. More... | |||||||
virtual void | OnStartFinished (StartState state) | ||||||
Called when the part finishes starting. The StartState gives an indication of where in flight you are. All values may not be plugged in! More... | |||||||
virtual void | OnStoredInInventory (ModuleInventoryPart moduleInventoryPart) | ||||||
Called when the part is stored in an inventory. More... | |||||||
virtual void | OnUpdate () | ||||||
Called every frame that the part is active More... | |||||||
virtual void | OnWasCopied (PartModule copyPartModule, bool asSymCounterpart) | ||||||
Called when the PartModule was copied, through Alt+Copy or symmetry More... | |||||||
virtual void | OnWillBeCopied (bool asSymCounterpart) | ||||||
Called when the PartModule is about to be copied, through Alt+Copy or symmetry More... | |||||||
virtual bool | OnWillBeMirrored (ref Quaternion rotation, AttachNode selPartNode, Part partParent) | ||||||
This is called in the Editor scene when a symmetry copy of a part is being positioned. Only called on the symmetry parts and only when symmetry mode is set to Mirror. It allows the mirror rotation to be changed and returned before being applied to the symmetry copy part.
| |||||||
virtual List< Color > | PresetColors () | ||||||
Preset colors received for any part module. By default, returns only black, override to make your own selection. More... | |||||||
virtual string | PrintUpgrades () | ||||||
virtual void | PromoteToPhysicalPart () | ||||||
This method will be called from Part class PromoteToPhysicalPart when the part is being converted from physicsless to physical part. More... | |||||||
void | RemovePartModuleAdjuster (AdjusterPartModuleBase oldAdjuster) | ||||||
Call this to remove an adjuster from this part module. More... | |||||||
void | RemovePartModuleAdjusterList (List< AdjusterPartModuleBase > moduleAdjusters) | ||||||
Removes the appropriate module adjusters. Performs checks to make sure that the adjusters are valid too. More... | |||||||
void | Save (ConfigNode node) | ||||||
virtual void | SetStaging (bool newValue) | ||||||
Run by the part's staging toggle handler, sets staging on modules on symmetry counterparts. More... | |||||||
void | SetStagingState (bool newState) | ||||||
Set the staging enabled bool for this module. More... | |||||||
virtual bool | StagingEnabled () | ||||||
Gets current staging status (is staging enabled for this module) Override me! More... | |||||||
virtual bool | StagingToggleEnabledEditor () | ||||||
virtual bool | StagingToggleEnabledFlight () | ||||||
void | ToggleStaging () | ||||||
virtual void | UpdateStagingToggle () | ||||||
Updates the staging toggle More... | |||||||
delegate void | voidPMApplyNodeDelegate (PartModule pm, List< string > appliedUps, ConfigNode node, bool doLoad) | ||||||
delegate void | voidPMDelegate (PartModule pm) | ||||||
delegate void | voidPMNodeDelegate (PartModule pm, ConfigNode node) | ||||||
Public Attributes | |
float | actuatorSpeed = 25f |
float | actuatorSpeedNormScale = 25f |
scale to normalize actuator speed when using Lerp More... | |
float | airSpeed |
bool | alwaysRecomputeLift = false |
if true, the == neutral check when recomputing lift is ignored. More... | |
float | angleOfAttack |
float | authorityLimiter = 100.0f |
Delta angle range (after multiplication by ctrlSurfaceRange) for control inputs (added to deploy angle when control surface is deployed). More... | |
float | authorityLimiterUI = 100.0f |
Show authority limit in degrees More... | |
float | ctrlSurfaceArea = 0.5f |
float | ctrlSurfaceRange = 15f |
bool | deploy = false |
float | deployAngle = float.NaN |
Vector2 | deployAngleLimits = new Vector2(float.NaN, float.NaN) |
Min and max values for deployAngle. Defaults to +/- 1.5*ctrlSurfaceRange. More... | |
bool | deployInvert = false |
float | forwardLift |
bool | ignorePitch = false |
bool | ignoreRoll = false |
bool | ignoreYaw = false |
bool | mirrorDeploy = false |
bool | partDeployInvert = false |
string | PitchCtrlState = "n/a" |
string | RollCtrlState = "n/a" |
string | transformName = "obj_ctrlSrf" |
bool | useExponentialSpeed = false |
false == use MoveTowards, true == use Lerp ... for surface movement type More... | |
bool | usesMirrorDeploy = false |
float | verticalLift |
string | YawCtrlState = "n/a" |
Public Attributes inherited from ModuleLiftingSurface | |
string | attachNodeName = string.Empty |
The attachNodeNode that must be attached if nodeEnabled is true. More... | |
ArrowPointer | axisArrow = null |
Rotation axis indicator for rotary wings. More... | |
float | deflectionLiftCoeff = 1.5f |
Lift coefficient that scales the lift provided. - wing area. More... | |
bool | disableBodyLift = true |
bool | displaceVelocity = false |
Set to true will displace the Velocity calculation as part of lift coefficient calc from the part transform by velocityOffset. If false - uses part.transform More... | |
bool | displayAxisArrow |
Rotation axis indicator control for rotary wings. More... | |
ArrowPointer | dragArrow = null |
FloatCurve | dragCurve = new FloatCurve() |
Vector3 | dragForce = Vector3.zero |
FloatCurve | dragMachCurve = new FloatCurve() |
Aero Viz. More... | |
float | dragScalar = 0f |
in kN More... | |
ArrowPointer | liftArrow = null |
FloatCurve | liftCurve = new FloatCurve() |
float | liftDot = 0f |
Vector3 | liftForce = Vector3.zero |
string | liftingSurfaceCurve = "Default" |
Lift. More... | |
FloatCurve | liftMachCurve = new FloatCurve() |
Drag. More... | |
float | liftScalar = 0f |
in kN More... | |
bool | nodeEnabled = false |
If True the attachNodeNode must be attached to provide lift and drag forces. More... | |
bool | omnidirectional = true |
bool | perpendicularOnly = false |
Vector3 | rotationAxisDirection |
Direction of rotation axis for rotary wings. More... | |
Vector3 | rotationAxisPosition |
Position of rotation axis for rotary wings. More... | |
TransformDir | transformDir = TransformDir.Z |
The Part Transform Direction that Lift is provided in. More... | |
string | transformName = string.Empty |
The Transform that provide the lift. More... | |
float | transformSign = 1f |
1 = Positive transformDir, -1 = Negative transformDir More... | |
bool | useInternalDragModel = true |
ArrowPointer | velocityArrow = null |
Vector3 | velocityOffset = Vector3.zero |
The offset to apply from part.transform in lift coefficient calc if displaceVelocity is true. More... | |
Public Attributes inherited from PartModule | |
bool | isEnabled = true |
bool | moduleIsEnabled = true |
string | moduleName |
bool | overrideStagingIconIfBlank = true |
ModuleResourceHandler | resHandler = new ModuleResourceHandler() |
bool | showUpgradesInModuleInfo = false |
ProtoPartModuleSnapshot | snapshot |
string | stagingDisableText = "" |
bool | stagingEnabled = true |
string | stagingEnableText = "" |
bool | stagingToggleEnabledEditor = false |
bool | stagingToggleEnabledFlight = false |
List< ConfigNode > | upgrades |
List< string > | upgradesApplied = new List<string>() |
bool | upgradesApply = true |
bool | upgradesAsk = true |
Protected Member Functions | |
float | ApplyActuatorSpeedAdjustments (float actuatorSpeed) |
virtual void | CtrlSurfaceEditorUpdate (Vector3 CoM) |
virtual void | CtrlSurfaceUpdate (Vector3 vel) |
Determine how a control surface should deflect to provide the required vessel torque to reflect the control inputs. More... | |
virtual void | FixedCtrlSurfaceUpdate (Vector3 vel) |
Regular fixed-wing control surface attitude control. More... | |
void | ModifyAuthorityLimiter (object field) |
void | ModifyAuthorityLimiterUI (object field) |
override void | OnModuleAdjusterAdded (AdjusterPartModuleBase adjuster) |
Perform processing specific to this part module when an adjuster is added. More... | |
virtual void | RotatingCtrlSurfaceUpdate (Vector3 vel) |
Determine how vessel control inputs should affect a rotating (relative to the vessel) control surface. More... | |
Protected Member Functions inherited from ModuleLiftingSurface | |
Vector3 | ApplyLiftForceAdjustments (Vector3 liftForce) |
override void | OnModuleAdjusterAdded (AdjusterPartModuleBase adjuster) |
Perform processing specific to this part module when an adjuster is added. More... | |
void | UpdateAeroDisplay (Color LineColor) |
Protected Member Functions inherited from PartModule | |
ConfigNode | GetUpgrade (string name) |
virtual void | LoadUpgradesApplied (List< string > applieds, ConfigNode node) |
Load the applied upgrade names More... | |
virtual void | SaveUpgradesApplied (ConfigNode node) |
Save the applied upgrades. More... | |
IEnumerator | UpgradeWaitForScenarioModules () |
Protected Attributes | |
float | action |
List< AdjusterControlSurfaceBase > | adjusterCache = new List<AdjusterControlSurfaceBase>() |
Quaternion | airflowIncidence |
Vector3 | baseLiftForce = Vector3.zero |
double | bladeUpdateInterval = 1d |
Transform | ctrlSurface |
float | deflection |
float | deflectionDirection = 1 |
Vector3 | inputVector |
Quaternion | neutral |
bool | partActionWindowOpen = false |
Vector3 | potentialBladeControlTorque |
The control torque the blade can provide before calculating actual lift (scale by lift to get actual torque) More... | |
Rigidbody | referenceRigidBody |
Rigid body associated with the vessel's control reference, use for determining vessel-relative motion of the control surface. More... | |
float | roll |
Vector3 | rotatingControlInput |
Laggy control input offset for rotating blades More... | |
BaseField | verticalLiftField |
Vector3 | vesselBladeLiftReference |
The vessel-relative blade rotation axis (and speed) but such that it is in the same direction as blade lift More... | |
Protected Attributes inherited from ModuleLiftingSurface | |
float | absDot |
AttachNode | attachNode |
Transform | baseTransform |
added for consistency with ModuleControlSurface, can be removed and replaced with "transform" More... | |
BaseField | liftField |
Vector3 | nVel |
Vector3 | pointVelocity |
double | Qlift |
Properties | |
float | currentDeployAngle [get, set] |
The current deflection due to being deployed, does not include control deflection More... | |
bool | IsMultipleCubesActive [get] |
Properties inherited from ModuleLiftingSurface | |
bool | DisableBodyLift [get] |
bool | IsLifting [get] |
Properties inherited from PartModule | |
BaseActionList | Actions [get] |
int | ClassID [get] |
string | ClassName [get] |
List< AdjusterPartModuleBase > | CurrentModuleAdjusterList [get] |
List of all the module adjusters that are currently active on this part module. More... | |
BaseEventList | Events [get] |
BaseFieldList | Fields [get] |
string | GUIName [get] |
bool | HasAdjusters [get] |
Has this part module been adjusted? More... | |
ReflectedAttributes | ModuleAttributes [get, set] |
Part | part [get, set] |
uint | PersistentActionsId [get, set] |
A unique identifier for each vessel including from when it was Shipconstruct More... | |
uint | PersistentId [get] |
A unique identifier for each vessel including from when it was Shipconstruct More... | |
Vessel | vessel [get] |
Properties inherited from ILiftProvider | |
bool | DisableBodyLift [get] |
bool | IsLifting [get] |
Properties inherited from IMultipleDragCube | |
bool | IsMultipleCubesActive [get] |
Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if multiple drag cubes are expected to be generated for the part this module is a part of or false if not. More... | |
Additional Inherited Members | |
Public Types inherited from ModuleLiftingSurface | |
enum | TransformDir { TransformDir.X, TransformDir.Y, TransformDir.Z } |
Public Types inherited from PartModule | |
enum | PartUpgradeState { PartUpgradeState.NONE, PartUpgradeState.LOCKED, PartUpgradeState.AVAILABLE } |
enum | StartState { StartState.None = 0, StartState.Editor = 1, StartState.PreLaunch = 2, StartState.Landed = 4, StartState.Docked = 8, StartState.Flying = 16, StartState.Splashed = 32, StartState.SubOrbital = 64, StartState.Orbital = 128 } |
Static Public Member Functions inherited from PartModule | |
static ReflectedAttributes | GetReflectedAttributes (Type partModuleType) |
static PartUpgradeState | UpgradesAvailable (Part part) |
Returns true if at least one module on the part has at least one upgrade available (isUnlocked) More... | |
static PartUpgradeState | UpgradesAvailable (Part part, ConfigNode node) |
Returns true if at least one module on the part has at least one upgrade available (isUnlocked) More... | |
Static Public Attributes inherited from PartModule | |
static voidPMApplyNodeDelegate | ApplyUpgradeNodeDel |
static boolPMApplyUpgrades | ApplyUpgradesDel |
static bool | ApplyUpgradesEditorAuto = true |
static boolPMBoolDelegate | FindUpgradesDel |
static voidPMNodeDelegate | LoadExpansionNodes |
Hook for loading extra nodes common to all part modules. More... | |
static voidPMNodeDelegate | LoadUpgradesDel |
static voidPMNodeDelegate | SaveExpansionNodes |
Hook for saving extra nodes common to all part modules. More... | |
static voidPMDelegate | SetupExpansion |
Hook for performing extra setup common to all part modules. More... | |
static string | UpgradesAvailableString = "#autoLOC_6002273" |
static string | UpgradesLockedString = "#autoLOC_6002274" |
Static Protected Attributes inherited from PartModule | |
static Dictionary< string, ConfigNode > | exclusives = new Dictionary<string, ConfigNode>() |
static Dictionary< Type, ReflectedAttributes > | reflectedAttributeCache = new Dictionary<Type, ReflectedAttributes>() |
|
inline |
|
inline |
|
inline |
|
inline |
Turns ON the Pitch, Roll and YAW controls
|
inlineprotected |
|
inline |
Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. When called the module should set it's model position/setup to match the expected position/orientation when 'name' drag cube is active.
name | The name of the drag cube to assume the position/setup for. |
Implements IMultipleDragCube.
|
inlineprotectedvirtual |
< Do the actual moving of the actual model transform
Reimplemented in ModuleAeroSurface.
|
inlineprotectedvirtual |
Determine how a control surface should deflect to provide the required vessel torque to reflect the control inputs.
Reimplemented in ModuleAeroSurface.
|
inline |
Turns OFF the Pitch, Roll and YAW controls
|
inlineprotectedvirtual |
Regular fixed-wing control surface attitude control.
< Figure out how the control surface should respond
< Do the actual moving of the actual model transform
|
inline |
< sidestep a potential div by zero
< Now get the force for the wing portion of the control surface part.
< if drag enabled, get and add drag from wing portion
< Calculate the new AoA after adjusting for deflected control surfaces
< get the absolute dot (for AoA checking)
< add the summed force
< if drag enabled, get drag from surface portion and add drag to part
< Yes I'm aware this position may not be correct due to rotation, but eh.
< How much of the ctrlSurfaceRange we are deflecting by
|
inline |
Should return an array of strings that are the drag cube names that this module implements.
Implements IMultipleDragCube.
|
inlinevirtual |
Returns formatted string of additional data for use in the VAB and SPH
Reimplemented from PartModule.
|
inlinevirtual |
Override this to provide a Localized version of the PartModules Name for UI components
Reimplemented from PartModule.
|
inline |
Get the potential lift for extreme control inputs (world space)
|
inline |
Implements ITorqueProvider.
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlinevirtual |
Method fires once the module has been added to the part. Use for first time setup. Module will not have loaded fully by this point
< should be true in instantiated clones
Reimplemented from PartModule.
|
inline |
|
inlineprotectedvirtual |
Perform processing specific to this part module when an adjuster is added.
adjuster | Adjuster which will be applied to part module. |
Reimplemented from PartModule.
|
inlinevirtual |
Perform processing specific to this part module when an adjuster is removed.
adjuster | Adjuster which is being removed from part module. |
Reimplemented from PartModule.
|
inline |
|
inline |
Turns ON the Pitch controls
act |
|
inline |
Turns OFF the Pitch controls
|
inline |
Turns ON the Roll controls
|
inline |
Turns OFF the Roll controls
|
inlineprotectedvirtual |
Determine how vessel control inputs should affect a rotating (relative to the vessel) control surface.
For a set of rotating control surfaces, they can apply torque to the vessel either by differential lift across the axis of rotation, or by acting in unison to apply lift via a lever arm to the vessel's center of mass. For each control axis, the method that provides the greatest torque is chosen automatically. When applying torque via a lever arm to the vessel's center of mass, it is assumed that all sets of rotating blades cancel out precession effects (not a true assumption for a single-rotor helicopter's tail rotor, but control is still done that way). However, when applying torque via differential lift, precession effects need to be taken into consideration and thus the control inputs rotated, unless gyroscopic effects have been canceled. However, this is not easy to detect automatically, so a precession control option is available for control surfaces.
|
inline |
Toggles the Pitch controls
|
inline |
Toggles the Roll controls
|
inline |
Toggles the YAW controls
|
inline |
Used by the DragCubeSystem when it is generating drag cube entries on startup if none are found for this module. Should return true if this module is to use procedural drag cubes and false if it is to generate drag cubes for the drag cube names returned in GetDragCubeNames method.
Implements IMultipleDragCube.
|
inline |
Turns ON the YAW controls
|
inline |
Turns OFF the YAW controls
|
protected |
float ModuleControlSurface.actuatorSpeed = 25f |
float ModuleControlSurface.actuatorSpeedNormScale = 25f |
scale to normalize actuator speed when using Lerp
|
protected |
|
protected |
float ModuleControlSurface.airSpeed |
bool ModuleControlSurface.alwaysRecomputeLift = false |
if true, the == neutral check when recomputing lift is ignored.
float ModuleControlSurface.angleOfAttack |
float ModuleControlSurface.authorityLimiter = 100.0f |
Delta angle range (after multiplication by ctrlSurfaceRange) for control inputs (added to deploy angle when control surface is deployed).
float ModuleControlSurface.authorityLimiterUI = 100.0f |
Show authority limit in degrees
|
protected |
|
protected |
|
protected |
float ModuleControlSurface.ctrlSurfaceArea = 0.5f |
float ModuleControlSurface.ctrlSurfaceRange = 15f |
|
protected |
|
protected |
bool ModuleControlSurface.deploy = false |
float ModuleControlSurface.deployAngle = float.NaN |
Angle to which the control surface will deflect when deployed (acts as base angle for control deflection)
Vector2 ModuleControlSurface.deployAngleLimits = new Vector2(float.NaN, float.NaN) |
Min and max values for deployAngle. Defaults to +/- 1.5*ctrlSurfaceRange.
bool ModuleControlSurface.deployInvert = false |
float ModuleControlSurface.forwardLift |
bool ModuleControlSurface.ignorePitch = false |
bool ModuleControlSurface.ignoreRoll = false |
bool ModuleControlSurface.ignoreYaw = false |
|
protected |
bool ModuleControlSurface.mirrorDeploy = false |
|
protected |
|
protected |
bool ModuleControlSurface.partDeployInvert = false |
string ModuleControlSurface.PitchCtrlState = "n/a" |
|
protected |
The control torque the blade can provide before calculating actual lift (scale by lift to get actual torque)
|
protected |
Rigid body associated with the vessel's control reference, use for determining vessel-relative motion of the control surface.
|
protected |
string ModuleControlSurface.RollCtrlState = "n/a" |
|
protected |
Laggy control input offset for rotating blades
string ModuleControlSurface.transformName = "obj_ctrlSrf" |
bool ModuleControlSurface.useExponentialSpeed = false |
false == use MoveTowards, true == use Lerp ... for surface movement type
bool ModuleControlSurface.usesMirrorDeploy = false |
float ModuleControlSurface.verticalLift |
|
protected |
|
protected |
The vessel-relative blade rotation axis (and speed) but such that it is in the same direction as blade lift
string ModuleControlSurface.YawCtrlState = "n/a" |
|
getset |
The current deflection due to being deployed, does not include control deflection
|
get |