279abdd723
This commit significantly expands the patient simulation by adding models for the full digestive and urinary systems, as well as the spleen and spinal cord. This builds on the polymorphic organ framework by adding 9 new organ classes: - Kidneys - Bladder - Stomach - Intestines - Gallbladder - Pancreas - Esophagus - Spleen - SpinalCord Each new organ has its own header, a source file with simplified simulation logic for its unique physiological properties, and is integrated into the main patient model and simulation loop. The build system and example application have been updated to include and demonstrate this new, more comprehensive set of organs.
36 lines
864 B
C++
36 lines
864 B
C++
#pragma once
|
|
|
|
#include "Organ.h"
|
|
|
|
/**
|
|
* @brief Represents the Brain organ.
|
|
*/
|
|
class MEDICAL_LIB_API Brain : public Organ {
|
|
public:
|
|
/**
|
|
* @brief Constructor for the Brain class.
|
|
* @param id The ID of the organ.
|
|
*/
|
|
Brain(int id);
|
|
|
|
/**
|
|
* @brief Updates the brain's state over time.
|
|
* @param deltaTime_s The time elapsed in seconds.
|
|
*/
|
|
void update(double deltaTime_s) override;
|
|
|
|
/**
|
|
* @brief Gets a string summary of the brain's vitals.
|
|
* @return A string containing the brain's vital signs.
|
|
*/
|
|
std::string getSummary() const override;
|
|
|
|
// Specific getters for Brain properties
|
|
double getConsciousnessLevel() const; // A simplified scale, e.g., 0.0 to 1.0
|
|
double getCerebralBloodFlow() const; // in ml/100g/min
|
|
|
|
private:
|
|
double consciousnessLevel;
|
|
double cerebralBloodFlow;
|
|
};
|