Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Data Fields | Private Member Functions | Private Attributes
RoR::Buoyance Class Reference

#include <Buoyance.h>

Public Types

enum  { BUOY_NORMAL , BUOY_DRAGONLY , BUOY_DRAGLESS }
 

Public Member Functions

 Buoyance (DustPool *splash, DustPool *ripple)
 
 ~Buoyance ()
 
void computeNodeForce (BuoyCachedNode *a, BuoyCachedNode *b, BuoyCachedNode *c, int type, float timeshift)
 
BuoyCachedNodeID_t cacheBuoycabNode (node_t *n)
 try adding the node to internal list (each node is only listed once).
 

Data Fields

bool sink = false
 
bool update = false
 
std::vector< BuoyCachedNodebuoy_cached_nodes
 
std::vector< BuoyCachedNodebuoy_projected_nodes
 
bool buoy_debug_view = false
 
std::vector< BuoyDebugSubCabbuoy_debug_subcabs
 
long long buoy_total_steps = 0
 
long long buoy_last_sample_steps = 0
 

Private Member Functions

float computeVolume (Vec3 o, Vec3 a, Vec3 b, Vec3 c)
 
Vec3 computePressureForceSub (Vec3 a, Vec3 b, Vec3 c, Vec3 vel, int type)
 
Vec3 computePressureForce (Vec3 a, Vec3 b, Vec3 c, Vec3 vel, int type)
 

Private Attributes

DustPoolsplashp
 
DustPoolripplep
 

Detailed Description

Definition at line 53 of file Buoyance.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
BUOY_NORMAL 
BUOY_DRAGONLY 
BUOY_DRAGLESS 

Definition at line 62 of file Buoyance.h.

Constructor & Destructor Documentation

◆ Buoyance()

Buoyance::Buoyance ( DustPool splash,
DustPool ripple 
)

Definition at line 35 of file Buoyance.cpp.

◆ ~Buoyance()

Buoyance::~Buoyance ( )

Definition at line 41 of file Buoyance.cpp.

Member Function Documentation

◆ cacheBuoycabNode()

BuoyCachedNodeID_t Buoyance::cacheBuoycabNode ( node_t n)

try adding the node to internal list (each node is only listed once).

Returns
new or existing cached node ID.

Definition at line 45 of file Buoyance.cpp.

◆ computeNodeForce()

void Buoyance::computeNodeForce ( BuoyCachedNode a,
BuoyCachedNode b,
BuoyCachedNode c,
int  type,
float  timeshift 
)

Definition at line 200 of file Buoyance.cpp.

◆ computePressureForce()

Vec3 Buoyance::computePressureForce ( Vec3  a,
Vec3  b,
Vec3  c,
Vec3  vel,
int  type 
)
private

Definition at line 146 of file Buoyance.cpp.

◆ computePressureForceSub()

Vec3 Buoyance::computePressureForceSub ( Vec3  a,
Vec3  b,
Vec3  c,
Vec3  vel,
int  type 
)
private

Definition at line 70 of file Buoyance.cpp.

◆ computeVolume()

float Buoyance::computeVolume ( Vec3  o,
Vec3  a,
Vec3  b,
Vec3  c 
)
inlineprivate

Definition at line 64 of file Buoyance.cpp.

Field Documentation

◆ buoy_cached_nodes

std::vector<BuoyCachedNode> RoR::Buoyance::buoy_cached_nodes

Definition at line 71 of file Buoyance.h.

◆ buoy_debug_subcabs

std::vector<BuoyDebugSubCab> RoR::Buoyance::buoy_debug_subcabs

Definition at line 75 of file Buoyance.h.

◆ buoy_debug_view

bool RoR::Buoyance::buoy_debug_view = false

Definition at line 74 of file Buoyance.h.

◆ buoy_last_sample_steps

long long RoR::Buoyance::buoy_last_sample_steps = 0

Definition at line 77 of file Buoyance.h.

◆ buoy_projected_nodes

std::vector<BuoyCachedNode> RoR::Buoyance::buoy_projected_nodes

Definition at line 72 of file Buoyance.h.

◆ buoy_total_steps

long long RoR::Buoyance::buoy_total_steps = 0

Definition at line 76 of file Buoyance.h.

◆ ripplep

DustPool * RoR::Buoyance::ripplep
private

Definition at line 90 of file Buoyance.h.

◆ sink

bool RoR::Buoyance::sink = false

Definition at line 64 of file Buoyance.h.

◆ splashp

DustPool* RoR::Buoyance::splashp
private

Definition at line 90 of file Buoyance.h.

◆ update

bool RoR::Buoyance::update = false

Definition at line 65 of file Buoyance.h.


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