Aerodynamic Objects Core 2.0.0
Loading...
Searching...
No Matches
AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel Class Reference

Uses the point of intersection between the fluid and this game object's collider - provided by Unity's physics. More...

Inheritance diagram for AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel:
AerodynamicObjects.Aerodynamics.IAerodynamicModel

Public Member Functions

AerodynamicLoad GetAerodynamicLoad (AeroObject ao)
 Compute the aerodynamic load acting on the aerodynamic object. More...
 
void UpdateDimensionValues (AeroObject ao)
 Calculate and store any values which only depend on the object's dimensions. More...
 
AerodynamicLoad GetAerodynamicLoad (AeroObject ao)
 Compute the aerodynamic load acting on the aerodynamic object. More...
 
void UpdateDimensionValues (AeroObject ao)
 Calculate and store any values which only depend on the object's dimensions. More...
 

Public Attributes

Rigidbody rb
 
bool inFluid = false
 
bool initialised = false
 
bool inBounds
 
Vector3 scaleToSphere
 
Vector3 scaleFromSphere
 
float sphereRadius
 
float capHeight
 
float distanceFromSphereCentre
 
float remainderVolumeRate
 
float capVolumeRate
 
float ellipsoidDimensionProduct
 
float sphereDiameter3
 
float sphereDiameter
 
Vector3 worldPointOfIntersection
 
Vector3 objectPointOfIntersection
 
Vector3 sphericalPointOfIntersection
 
float collisionPenetration
 
Vector3 worldCollisionNormal
 
Vector3 objectCollisionNormal
 
Collider thisCollider
 
float fluidZoneDensity
 
float capVolume
 
float previousCapVolume
 
float remainderVolume
 
float previousRemainderVolume
 
Vector3 capCentreOfVolume
 
Vector3 previousCapCentreOfVolume
 
Vector3 remainderCentreOfVolume
 
Vector3 previousRemainderCentreOfVolume
 
Vector3 capVolumeVelocityDirection
 
Vector3 remainderVolumeVelocityDirection
 
bool capIsInsideFluid
 
bool capWasColliderFluid
 
Vector3 fluidCentre
 
Vector3 objectGravity
 
Vector3 capForce
 
Vector3 capBuoyantForce
 
Vector3 capDragForce
 
Vector3 capMoment
 
Vector3 remainderForce
 
Vector3 remainderBuoyantForce
 
Vector3 remainderDragForce
 
Vector3 remainderMoment
 
Vector3 objectPointOnEllipsoid1
 
Vector3 objectPointOnEllipsoid2
 
Vector3 objectPenetrationCentre
 
Vector3 objectCollisionOrthogonal
 
Vector3 objectAxisAlignedCollisionNormal
 
AeroObject aeroObject
 

Detailed Description

Uses the point of intersection between the fluid and this game object's collider - provided by Unity's physics.

The point of intersection is used to split the ellipsoid body into two sections when the object is partially submerged in a fluid zone, e.g. when floating on water. If the object is completely submerged then the volume of the ellipsoid is used to determine the buoyant force acting on the object.

Member Function Documentation

◆ GetAerodynamicLoad()

AerodynamicLoad AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.GetAerodynamicLoad ( AeroObject  ao)

Compute the aerodynamic load acting on the aerodynamic object.

Parameters
aoThe aerodynamic object we want to compute the aerodynamic load for.
Returns
The resulting aerodynamic load.

Implements AerodynamicObjects.Aerodynamics.IAerodynamicModel.

◆ UpdateDimensionValues()

void AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.UpdateDimensionValues ( AeroObject  ao)

Calculate and store any values which only depend on the object's dimensions.

This reduces overhead for objects whose dimensions don't change often.

Parameters
aoThe aero object we are using for calculations.

Implements AerodynamicObjects.Aerodynamics.IAerodynamicModel.

Member Data Documentation

◆ aeroObject

AeroObject AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.aeroObject

◆ capBuoyantForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capBuoyantForce

◆ capCentreOfVolume

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capCentreOfVolume

◆ capDragForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capDragForce

◆ capForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capForce

◆ capHeight

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capHeight

◆ capIsInsideFluid

bool AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capIsInsideFluid

◆ capMoment

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capMoment

◆ capVolume

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capVolume

◆ capVolumeRate

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capVolumeRate

◆ capVolumeVelocityDirection

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capVolumeVelocityDirection

◆ capWasColliderFluid

bool AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.capWasColliderFluid

◆ collisionPenetration

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.collisionPenetration

◆ distanceFromSphereCentre

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.distanceFromSphereCentre

◆ ellipsoidDimensionProduct

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.ellipsoidDimensionProduct

◆ fluidCentre

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.fluidCentre

◆ fluidZoneDensity

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.fluidZoneDensity

◆ inBounds

bool AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.inBounds

◆ inFluid

bool AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.inFluid = false

◆ initialised

bool AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.initialised = false

◆ objectAxisAlignedCollisionNormal

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectAxisAlignedCollisionNormal

◆ objectCollisionNormal

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectCollisionNormal

◆ objectCollisionOrthogonal

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectCollisionOrthogonal

◆ objectGravity

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectGravity

◆ objectPenetrationCentre

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectPenetrationCentre

◆ objectPointOfIntersection

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectPointOfIntersection

◆ objectPointOnEllipsoid1

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectPointOnEllipsoid1

◆ objectPointOnEllipsoid2

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.objectPointOnEllipsoid2

◆ previousCapCentreOfVolume

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.previousCapCentreOfVolume

◆ previousCapVolume

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.previousCapVolume

◆ previousRemainderCentreOfVolume

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.previousRemainderCentreOfVolume

◆ previousRemainderVolume

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.previousRemainderVolume

◆ rb

Rigidbody AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.rb

◆ remainderBuoyantForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderBuoyantForce

◆ remainderCentreOfVolume

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderCentreOfVolume

◆ remainderDragForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderDragForce

◆ remainderForce

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderForce

◆ remainderMoment

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderMoment

◆ remainderVolume

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderVolume

◆ remainderVolumeRate

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderVolumeRate

◆ remainderVolumeVelocityDirection

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.remainderVolumeVelocityDirection

◆ scaleFromSphere

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.scaleFromSphere

◆ scaleToSphere

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.scaleToSphere

◆ sphereDiameter

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.sphereDiameter

◆ sphereDiameter3

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.sphereDiameter3

◆ sphereRadius

float AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.sphereRadius

◆ sphericalPointOfIntersection

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.sphericalPointOfIntersection

◆ thisCollider

Collider AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.thisCollider

◆ worldCollisionNormal

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.worldCollisionNormal

◆ worldPointOfIntersection

Vector3 AerodynamicObjects.Aerodynamics.AdvancedBuoyancyModel.worldPointOfIntersection

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