15 #include <biogears/cdm/CommonDataModel.h>
19 CDM_BIND_DECL(CompartmentData)
24 class SEGasCompartment;
25 class SELiquidCompartment;
26 class SEThermalCompartment;
27 class SETissueCompartment;
29 class SECircuitManager;
48 virtual std::string GetName()
const;
49 virtual const char* GetName_cStr()
const;
51 virtual const SEScalar* GetScalar(
const char* name) = 0;
52 virtual const SEScalar* GetScalar(
const std::string& name) = 0;
54 virtual bool HasChildren()
const = 0;
56 virtual void StateChange() = 0;
62 template <
typename CompartmentType>
63 static void FindLeaves(CompartmentType& cmpt, std::vector<CompartmentType*>& leaves)
65 for (CompartmentType* child : cmpt.GetChildren()) {
66 if (!child->HasChildren())
67 leaves.push_back(child);
69 FindLeaves(*child, leaves);
Definition: SEScalar.h:33
Class corresponding to the CompartmentData schema type.
Definition: Compartment.hxx:858
std::string m_Name
Definition: SECompartment.h:59
Definition: SECompartment.h:31
static void FindLeaves(CompartmentType &cmpt, std::vector< CompartmentType * > &leaves)
Definition: SECompartment.h:63
Definition: SEElectricalCircuit.h:18
Definition: SECircuitManager.h:53