SEThermalBlackBox.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/blackbox/SEBlackBox.h"
6#include "cdm/circuit/thermal/SEThermalCircuitPath.h"
7#include "cdm/compartment/thermal/SEThermalCompartment.h"
8#include "cdm/compartment/thermal/SEThermalCompartmentLink.h"
9
10class CDM_DECL SEThermalBlackBox : public SEBlackBox<THERMAL_BLACK_BOX>
11{
12 friend class SEBlackBoxManager;
13 friend class CommonDataModelTest;
14protected:
15 SEThermalBlackBox(const std::string& name, Logger* logger);
16public:
17 virtual ~SEThermalBlackBox();
18
19protected:
20 // Graph Elements
21 virtual bool HasCompartment() const { return m_Compartment != nullptr; }
22 virtual SEThermalCompartment* GetCompartment() const { return m_Compartment; }
23 virtual void SetCompartment(SEThermalCompartment* c) { m_Compartment = c; }
24
25 virtual bool HasSourceCompartment() const { return m_srcCompartment != nullptr; }
26 virtual SEThermalCompartment* GetSourceCompartment() const { return m_srcCompartment; }
27 virtual void SetSourceCompartment(SEThermalCompartment* c) { m_srcCompartment = c; }
28
29 virtual bool HasTargetCompartment() const { return m_tgtCompartment != nullptr; }
30 virtual SEThermalCompartment* GetTargetCompartment() const { return m_tgtCompartment; }
31 virtual void SetTargetCompartment(SEThermalCompartment* c) { m_tgtCompartment = c; }
32
33 virtual bool HasSourceLink() const { return m_srcLink != nullptr; }
34 virtual SEThermalCompartmentLink* GetSourceLink() const { return m_srcLink; }
35 virtual void SetSourceLink(SEThermalCompartmentLink* l) { m_srcLink = l; }
36
37 virtual bool HasTargetLink() const { return m_tgtLink != nullptr; }
38 virtual SEThermalCompartmentLink* GetTargetLink() const { return m_tgtLink; }
39 virtual void SetTargetLink(SEThermalCompartmentLink* l) { m_tgtLink = l; }
40
41protected:
42 // Graph Elements
43 SEThermalCompartment* m_Compartment = nullptr;
44 SEThermalCompartment* m_srcCompartment = nullptr;
45 SEThermalCompartment* m_tgtCompartment = nullptr;
46 SEThermalCompartmentLink* m_srcLink = nullptr;
47 SEThermalCompartmentLink* m_tgtLink = nullptr;
48};
Definition: CommonDataModelTest.h:26
Definition: Logger.h:71
Definition: SEBlackBox.h:42
Definition: SEBlackBoxManager.h:11
Definition: SEThermalBlackBox.h:11
virtual SEThermalCompartment * GetSourceCompartment() const
Definition: SEThermalBlackBox.h:26
virtual void SetTargetLink(SEThermalCompartmentLink *l)
Definition: SEThermalBlackBox.h:39
virtual void SetSourceLink(SEThermalCompartmentLink *l)
Definition: SEThermalBlackBox.h:35
virtual bool HasCompartment() const
Definition: SEThermalBlackBox.h:21
virtual SEThermalCompartment * GetCompartment() const
Definition: SEThermalBlackBox.h:22
virtual void SetSourceCompartment(SEThermalCompartment *c)
Definition: SEThermalBlackBox.h:27
virtual SEThermalCompartmentLink * GetTargetLink() const
Definition: SEThermalBlackBox.h:38
virtual bool HasTargetLink() const
Definition: SEThermalBlackBox.h:37
virtual SEThermalCompartment * GetTargetCompartment() const
Definition: SEThermalBlackBox.h:30
virtual bool HasSourceCompartment() const
Definition: SEThermalBlackBox.h:25
virtual bool HasSourceLink() const
Definition: SEThermalBlackBox.h:33
virtual SEThermalCompartmentLink * GetSourceLink() const
Definition: SEThermalBlackBox.h:34
virtual void SetCompartment(SEThermalCompartment *c)
Definition: SEThermalBlackBox.h:23
virtual void SetTargetCompartment(SEThermalCompartment *c)
Definition: SEThermalBlackBox.h:31
virtual bool HasTargetCompartment() const
Definition: SEThermalBlackBox.h:29
Definition: SEThermalCompartment.h:12

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.